Павел Светличный Senior iOS Developer Svitla Systems Киев, 25.04.2014 Построение кластера на базе Apache CouchDB.

Презентация:



Advertisements
Похожие презентации
Всеволод Дёмкин Новые нереляционные системы хранения данных.
Advertisements

Докладчик – Альперин Борис NOT ONLY SQL NOSQL 1. Различные модели представления информации: иерархическая, сетевая, реляционная, объектная, … Реляционная.
BigData изнутри: технологии и алгоритмы Александр Сербул руководитель направления, разработчик Партнерская конференция «1С-Битрикс»
О разработке приложений для разных мобильных платформ Виктор Кузьмин Руководитель разработки компании AlterGeo О разработке приложений для разных мобильных.
Построение системного ландшафта для высоко нагруженного проекта ООО «Ленвендо-Софт» Гаврилов Виталий Технический директор тел.: +7 (812)
Антивирус Касперского для MS ISA Server 2004/2006 Enterprise Edition Обзор продукта.
Веб-кластер, планы по развитию, распределенный веб-кластер Максим Смирнов ведущий разработчик.
Hadoop Лекция 1. Введение в Hadoop и MapReduce. Что такое Hadoop Инфраструктура (framework) для параллельной обработки больших объемов данных (терабайты)
Винников Олег. NET Developer. Почему NoSQL Особенности NoSQL решений Модели данных NoSQL Масштабирование MongoDB.
Платформа разработки высоконагруженного веб-сервиса: инструменты отладки и возможности масштабирования Александр Демидов руководитель направления арендных.
СЛУЖБЫ СОЕДИНЕНИЙ Лекция # 2. Виды серверов Web Mail DB Proxy DHCP DNS Котроллер домена Сервер глобального каталога.
Сервисы сетевых операционных систем : web- сервер Seti.ucoz.ru.
УПРАВЛЕНИЕ РАБОТОЙ ПОДСИСТЕМЫ «ВЕДЕНИЯ». Управление работой подсистемы «Ведения», в основном, сводится к следующему: Основные возможности управление доступом.
Большой Drupal Клера Виленская. Производительность на одном сервере 99 пользователей: 80% аутентифицированных 30% добавляют контент зарегистрировано 1000.
WebMonitor План Установка Установка на кластеры и NLB Лицензирование Работа продукта Процесс обновления Решение общих проблем.
Распределенные и параллельные вычисления на MS SQL (always on). Адаптация для 1С 8 Сердюк Владимир Баркетов Павел.
Нарушение целостности структуры SQL-запроса. Внедрение SQL-кода (SQL injection) один из распространённых способов взлома ПО, работающего с базами данных,
Студенников Валерий Юрьевич Лекции и материалы:
Интегрированная система для совместной работы Lotus Notes / Domino г. Киев, ул. Фрунзе, 69 тел.: +38 (044)
NoSQL – взрыв возможностей Алексей Солнцев, iForum, 17 апреля 2012.
Транксрипт:

Павел Светличный Senior iOS Developer Svitla Systems Киев, Построение кластера на базе Apache CouchDB

Содержание 1. Обзор существующих NoSQL решений. CAP-теорема как основание для выбора БД. 2. Особенности БД Apache CouchDB 3. Механизм MapReduce 4. Установка и настройка CouchDB 5. Установка и настройка Nginx 6. Создание общей базы данных 7. Настройка автоматической репликации между нодами 8. Обзор возможностей Couchbase Lite для мобильной платформы iOS. 9. Демонстрация работы iOS приложения с созданным кластером.

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

2. Особенности БД Apache ChouchDB Язык: Erlang Основное назначение: Согласованность БД, легкость в применении Лицензия: Apache Протокол: HTTP/REST HTTP/REST

Двунаправленная репликация (разовая или постоянная) с определением конфликтов, что позволяет репликацию типа master-master 2. Особенности БД Apache ChouchDB

MVCC – запись не блокирует чтение Контроль версий (доступны предыдущие версии)

Встроенная модель map/reduce 2. Особенности БД Apache ChouchDB

Требуется периодическая чистка (compacting) Возможность авторизации и SSL Возможность прикреплять файлы => CouchApps (отдельные приложения) 2. Особенности БД Apache ChouchDB Локальная БД Двухсторонняя репликация

2. Особенности БД Apache ChouchDB Использование: Для сбора, случайного изменения данных, с которыми работают подготовленные запросы. Задачи, в которых важен контроль версий. Пример: CRM, CMS. Master-Master репликации позволяют легко реализовать многосайтовую развертку. Мобильные приложения.

3. Map/Reduce Два шага: Map и Reduce Map: Обработка предварительных данных, разделение по узлам Reduce: Свертка выборки в готовый результат

3. Map/Reduce Возможность параллельных вычислений

4. Установка и настройка CouchDB Возможна установка на платформы: Windows, Mac OS X, Unix

5. Установка и настройка Nginx Nginx – Reverse Proxy ( ) Балансировка нагрузки Запрос к БД Пользователь видит кластер как одну цельную БД

5. Установка и настройка Nginx Поддерживаемые платформы

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 Адрес кластера для балансировки

6. Создание общей базы данных

7. Настройка автоматической репликации между нодами Адрес удаленной БД в формате: : /

7. Настройка автоматической репликации между нодами POST /_replicate HTTP/1.1 {"source":newdatabase","target":" newdatabase"} Настройка простой репликации БД при помощи POST запроса Настройка продолжительной репликации БД с авторизацией POST /_replicate HTTP/1.1 {"source":" "continuous":true}

8. Обзор возможностей Couchbase Lite для мобильной платформы iOS

8. Обзор возможностей Couchbase Lite для мобильной платформы iOS Совместимость с CouchDB: Репликации API Поддержка контроля версий Готовый SDK Особенности: Использование SQLite в качестве движка БД Нет поддержки работы с пользователями БД CouchDB

Спасибо за внимание!