Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

В каких случаях NoSQL базы явно лучше Relational Databases?

#база_данных #java #nosql #sql


Вопрос простой.
В каких случаях разработчик должен смотреть на нереляционные базы?
Java, Web.    


Ответы

Ответ 1



Есть мнение, что разработчик должен смотреть на структуру данных, которые он хочет хранить. И потом, исходя из этого, уже выбирать где это будет удобнее хранить. Если все сведется к тому, что данные легко и очевидно ложатся на key-value — вот и случай, когда реляционные БД не будут нужны (будут избыточны). Например, если все что надо держать в БД — текущие прогнозы погоды по городам или сессию со списком-историей последних просмотренных, ходящим по видеохостингу пользователем, клипов, то что-то типа memcached или Redis будет вероятно близко к оптимальному решению. Обратный подход (есть БД, нужно запихать в нее определенных данные) имеет смысл если речь идет о уже имеющейся инфраструктуре. Там неудобства разработки компенсируются неудобством введения и обслуживания новых элементов (еще одной БД) в уже имеющуюся инфраструктуру.

Ответ 2



Вопрос сложнее, чем кажется. Во-первых дело архитектора смотреть в сторону архитектуры продукта. Во-вторых, не нужно решать проблему раньше, чем она появилась. Единственное исключение тут это графовые БД, которые уместно применять, когда нужно хранить объекты, беспорядочно связанных друг с другом, такие как "друзья" в социальной сети, и при этом абсолютно необходимо регулярно делать по этой структуре неординарный поиск, как, например, регулярный анализ по теории 6ти рукопожатий.

Комментариев нет:

Отправить комментарий