1.NoSQL
Базы данных NoSQL не являются табличными базами данных и хранят данные иначе, чем реляционные таблицы.
1.1 Особенности NoSQL
● Нереляционный (в основном), без схемы.
● Распределенный.
● Горизонтальное масштабирование.
● Простота репликации.
● В конечном итоге последовательно.
● Открытый исходный код (в основном).
● Нет поддержки транзакций.
1.2 Причины использования NoSQL
● Реляционные базы данных не предназначены для эффективной работы в кластерах.
● Легко масштабируется
● Распределенный (базы данных SQL зависят от местоположения)
● Избыточность и нулевое время простоя
1.3 Теорема CAP
Непротиворечивость: каждое чтение получает самую последнюю запись или ошибку
Доступность: каждый запрос получает ответ (без ошибок), без гарантии того, что он содержит самую последнюю запись.
Устойчивость к разделению: система продолжает работать, несмотря на произвольное количество сообщений, отброшенных (или задержанных) сетью между узлами.
1.4 Типы баз данных NoSql.
●Key-Value — сохраняет данные в виде пар ключ-значение.
●Документ — сохраняет данные в виде документов (JSON, BSON, XML) в картах или коллекциях.
● Семейство столбцов — храните данные в семействах столбцов в виде строк, с которыми связано много столбцов.
●График — сохраняет объекты (узлы) и отношения (ребра) между ними и представляет их на графике.
1.5 База данных MongoDB
MongoDB — это доступная в исходном коде кросс-платформенная документо-ориентированная программа базы данных. Классифицируется как программа базы данных NoSQL. Использует движок JavaScript SpiderMonkey.
Запросы MongoDB.
● Вставить — вставляет документ или документы в коллекцию.
● Find — метод find() возвращает курсор к результатам.
● Обновить — изменяет существующий документ или документы в коллекции.
●Remove-remove() удаляет все документы, соответствующие выражению запроса.
2. REST API
API — это коммуникационный интерфейс между двумя программами или веб-сайтами.
Они используются для обмена информацией и услугами и доступны в различных формах и видах.
REST (Representational State Transfer) определяет общие принципы представления данных и служб через API, чтобы другие программы могли надлежащим образом запрашивать и получать данные и службы, предоставляемые API.
2.1 Преимущества REST API
1-Мы можем начать процесс тестирования РАНЬШЕ, и чем больше недостатков мы обнаружим на уровне API, тем меньше ошибок мы заметим в пользовательском интерфейсе.
API приложения создается до пользовательского интерфейса.
2. Тесты API предоставляют тесты с высокой степенью интеграции, что особенно полезно, если вы хотите запустить функциональные тесты графического интерфейса после тестирования API.
3-Данные передаются через XML или JSON при тестировании API.
4- Экономия времени: тестирование API часто занимает меньше времени, чем тестирование функционального графического интерфейса.
2.2. Рекомендации.
Rest API должен принимать и отвечать в формате JSON
Перейти с кодами состояния ошибки
Не использовать глаголы в URL-адресах
Использовать существительные во множественном числе для названия коллекции
Возвращать сведения об ошибке в тексте ответа