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-адресах
Использовать существительные во множественном числе для названия коллекции
Возвращать сведения об ошибке в тексте ответа