Подтвердить что ты не робот

Почему именно мы используем NoSQL?

Поняв некоторые преимущества, которые предлагает NoSQL (масштабируемость, доступность и т.д.), я все еще не понимаю, почему веб-сайт захочет использовать нереляционную базу данных. Могу ли я получить некоторую помощь по этому поводу, желательно с примером?

4b9b3361

Ответ 1

Лучшая производительность

Базы данных NoSQL иногда имеют лучшую производительность, хотя это зависит от ситуации и оспаривается.

Адаптивность

Вы можете добавлять и удалять "столбцы" без простоя. На большинстве SQL-серверов это занимает много времени и занимает нагрузку.

Конструкция приложения

Желательно отделить хранилище данных от логики. Если вы присоединяетесь и выбираете вещи в SQL-запросах, вы смешиваете бизнес-логику с хранилищем.

Ответ 2

Нет баз данных NoSQL для решения нескольких задач, главным образом:

  • (buzz) BigData​​strong >= > подумайте о TB, PB и т.д.

  • Работа с распределенными системами/datasets = > говорит, что у вас есть 42 продукта, поэтому 13 из них будут жить в чикагском центре обработки данных, 21 в Нью-Йорке, а другой и 8 в Японии, но один раз вы запрашиваете все 42 продукта, вам не нужно будет знать, где они находятся: NoSQL DB. Это также позволяет задействовать намного больше мощности мозга (серверов) для решения сложных вычислительных задач [кажется, это не подойдет вашему варианту использования, но интересно отметить)

  • Разделение = > с тем, чтобы ваша БД была легко распределена, кроме этих классных 8 продуктов в Японии, также позволяет легко реплицировать данные, поэтому эти 42 продукта будут тиражироваться с коэффициентом 3, например, что означало бы, что у вас будет 3 копии для каждого продукта. Следовательно, если что-то снижается, нет проблемы = > здесь доступна реплика. Это то, где базы данных NoSQL действительно сияют против RDBMS. Предоставлено, вы можете осколочно, разбивать и кластеризовать Oracle/MySQL/PostgreSQL/и т.д. НО, но это несколько более сложных процессов и, как правило, головная боль для большинства людей, которых вы использовали.

НО на ваш вопрос:

  • почему веб-сайт хотел бы использовать нереляционную базу данных

Когда большинство людей работало с /met/chatted, выберите NoSQL для своего "веб-сайта", к сожалению, НЕ по причинам выше, а просто потому, что он COOLER для этого. И на самом деле у многих проектов FAIL/есть экстремальные трудности по этой причине.

Если большинство гуру NoSQL убирают маски, все согласны с тем, что большинство проблем (или, как их называют люди websites), которые разработчики ежедневно решают, могут и, скорее, быть решены с помощью SQL-решения, такое как PostgreSQL, MySQL и т.д. с некоторым прохладным слоем Redis cache поверх него. И только небольшое подмножество проблем ДЕЙСТВИТЕЛЬНО выиграет от NoSQL.

Я лично люблю Riak, так как я твердо убежден в том, что NoSQL, отказоустойчивая БД должна иметь чрезвычайно сильный, гибкий и естественно распределенный фундамент = > , такой как Erlang OTP. Плюс я поклонник простоты. Но опять же, учитывая эту проблему, я бы выбрал все, что работает лучше всего, и большую часть времени мне будет нужно, чтобы последовательность (особенно, если мы говорим о деньгах/финансовый мир/критическая миссия/и т.д.).

Ответ 3

Основной причиной не использования базы данных SQL является масштабируемость. Транзакционные гарантии и реляционная модель делают практически невозможным масштабирование базы данных с пользой более чем на нескольких машинах, особенно с учетом загрузочных нагрузок, создаваемых современными веб-приложениями.

Приложение, подобное Facebook, не может быть создано для работы с простой базой данных SQL, за исключением массивного разбиения на разделы и строгания, что требует значительных корректировок в логике приложения. Вот почему Facebook разработал Кассандру.

NoSQL в основном означает, что вы обойдетесь без каких-либо типичных для SQL функций, таких как немедленная согласованность или простое соединение, в обмен на возможность использования базы данных, которая масштабируется намного лучше.

И наоборот, нет смысла использовать NoSQL, если на вашем веб-сайте никогда не было более десятка одновременных пользователей (что верно для подавляющего большинства сайтов).

Ответ 4

Нам нужно понять, какова ваша проблема в текущем приложении?

  • Сделки
  • Количество данных
  • Структура данных

NoSQL решает проблемы масштабируемости и доступности по сравнению с атомарностью или согласованностью.

Основные приводят нас к теореме CAP. Eric Brewer также отметил, что из трех свойств систем с общими данными - согласованность, доступность и толерантность к сетевым разделам - только два могут быть достигнуты в любой данный момент времени. (Теорема CAP)

enter image description here

Подход NOSQL

  • Отображение данных схемы:
    • Большинство из них предлагают представление схемных данных и позволяют хранить полуструктурированные данные.
    • Может продолжать развиваться с течением времени, включая добавление новых полей или даже вложенность данных, например, в случае представления JSON.
  • Время разработки:
    • Нет сложных SQL-запросов.
    • Нет операторов JOIN.
  • Скорость:
    • Очень высокая скорость доставки и в основном встроенное кэширование уровня сущности
  • Планируйте заранее масштабируемость:
    • Предотвращение переделки

Ответ 7

Вот техническая беседа о причинах использования разных баз данных NoSQL и сопоставлений между различными типами баз данных NoSQL: NoSQL tech tech.

Ответ 8

Использовать RDBMS или NoSQL, зависит от вашей цели и масштаба сайта, который вы строите. Базы данных NoSQL можно разделить на четыре различные категории: хранилище ключей, хранилище документов, базу данных столбцов и базу данных диаграмм. Каждый тип системы управления базами данных подходит для конкретного сценария использования.

Простое небольшое приложение или веб-сайт

RDBMS - лучший кандидат. Это зрелая система с тоннами поддержки, доступной в Интернете. Данные организованы логически, поэтому их довольно легко изучить по сравнению с некоторыми другими типами баз данных. Независимо от того, какую технологию RDBMS вы выбрали, ядро ​​синтаксиса SQL и лучшие практики будут применимы к любому.

Ожидается, что структура данных будет часто меняться

Таблицы RDBMS имеют четко определенную и строгую схему, поэтому их может не очень легко изменить, если возникнет требование сделать это. Таким образом, безрезультатная база данных NoSQL - лучший выбор технологий.

Крупномасштабная система, которая генерирует много данных

Хранилище документов База данных NoSQL наиболее подходит здесь, поскольку системы РСУБД в основном не предназначены для легкой масштабирования.

Система управления учетными записями или платежами

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

Бизнес-аналитика

Если вы намерены запускать сложную аналитику, RDBMS - лучший выбор платформы, поскольку она позволяет очень логично организовать хранение данных и является лучшим типом базы данных для выполнения сложных запросов. Если аналитика должна быть простой (например, сколько клиентов потратили больше определенной суммы), то столбчатая база данных будет лучшим выбором, так как вы сможете сканировать отдельный столбец в таблице без выполнения полного сканирования таблицы.

Социальная сеть

Графическая база данных лучше всего подходит для создания основной части социальной сети, поскольку этот тип базы данных уже хранит данные в сетевой форме. Оба узла (например, профили пользователей) и графики (например, отношения) рассматриваются как типы сущностей, поэтому данные отношения будут отделены от данных профиля пользователя.

Для функций обмена сообщениями в социальной сети хранилище документов является лучшим решением, так как каждый разговор и последующие ответы могут быть сохранены в документе с логической последовательной структурой.

Обнаружение мошенничества

Графическая база данных - лучший выбор технологий здесь.

Многопользовательская игра

Хранилище ключей для хранения состояния проигрывателя.

Веб-сайт электронной коммерции

Хранилище ключей для корзины покупок. Хранилище документов для продуктов, которые будут отображаться на веб-сайте. RDBMS для обработки платежей. График базы данных для механизма рекомендаций.

Для получения более подробной информации вы можете посетить эту страницу:

Когда NoSQL лучше выбора, чем RDBMS, а когда он не

Ответ 9

Существует множество типов баз данных NoSQL. Веб-приложения используют базы данных на основе документов. Документ db позволяет нам хранить JSON, XML, YAML и даже документы Word и манипулировать ими. Таким образом, NoSQL является очевидным выбором, особенно MongoDB, который является базой данных документов, которая поддерживает формат JSON по умолчанию, является наиболее предпочтительным выбором разработчиков и дизайнеров.

Ответ 10

Хотя я могу видеть много ответов здесь, я чувствую, что могу добавить что-то четкое и точно. Некоторые простые примеры, которые гарантируют использование NoSQL, изображаются с использованием этих фотографий. Мне не разрешено публиковать фотографии, так как мне не хватает очков, которые бы разблокировали эту функцию для меня, поэтому см. Ссылки:

Добавлены дополнительные столбцы

Использование JSON для упрощения разработки