NoSQL databases and CouchDB

Preview:

DESCRIPTION

Рассказ про нереляционные базы данных

Citation preview

ВВЕДЕНИЕ В НЕРЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ

TulaDev.NET

Павел ГрубаCodeMasters Internationalpgruba@codereign.net

Что же такое NoSQL?

• Not only SQL – а не убийца SQL• Хранилище пар Ключ-Значение• Горизонтальная масштабируемость• Отсутствие заранее разработанной

схемы хранения данных

Примеры NoSQL баз данныхПо-настоящему распределенные БД

Автоматическое распределение данных между несколькими серверами

• Cassandra• Hbase• Riak• Scalaris• Voldemort

Примеры NoSQL баз данныхНе распределенные БД

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

• CouchDB• MongoDB• Neo4j• Redis• Tokyo Cabinet

Модели данных и запросовNoSQL БД различаются моделями данных и

API запросами

Хранение данныхОрганизация хранения данных в системе

Преимущества NoSQL

• Подходят для облачных сервисовПроще, гибче, динамическое расширение

• Более естественная интеграция с кодомОбъектная модель кода не расходится с моделью хранения, можно полностью сосредоточиться на разработке бизнес модели

Недостатки NoSQL• Целостность данных на уровне БД

Контроль за целостностью данных лежит полностью на приложении

• Логическая структура БДВ системах с хорошо спроектированной моделью БД имеет хорошую логическую структуру, данные не зависят от приложения. Другое приложение сможет использовать те же самые данные.

• Ограниченная аналитика данных

Итак, CouchDB• Документоориентированная база данных• Интерфейс — исключительно HTTP,

исключительно REST• Документы хранятся в формате JSON• Incremental map/reduce• Master-to-master репликации

Recommended