DMDEV_TALKS Telegram 297
Почему исторически пришли к использованию нескольких баз данных на одном проекте?

Лет 10 назад (а может уже и больше) я написал довольно сложный SQL запрос, который ежедневно вытягивал информацию заказчику об израсходованных пользователями ресурсах. Сам запрос отрабатывал просто замечательно, пока данных не перевалило за 50M. Последующий тюнинг запроса и создание индексов хоть и улучшили ситуацию, но лишь отложили неминуемую проблему.

И уже тогда я задавался вопросом - неужели нельзя как-то иначе структурировать данные в СУБД, чтобы можно было и правильно хранить, соблюдая первые нормальные формы, и читать их также эффективно.

Как оказалось - нельзя 🙂

Это все равно, что решить две диаметрально противоположные проблемы на чтение и запись данных - одним и тем же способом.


Поэтому решение, к которому мы тогда пришли и которое сейчас уже повсеместно встречается везде (и которое кажется абсолютно логичным, но не тогда казалось нам!) - это использование нескольких СУБД. Но как и любое другое решение, оно имеет свои плюсы и минус - и это надо помнить.

Например:
- одна для обработки live данных пользователей
- вторая для быстрого поиска по этим live данным
- третья для аналитики и отчетов

Обычно, для каждого варианта используются разные СУБД, которые выполняют свои функции лучше всего. Например, для первого кейса PostgreSQL, для второго Elasticsearch, для третьего BigQuery.

Но нужно помнить, что это вполне нормально и даже более правильно начинать с одной СУБД и только со временем добавлять другие, если в этом есть или предвидется необходимость в скором времени - YAGNI!


PS. Фото - это я решил покормить лемуров на Кипре. Но их было также много, как и баз данных сейчас у меня в Google 😅
🔥44👍184❤‍🔥4😁4



tgoop.com/dmdev_talks/297
Create:
Last Update:

Почему исторически пришли к использованию нескольких баз данных на одном проекте?

Лет 10 назад (а может уже и больше) я написал довольно сложный SQL запрос, который ежедневно вытягивал информацию заказчику об израсходованных пользователями ресурсах. Сам запрос отрабатывал просто замечательно, пока данных не перевалило за 50M. Последующий тюнинг запроса и создание индексов хоть и улучшили ситуацию, но лишь отложили неминуемую проблему.

И уже тогда я задавался вопросом - неужели нельзя как-то иначе структурировать данные в СУБД, чтобы можно было и правильно хранить, соблюдая первые нормальные формы, и читать их также эффективно.

Как оказалось - нельзя 🙂

Это все равно, что решить две диаметрально противоположные проблемы на чтение и запись данных - одним и тем же способом.


Поэтому решение, к которому мы тогда пришли и которое сейчас уже повсеместно встречается везде (и которое кажется абсолютно логичным, но не тогда казалось нам!) - это использование нескольких СУБД. Но как и любое другое решение, оно имеет свои плюсы и минус - и это надо помнить.

Например:
- одна для обработки live данных пользователей
- вторая для быстрого поиска по этим live данным
- третья для аналитики и отчетов

Обычно, для каждого варианта используются разные СУБД, которые выполняют свои функции лучше всего. Например, для первого кейса PostgreSQL, для второго Elasticsearch, для третьего BigQuery.

Но нужно помнить, что это вполне нормально и даже более правильно начинать с одной СУБД и только со временем добавлять другие, если в этом есть или предвидется необходимость в скором времени - YAGNI!


PS. Фото - это я решил покормить лемуров на Кипре. Но их было также много, как и баз данных сейчас у меня в Google 😅

BY DMdev talks




Share with your friend now:
tgoop.com/dmdev_talks/297

View MORE
Open in Telegram


Telegram News

Date: |

Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms. Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police. A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram.
from us


Telegram DMdev talks
FROM American