SQL или NoSQL- какую базу данных выбрать?
Между базами данных SQL и NoSQL есть некоторые различия, и у каждого есть свои варианты использования.
Давайте сначала начнем с баз данных SQL, язык SQL использует язык структурированных запросов для вставки / обновления / удаления и чтения данных из базы данных. Ваши данные хранятся в таблицах, вы также управляете этими таблицами при помощи команд SQL. Другой отличительной особенностью баз данных SQL (называемых также реляционными базами данных) является то, что у вас есть предопределенные свойства для каждого объекта данных. На самом деле в базах данных SQL нет объектов, данные каждого объекта хранятся в виде строк внутри таблицы. Как вы видите в реальных таблицах - эти таблицы имеют ограниченное количество полей, которые. Каждый столбец в таблице соответствует 1 полю.
Кроме того, это называется реляционными базами данных, потому что вы храните данные в таблицах, и эти таблицы могут быть связаны друг с другом, например, если у вас есть таблица «экзаменов» и у вас есть другая таблица «студентов» ... вы можете создать другую таблицу с именем «оценки» "где вы можете указать, какой учащийся (используя идентификатор студента) получил какую оценку по какому предмету. Позже вы можете использовать предложения "where" или "join" для извлечения информации из нескольких таблиц, структурированных по мере необходимости.
Когда лучше использовать базы данных SQL?
1. Когда вы начинаете программировать и вам нужна хорошо структурированная база данных.
2. Легче искать, упорядочивать по свойствам. Когда вы создаете приложение на основе поиска, это проще сделать с базой данных SQL.
3. Существует множество инструментов ORM (например, Hibernate), которые помогают вам выполнять операции с базами данных SQL, даже не записывая запросы SQL.
Итак, зачем нам базы данных NoSQL?
Для начала давайте объясним, что такое база данных NoSQL? это база данных, которая состоит из документов. Документы могут рассматриваться как строки в реляционной базе данных, но ключевое отличие в том, что они не имеют структуры. Каждый документ может иметь свои собственные свойства. Например: у вас есть база данных о животных, у некоторых животных 4 ноги, у некоторых 2 ноги. У некоторых животных есть свойства крыльев, у некоторых - руки. Вы можете вспомнить множество примеров из реальной жизни. Другой пример - контракты, каждый контракт имеет свои собственные условия, поэтому эти контракты проще хранить в базе данных NoSQL.
Поскольку у вас нет структуры в базе данных NoSQL, это означает, что у вас нет отношений между коллекциями (базы данных NoSQL не имеют таблиц). Все информационные ссылки должны быть сделаны на языке программирования, который вы используете для использования базы данных.
Когда лучше использовать базы данных NoSQL?
1. Когда вам нужна гибкость при хранении и получении данных, не думая об отношениях и схеме.
2. Когда вам нужно очень масштабируемое хранилище данных. Добавление большего количества данных в NoSQL намного проще, и вы можете масштабировать по горизонтали.
3. Когда у вас есть приложение, которое требует много чтений в секунду, как вы знаете, базы данных SQL не могут быть сохранены на нескольких серверах очень легко - но базы данных NoSQL созданы для этого.