Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемОлег Титухин
1 Павел Светличный Senior iOS Developer Svitla Systems Киев, Построение кластера на базе Apache CouchDB
2 Содержание 1. Обзор существующих NoSQL решений. CAP-теорема как основание для выбора БД. 2. Особенности БД Apache CouchDB 3. Механизм MapReduce 4. Установка и настройка CouchDB 5. Установка и настройка Nginx 6. Создание общей базы данных 7. Настройка автоматической репликации между нодами 8. Обзор возможностей Couchbase Lite для мобильной платформы iOS. 9. Демонстрация работы iOS приложения с созданным кластером.
3 1. CAP теорема C – Consistency (Согласованность) A – Availability (Доступность) P – Partition Tolerance (Устойчивость) A CP (Теорема Брюэра) Традиционные РБД: Postgres, MySQL, и т.д. Vertica Aster Data Greenplum BigTable, Hypertable, HBase, MongoDB, Terrastore, Redis, Scalaris, MemcacheDB, Berkeley DB Dynamo Voldemort Tokyo Cabinet KAI Cassandra CouchDB SimpleDB Riak
4 2. Особенности БД Apache ChouchDB Язык: Erlang Основное назначение: Согласованность БД, легкость в применении Лицензия: Apache Протокол: HTTP/REST HTTP/REST
5 Двунаправленная репликация (разовая или постоянная) с определением конфликтов, что позволяет репликацию типа master-master 2. Особенности БД Apache ChouchDB
6 MVCC – запись не блокирует чтение Контроль версий (доступны предыдущие версии)
7 Встроенная модель map/reduce 2. Особенности БД Apache ChouchDB
8 Требуется периодическая чистка (compacting) Возможность авторизации и SSL Возможность прикреплять файлы => CouchApps (отдельные приложения) 2. Особенности БД Apache ChouchDB Локальная БД Двухсторонняя репликация
9 2. Особенности БД Apache ChouchDB Использование: Для сбора, случайного изменения данных, с которыми работают подготовленные запросы. Задачи, в которых важен контроль версий. Пример: CRM, CMS. Master-Master репликации позволяют легко реализовать многосайтовую развертку. Мобильные приложения.
10 3. Map/Reduce Два шага: Map и Reduce Map: Обработка предварительных данных, разделение по узлам Reduce: Свертка выборки в готовый результат
11 3. Map/Reduce Возможность параллельных вычислений
12 4. Установка и настройка CouchDB Возможна установка на платформы: Windows, Mac OS X, Unix
13 5. Установка и настройка Nginx Nginx – Reverse Proxy ( ) Балансировка нагрузки Запрос к БД Пользователь видит кластер как одну цельную БД
14 5. Установка и настройка Nginx Поддерживаемые платформы
15 5. Установка и настройка Nginx Конфигурационный файл nginx.conf upstream couchdb_cluster { server :5984; server :5984; server :5984; } server { listen 80; server_name couchdb; location / { add_header 'Access-Control-Allow-Origin' '*'; proxy_pass proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } Список серверов CouchDB для балансировки нагрузки Сервер работает на стандартном порту HTTP Адрес кластера для балансировки
16 6. Создание общей базы данных
17 7. Настройка автоматической репликации между нодами Адрес удаленной БД в формате: : /
18 7. Настройка автоматической репликации между нодами POST /_replicate HTTP/1.1 {"source":newdatabase","target":" newdatabase"} Настройка простой репликации БД при помощи POST запроса Настройка продолжительной репликации БД с авторизацией POST /_replicate HTTP/1.1 {"source":" "continuous":true}
19 8. Обзор возможностей Couchbase Lite для мобильной платформы iOS
20 8. Обзор возможностей Couchbase Lite для мобильной платформы iOS Совместимость с CouchDB: Репликации API Поддержка контроля версий Готовый SDK Особенности: Использование SQLite в качестве движка БД Нет поддержки работы с пользователями БД CouchDB
21 Спасибо за внимание!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.