#база_данных #java #nosql #sql
Вопрос простой. В каких случаях разработчик должен смотреть на нереляционные базы? Java, Web.
Ответы
Ответ 1
Есть мнение, что разработчик должен смотреть на структуру данных, которые он хочет хранить. И потом, исходя из этого, уже выбирать где это будет удобнее хранить. Если все сведется к тому, что данные легко и очевидно ложатся на key-value — вот и случай, когда реляционные БД не будут нужны (будут избыточны). Например, если все что надо держать в БД — текущие прогнозы погоды по городам или сессию со списком-историей последних просмотренных, ходящим по видеохостингу пользователем, клипов, то что-то типа memcached или Redis будет вероятно близко к оптимальному решению. Обратный подход (есть БД, нужно запихать в нее определенных данные) имеет смысл если речь идет о уже имеющейся инфраструктуре. Там неудобства разработки компенсируются неудобством введения и обслуживания новых элементов (еще одной БД) в уже имеющуюся инфраструктуру.Ответ 2
Вопрос сложнее, чем кажется. Во-первых дело архитектора смотреть в сторону архитектуры продукта. Во-вторых, не нужно решать проблему раньше, чем она появилась. Единственное исключение тут это графовые БД, которые уместно применять, когда нужно хранить объекты, беспорядочно связанных друг с другом, такие как "друзья" в социальной сети, и при этом абсолютно необходимо регулярно делать по этой структуре неординарный поиск, как, например, регулярный анализ по теории 6ти рукопожатий.
Комментариев нет:
Отправить комментарий