besogonskiy
@besogonskiy
работаю php laravel разработчиком.

По какому принципу правильно синхронизировать данные (репликация базы)?

Здравствуйте! Подскажите пожалуйста

Мы собираемся выносить на отдельный сервер один сервис из основного проекта, который бы считывал со сторонних api данные о ценах товаров и обновлял эти цены. При этом основной проект будет находиться на другом сервере, но база у них общая.

Или как это лучше сделать? Суть в том, что есть таблица product_prices и в ней поля product_id, price_id, currency_id, price_in_cuttency.

И вот эту таблицу нужно постоянно обновлять. но учитывая что отваров более 100 000 поштучно это делать как то не очень удобно. и встает вопрос как это лучше всего организовать? Слыша что есть такое понятие как репликация баз данных, которая занимает секунды?

Может на сервере где есть этот сервис завести тоже таблицу подобной структуры, в нее апдейтить цены а потом какой то хитрой методикой синхронизировать ее с основной базой?

Но как быть с тем что в основной базе есть товары, которых нет в текущей порции данных? чтоб только частично базы синхронизировались по полю product_id к примеру?

И еще вопрос. На какой языке программирование лучше это делать чтоб выиграть в скорости? У нас на основном проекте язык php фреймворк Laravel. А сервис при этом может быть ведь на другом языке программирования. Нам важна стабильность и скорость. Умение работать с mysql и читать xml и другие форматы.
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
И вот эту таблицу нужно постоянно обновлять. но учитывая что отваров более 100 000 поштучно это делать как то не очень удобно.
Постоянно - это сколько? И почему не удобно?

Слыша что есть такое понятие как репликация баз данных, которая занимает секунды?
Слышали звон, но не потрудились даже загуглить что это. ок, гуглим за вас... TL;DR - реплика это не то что вы подумали, и к скорости обновления данных имеет весьма опосредованное значение.

Может на сервере где есть этот сервис завести тоже таблицу подобной структуры, в нее апдейтить цены а потом какой то хитрой методикой синхронизировать ее с основной базой? Но как быть с тем что в основной базе есть товары, которых нет в текущей порции данных? чтоб только частично базы синхронизировались по полю product_id к примеру?
И вот тут чтение про репликацию приобретает некоторый смысл... Но опять же, есть куча нюансов...

И еще вопрос. На какой языке программирование лучше это делать чтоб выиграть в скорости?
На любом, пхп+лара вполне норм. У вас в этом вопросе на самом деле 2 косяка по хотелкам:
первое - преждевременная оптимизация, так как судя по тому что никаких данных по томозам сервиса вы не привели, и скорее всего все работает нормально и так, а решения об оптимизации больше "стратегическое думанье в грядущее",
и второе - язык в любом конкретном случае выбирается по многим параметрам, но практически никогда по быстродействию. В 99% случаев расчеты на практически любом ЯП будут в разы быстрее, нежели операции с бд. Узким местом практически всегда будут сложные объемные выборки из бд, в то время как ЯП будет производить достаточно простые преобразования над ними (ну, если не рукопопы будут писать запросы и код).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы