Многие люди написали сравнительные статьи о дебатах по SQL / NoSQL. Однако, когда вы захотите начать новый проект, вы можете мысленно пройти через дебаты снова и снова. Потому что, как говорится, «разные штрихи для разных людей». На самом деле лучшего выбора у них нет. Выбор системы управления базами данных для использования зависит от конкретного проекта. В этой статье я пытаюсь проанализировать различия между базами данных SQL и NoSQL, чтобы увидеть, какая из них лучше подходит для School Portal.

МОЙ МЕТОД

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

ТРЕБОВАНИЯ К ШКОЛЬНОМУ ПОРТАЛУ

  1. Масштабируемость

Хотя вы, возможно, не создадите следующий facebook, портал должен справиться с быстрым увеличением количества школьных отделений или взрывом учеников. Все мы молимся о Божественном умножении. А мы?

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

NoSQL - хорошо масштабируется. Горизонтальное масштабирование. Поддерживает шардинг.

Победитель - NoSQL

2. Сложные запросы

Выбранная СУБД должна быть способна обрабатывать сложные запросы из нескольких таблиц. Например: «Дайте мне список всех студентов, получивших пятёрку по математике в последнем семестре и у которых посещаемость занятий превышает 80%. Нам нужно прислать их имена для участия в конкурсе Cowbell Maths ». Этот запрос, приведенный выше, скорее всего, будет включать соединение между оценками и таблицами посещаемости.

SQL - отлично подходит для соединений и сложных запросов.

NoSQL - не так хорош со сложными запросами

Победитель - SQL

3. Структурированные данные

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

SQL - ценит фиксированную схему

NoSQL - поддерживает динамическую схему

Победитель - SQL (более простое решение)

4. Поддержка сообщества

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

SQL - отличная поддержка. Существует уже много лет

NoSQL - поддержка Budding. Не так много экспертов по базам данных, как их коллеги по SQL, но будущее выглядит светлым.

Победитель - SQL (с небольшим отрывом. Лол!)

5. Высокий параллелизм

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

SQL - не очень хорошо.

NoSQL - создан для этого.

Победитель - NoSQL

ЗАКЛЮЧЕНИЕ

Говорят, что необходимость - мать изобретения. Стремление к более надежной базе данных для управления большими, растущими данными побудило такие компании, как Amazon, и сообщества с открытым исходным кодом изобрести базы данных NoSQL. Следовательно, базы данных NoSQL, как правило, ярко проявляют себя в этих сценариях: большие данные, динамическая схема, распределенное хранилище. Однако, если вы не планируете в любое время превратить свой школьный портал в следующий facebook, СУБД SQL вполне может достичь вашей цели.

PS: Как вы думаете, какую необходимую область сравнения я упустил? Вы согласны (или не согласны ;-)) с моим анализом? Дайте мне знать в разделе комментариев.

* Изображение предоставлено: https://freshdesignweb.com/