SlideShare une entreprise Scribd logo
1  sur  54
Шамим Ахмед
Погружение в мир
NoSQL: Опыт крупных
коммерческих
проектов
2Погружение в мир NoSQL: Опыт крупных коммерческих проектов
О нас
AT Consulting
Предоставляем консалтинговые услуги, разработки ПО
для отраслей телекоммуникации, финансов и энергетики.
Успешно разработан и сдан в эксплуатацию проект СМЭВ
(гос. услуги) и MNP (перенос номеров от одноного оператора
к другому) на базе NoSQL и BigData. На данный момент в
более чем 3х проектах применяются NoSQL для решения
разных типов задач.
3Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Погружение в мир NoSQL: Опыт крупных коммерческих проектов
План:
История NoSQL
Категории и выбор NoSQL базы
данных
Знакомство с Cassandra
Практические применения NoSQL
из опыта AT Consulting
4Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Погружение в мир NoSQL: Опыт крупных коммерческих проектов
5Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Достоинства Реляционных
баз данных
Предоставляет простые структуры данных
Обеспечение целостности данных
Многопользовательский доступ к данным
Привилегии и права доступа
Высоко стандартный язык манипуляции
данных (SQL)
6Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Ключевые проекты блока
Недостатки Реляционных
баз данных
Не соответствие с объектно-реляционной
моделью данных
7Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Недостатки Реляционных
баз данных
Фиксированная структура таблиц
8Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Характерный пример
эволюции приложения
Все хорошо.
Нагрузка увеличивается, приложение не справляется.
Добавляем железа.
Убираем все хранимые процедуры и триггеры.
Вводим распределенный кэш, например memcache. Приложение
постоянно обновляет его при изменениях данных в RDBMS.
Денормализуем схему базы.
Вводим шардинг (разбиение данных на несколько серверов баз
данных).
Упираемся в большое время insert, вызванное необходимостью
перестраивать индексы на каждый insert.
Все плохо и непонятно что делать.
В результате мы постепенно отказываемся от всех «плюшек» RDBMS и получаем
«испорченную» архитектуру и много «костылей»
9Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Все таки,
почему
NoSQL?
10Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Динамика роста
объема данных 1,000 TB =
1 petabyte
(PB)
1,000 PB =
1 exabyte
(EB)
1,000 EB =
1 zettabyte
(ZB)
11Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Связностиданных
1991 2000 2010 2020
Web 1.0 Web 2.0 Web 3.0
История NoSQL
Гетерогенные данные
document
html
rss
soap
wiki
RDF
blogs
json
tagging
ontology
Giant global graph
12Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
NoSQL
a non-SQL RDBMS
Carlo Strozzi, open source реляционный
БД в конце 90-х гг. www.stroozi.it
NO SQL
meetup 11 июня 2009 г.
http://www.eventbrite.com/e/nosql-meetup-tickets-341739151
Not Only SQL
Не правильная аббревиатура
NoSQL — это движение, а не технология
13Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Общие характеристики
баз данных NoSQL
Не используют реляционную модель данных
Не используют строго типизированные модели
данных
Спроектированы для работы в кластере
Рассчитаны для хранения больших объемов
данных
Линейно масштабируемы
Созданы в 21 веке
14Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Ключевые моменты
Реляционные базы данных являются наиболее
успешными технологиями за последние
двадцать лет, обеспечивая надежность
хранения данных, управление параллелизмом,
и интеграционными механизмами
Жизненно важным фактором для изменения
хранения данных является необходимость
поддержки больших объемов данных на
кластерах
Наиболее важный результат подъема NoSQL —
это динамика роста и гетерогенность данных
NoSQL — это не противостояние или конкурент
РСУБД
15Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Категории и выбор NoSQL базы данных
Основные Виды NoSQL
Key-Value
> Ключ — DHT
> Значения —
String, set
> Примитивные
операции
Document
> Предназначенная
для хранения
иерархических
структур данных
(документов)
> Структура дерева
начинается с
корневого узла и
может содержать
несколько
внутренних и
листовых узлов
Column-Family
> Столбец ― это
основной элемент
модели данных, и
каждый столбец
содержит имя,
значение и метку
времени
> Строка ― это
именованная
коллекция столбцов
> Семейство столбцов
― это именованная
коллекция строк
Graph
> Нахождение
кратчайшего
пути
> Построение
социальных
графов
> Работа с
информацион
ными
патоками
16Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Категории и выбор NoSQL базы данных
Примеры NoSQL
Document Column-Family GraphKey-Value
Terrastore
CouchDB Hbase
Amazon Simple
DB
FlockDB
HyperGrpahDB
Riak
Voldemort
MongoDB Cassandra Neo4JRedis
RavenDB HyperTable OrientDBOracle NoSQL Db
17Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Категории и выбор NoSQL базы данных
CAP – теорема
CAP-теорема гласит, что невозможно построить
такую распределенную БД, которая бы
одновременно обладала следующими тремя
свойствами:
Согласованность данных (англ. consistency) — во всех
вычислительных узлах в один момент времени данные
не противоречат друг другу;
Доступность (англ. availability) — любой запрос к
распределённой системе завершается корректным
откликом;
Устойчивость к разделению (англ. partition tolerance) —
расщепление распределённой системы на несколько
изолированных секций не приводит к некорректности
отклика от каждой из секций.
18Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Категории и выбор NoSQL базы данных
CAP – теорема
А
РС
Availability
Consistency Hartition
Tolerance
PICK
TWO
19Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Вопрос?
В какой группе
находится
реляционной базы
данных? AC? AP?
или CP?
20Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Категории и выбор NoSQL базы данных
Ключевые моменты
Количество NoSQL БД > 150
На основе модели данных, NoSQL БД
можно разделить на 4 основной
категории- Key-value, Column family,
Document и Graph
CAP теорема обеспечивает основные
требования, который должен следовать
NoSQL БД
21Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Cassandra
Семейства Column family
Модель данных : Google Big table
Распределённые решения: Amazon Dynamo
Автоматическая репликация данных по дата центру
Линейное масштабирование кластера
Отсутствие единой точки отказа кластера
Высоко производительная атомарная запись данных
Commodity hardware, достаточно private cloud
инфраструктуры
Open source
22Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомства с Cassandra
Cassandra дата модель
23Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Основная идеология
Денорализация данных
Нет Join
24Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Ключевые компоненты
Cassandra
Терминология Описание
Cluster Глобальная настройка кластера
Keyspace Базы данных, аналог схемы в Oracle
Column family Набор строк, аналог в Oracle, таблица
Secondary index Дополнительный индекс, аналог в Oracle
индекс
CQL SQL подобие языка манипуляции данных
Lightweight
transaction
Compare and swap транзакции
25Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Высокоуровневая
архитектура
26Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Высоко производительная
запись
27Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Распределение данных
28Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Репликация
29Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Репликация данных между
дата центрами
30Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Масштабирование
> Рассчитать
новый Токен
> Инициализирова
ть новый токен
на новый узел
> Выполнить
команду
nodetool move в
других узлах
31Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомство с Cassandra
Варианты использования
Cassandra
Time series дата: просмотр страницы
пользователя за определенное время,
Beeline (MNP), WSO2, FaceBook
Каталог продуктов: spotify, netflix
Протоколирование: СМЭВ (Гос. Услуги РФ),
GitHub
Обнаружение Мошенничества: EBay,
Instagram
32Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSQL
Вопрос?
Где еще можно
применять
Cassandra?
33Погружение в мир NoSQL: Опыт крупных коммерческих проектов
История NoSql
Ключевые моменты
Реализация семейства NoSQL Column
Высокая масштабируемость и надежность
без элементов, отказ которых приводит
к выходу из строя всей системы
Очень высокая пропускная способность
для операций записи
SQL-подобный язык запросов
Гибкая схема
34Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Знакомства с Cassandra
Практические применения NoSQL
из опыта AT Consulting
Протоколирование:
СМЭВ (Гос. Услуги РФ)
Обработка событие:
Beeline (MNP)
35Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Краткий обзор проекта СМЭВ
(Система межведомственного электронного взаимодействия)
ЦЕЛИ ПРОЕКТА
Обеспечить федеральным, региональным и местным органам
власти в электронном виде обмениваться данными,
необходимыми для оказания государственных услуг гражданам
и организациям к 01.03.2011
ЗАДАЧИ ПРОЕКТА
Реализовать шину интеграции между органам власти
и предоставлять отчеты по использованию сервисов
ГЕОГРАФИЧЕСКИЕ РАМКИ ПРОЕКТА
В рамках гос. Услуги по всем регионам РФ
36Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Функция централизованного система логирования (СМЭВ)
37Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Недостатки проекта СМЭВ
Низкая производительности разбора
сообщения
> Разбор сообщения в PL/SQL
> Разбор 450,000 логов за 110 минут
Тяжелая репликация данных между ЦоД
> Репликация данных через Golden Gate,Oracle Stream и Ware house
builder
> Плохой канал связи
Плохая масштабируемости RDBMS
> Не линейная масштабируемости (масштабируемость) Oracle RAC
38Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Недостатки проекта СМЭВ
Дорогостоящие лицензии на ПО
Стоимости лицензии на поддержку
продуктов Oracle > $456 720 в год
Продукт
Лицензия на
CPU, USD
Техподдержк
а на CPU, USD
Количество
ядро в CPU
Core Factor
Стоимость,
USD
Поддержка,
USD
Oracle
Database EE
47500 10450 64 0.5
1520000 334400
Oracle
Database RAC
option
23000 5060 24 0.5
276000
60720
GoldenGate 17500 3850 32 0.5 280000 61600
ИТОГО 2076000 456720
39Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Концептуальная архитектура на базе NoSQL
40Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Производительность
0
50
100
150
200
250
300
350
39 57 70 100
Количества строк (млн)
Разбор сообщения
(Map)
0
50
100
150
200
250
300
350
57 71 129 170
Количества строк (млн)
Построение агрегатных
данных (Map Reduce)
41Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Производительность
42Погружение в мир NoSQL: Опыт крупных коммерческих проектов
СМЭВ на базе Cassandra
Полученные результаты
Масштабируемые система
протоколирования и отчетности
Быстрый разбор сообщения и агрегация
данных для отчетности
Автоматическая репликация данных
между дата центрами
43Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Краткий обзор проекта MNP (Mobile Number Portability)
ЦЕЛИ ПРОЕКТА
Обеспечить исполнение законодательства по MNP к 01.12.2013
ЗАДАЧИ ПРОЕКТА
Реализовать бизнес-процессы переноса (портации) номеров
ГЕОГРАФИЧЕСКИЕ РАМКИ ПРОЕКТА
Сеть Оператора связи BEELINE в РФ
Офисы обслуживания абонентов в РФ
44Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Бизнес-процессы переноса телефонного номера
Портация в сеть оператора связи (PortIn)
Портация из сети оператора связи (PortOut)
Клиент
приходит в
офис
обслуживания
Оператор
инициирует
процесс
переноса
Система через
ЦБДПН
запрашивает
систему-
донора
Система
вызывает
различные ИС
оператора для
активации
абонента
Клиент
приходит в
офис другого
оператора
связи
Их система
через ЦБДПН
запрашивает
возможность
переноса
Система
проверяет
баланс и ARPU
абонента
Оператор
подтверждает
перенос
абонента
45Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Бизнес-процессы переноса телефонного номера
Подсистема
протоколирования
46Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Бизнес-процессы переноса телефонного номера
Контекст
протоколирования
Любые действия бизнес процесса
Отклоненные заявления от системы
Зависшие заявления
Прерывание работы систем ЦБДПН
и других систем
Действия пользователя в портале
47Погружение в мир NoSQL: Опыт крупных коммерческих проектов
200 ГБ
в сутки
12000000
в сутки
Объемы протоколирования
Нагрузка
> Протоколирование 70-100 записей для 1
заявления с 1 номером
> Общий размер записей для 1 заявления 60 КБ
> До 400000 заявлений в сутки
Количество записей для обработки
> Протоколирование 70-100 записей для 1
заявления с 1 номером
> До 400000 заявлений в сутки
> 3 номера в каждом заявлении
48Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Time series дата модель
50Погружение в мир NoSQL: Опыт крупных коммерческих проектов
MNP на базе Cassandra
Полученные
результаты
Система мониторинга для портация
номеров
Возможности выполнения
произвольных запросов для поиска
индентов
51Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Заключение
ИТОГИ
NoSQL — это не реляцонная база данных
Наиболее важным результатом подъема
и распространения NoSQL является
динамика роста и гетерогенность данных
Cassandra предоставляет высокую
масштабируемость
Cassandra — это Schema less
Данные должны быть структурированные
и связанные, NoSQL лучшее применять
в качестве дополнительных баз данных
52Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Рекомендуемые литературы
NOSQL
distilled
Автор: Мартин Фаулер
CASSANDRA
DESIGN PATTERN
Автор: Санжое Шарма
53Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Обратная связь
frommyworkshop.blogspot.ru
bsha@at-consulting.ru
54Погружение в мир NoSQL: Опыт крупных коммерческих проектов
Ссылки
Ссылки
Виды NoSQL БД
nosql-database.org
Netflix benchmark
techblog.netflix.com/2011/11/benchmarking-cassandra-
scalability-on.html
Cassandra и Hadoop
frommyworkshop.blogspot.ru
Cassandra
planetcassandra.org
Вопросы?

Contenu connexe

Tendances

Презентация Сафонова и Прусенка на семинаре "Продавайте больше"
Презентация Сафонова и Прусенка на семинаре "Продавайте больше"Презентация Сафонова и Прусенка на семинаре "Продавайте больше"
Презентация Сафонова и Прусенка на семинаре "Продавайте больше"ActiveCloud
 
Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"IT Event
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
NoSQL - взрыв возможностей
NoSQL - взрыв возможностейNoSQL - взрыв возможностей
NoSQL - взрыв возможностейAleksey Solntsev
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Ontico
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)Ontico
 
Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...
Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...
Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...solit
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Ontico
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Ontico
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...IT-Portfolio
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахAlexey Vasiliev
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime Community
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...Ontico
 

Tendances (19)

Презентация Сафонова и Прусенка на семинаре "Продавайте больше"
Презентация Сафонова и Прусенка на семинаре "Продавайте больше"Презентация Сафонова и Прусенка на семинаре "Продавайте больше"
Презентация Сафонова и Прусенка на семинаре "Продавайте больше"
 
Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
Webcluster cases
Webcluster casesWebcluster cases
Webcluster cases
 
02 1c-bitrix-cloud-storage
02 1c-bitrix-cloud-storage02 1c-bitrix-cloud-storage
02 1c-bitrix-cloud-storage
 
Веб-кластер
Веб-кластерВеб-кластер
Веб-кластер
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
1c bitrix-cluster-et
1c bitrix-cluster-et1c bitrix-cluster-et
1c bitrix-cluster-et
 
NoSQL - взрыв возможностей
NoSQL - взрыв возможностейNoSQL - взрыв возможностей
NoSQL - взрыв возможностей
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
 
Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...
Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...
Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Сл...
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектах
 
Cassandra db
Cassandra dbCassandra db
Cassandra db
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
 

En vedette

MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?Alexey Tokar
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBUNETA
 
Вадим Шашенко, 2ГИС
Вадим Шашенко, 2ГИСВадим Шашенко, 2ГИС
Вадим Шашенко, 2ГИСOntico
 
NoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий НикулинNoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий НикулинAnatoliy Nikulin
 
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...Dev2Dev
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...IT-Portfolio
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...IT-Portfolio
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...IT-Portfolio
 
Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Alexey Rusnak
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеАлексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеVolha Banadyseva
 
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Ontico
 

En vedette (11)

MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDB
 
Вадим Шашенко, 2ГИС
Вадим Шашенко, 2ГИСВадим Шашенко, 2ГИС
Вадим Шашенко, 2ГИС
 
NoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий НикулинNoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий Никулин
 
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
 
Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеАлексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проекте
 
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
 

Similaire à NoSQL - World IT Planet, Saint Petersburg 2015

Architecture of NoSQL distributed clusters on AWS
Architecture of NoSQL distributed clusters on AWSArchitecture of NoSQL distributed clusters on AWS
Architecture of NoSQL distributed clusters on AWSAleksandr Maklakov
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsAndrei Nikolaenko
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхСергей Макрушин
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхSergey Makrushin
 
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данныхОмские ИТ-субботники
 
Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack Yandex
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)Ontico
 
BitByte Обзор платформы InfoboxCloud
BitByte Обзор платформы InfoboxCloudBitByte Обзор платформы InfoboxCloud
BitByte Обзор платформы InfoboxCloudYuri Trukhin
 
Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.Diana Dymolazova
 
Облако рядом: от теории к кейсам
Облако рядом: от теории к кейсамОблако рядом: от теории к кейсам
Облако рядом: от теории к кейсамYuri Trukhin
 
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...IBS
 
Инструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииИнструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииAndrei Nikolaenko
 
IOP202 Redis in Azure
IOP202 Redis in AzureIOP202 Redis in Azure
IOP202 Redis in Azuremourhoon
 
Облачные тренды 2015
Облачные тренды 2015Облачные тренды 2015
Облачные тренды 2015Michael Kozloff
 
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах Embarcadero
Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах EmbarcaderoПоддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах EmbarcaderoAndrew Sovtsov
 
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьCisco Russia
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineDataLine
 
ASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для SoftbankASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для SoftbankMirantis IT Russia
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Cisco Russia
 

Similaire à NoSQL - World IT Planet, Saint Petersburg 2015 (20)

Architecture of NoSQL distributed clusters on AWS
Architecture of NoSQL distributed clusters on AWSArchitecture of NoSQL distributed clusters on AWS
Architecture of NoSQL distributed clusters on AWS
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospects
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
 
Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
 
BitByte Обзор платформы InfoboxCloud
BitByte Обзор платформы InfoboxCloudBitByte Обзор платформы InfoboxCloud
BitByte Обзор платформы InfoboxCloud
 
Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.
 
Облако рядом: от теории к кейсам
Облако рядом: от теории к кейсамОблако рядом: от теории к кейсам
Облако рядом: от теории к кейсам
 
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
 
Инструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииИнструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграции
 
IOP202 Redis in Azure
IOP202 Redis in AzureIOP202 Redis in Azure
IOP202 Redis in Azure
 
Облачные тренды 2015
Облачные тренды 2015Облачные тренды 2015
Облачные тренды 2015
 
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах Embarcadero
Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах EmbarcaderoПоддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах Embarcadero
 
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLine
 
ASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для SoftbankASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для Softbank
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
 

NoSQL - World IT Planet, Saint Petersburg 2015

  • 1. Шамим Ахмед Погружение в мир NoSQL: Опыт крупных коммерческих проектов
  • 2. 2Погружение в мир NoSQL: Опыт крупных коммерческих проектов О нас AT Consulting Предоставляем консалтинговые услуги, разработки ПО для отраслей телекоммуникации, финансов и энергетики. Успешно разработан и сдан в эксплуатацию проект СМЭВ (гос. услуги) и MNP (перенос номеров от одноного оператора к другому) на базе NoSQL и BigData. На данный момент в более чем 3х проектах применяются NoSQL для решения разных типов задач.
  • 3. 3Погружение в мир NoSQL: Опыт крупных коммерческих проектов Погружение в мир NoSQL: Опыт крупных коммерческих проектов План: История NoSQL Категории и выбор NoSQL базы данных Знакомство с Cassandra Практические применения NoSQL из опыта AT Consulting
  • 4. 4Погружение в мир NoSQL: Опыт крупных коммерческих проектов Погружение в мир NoSQL: Опыт крупных коммерческих проектов
  • 5. 5Погружение в мир NoSQL: Опыт крупных коммерческих проектов Погружение в мир NoSQL: Опыт крупных коммерческих проектов Достоинства Реляционных баз данных Предоставляет простые структуры данных Обеспечение целостности данных Многопользовательский доступ к данным Привилегии и права доступа Высоко стандартный язык манипуляции данных (SQL)
  • 6. 6Погружение в мир NoSQL: Опыт крупных коммерческих проектов Ключевые проекты блока Недостатки Реляционных баз данных Не соответствие с объектно-реляционной моделью данных
  • 7. 7Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Недостатки Реляционных баз данных Фиксированная структура таблиц
  • 8. 8Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Характерный пример эволюции приложения Все хорошо. Нагрузка увеличивается, приложение не справляется. Добавляем железа. Убираем все хранимые процедуры и триггеры. Вводим распределенный кэш, например memcache. Приложение постоянно обновляет его при изменениях данных в RDBMS. Денормализуем схему базы. Вводим шардинг (разбиение данных на несколько серверов баз данных). Упираемся в большое время insert, вызванное необходимостью перестраивать индексы на каждый insert. Все плохо и непонятно что делать. В результате мы постепенно отказываемся от всех «плюшек» RDBMS и получаем «испорченную» архитектуру и много «костылей»
  • 9. 9Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Все таки, почему NoSQL?
  • 10. 10Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Динамика роста объема данных 1,000 TB = 1 petabyte (PB) 1,000 PB = 1 exabyte (EB) 1,000 EB = 1 zettabyte (ZB)
  • 11. 11Погружение в мир NoSQL: Опыт крупных коммерческих проектов Связностиданных 1991 2000 2010 2020 Web 1.0 Web 2.0 Web 3.0 История NoSQL Гетерогенные данные document html rss soap wiki RDF blogs json tagging ontology Giant global graph
  • 12. 12Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL NoSQL a non-SQL RDBMS Carlo Strozzi, open source реляционный БД в конце 90-х гг. www.stroozi.it NO SQL meetup 11 июня 2009 г. http://www.eventbrite.com/e/nosql-meetup-tickets-341739151 Not Only SQL Не правильная аббревиатура NoSQL — это движение, а не технология
  • 13. 13Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Общие характеристики баз данных NoSQL Не используют реляционную модель данных Не используют строго типизированные модели данных Спроектированы для работы в кластере Рассчитаны для хранения больших объемов данных Линейно масштабируемы Созданы в 21 веке
  • 14. 14Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Ключевые моменты Реляционные базы данных являются наиболее успешными технологиями за последние двадцать лет, обеспечивая надежность хранения данных, управление параллелизмом, и интеграционными механизмами Жизненно важным фактором для изменения хранения данных является необходимость поддержки больших объемов данных на кластерах Наиболее важный результат подъема NoSQL — это динамика роста и гетерогенность данных NoSQL — это не противостояние или конкурент РСУБД
  • 15. 15Погружение в мир NoSQL: Опыт крупных коммерческих проектов Категории и выбор NoSQL базы данных Основные Виды NoSQL Key-Value > Ключ — DHT > Значения — String, set > Примитивные операции Document > Предназначенная для хранения иерархических структур данных (документов) > Структура дерева начинается с корневого узла и может содержать несколько внутренних и листовых узлов Column-Family > Столбец ― это основной элемент модели данных, и каждый столбец содержит имя, значение и метку времени > Строка ― это именованная коллекция столбцов > Семейство столбцов ― это именованная коллекция строк Graph > Нахождение кратчайшего пути > Построение социальных графов > Работа с информацион ными патоками
  • 16. 16Погружение в мир NoSQL: Опыт крупных коммерческих проектов Категории и выбор NoSQL базы данных Примеры NoSQL Document Column-Family GraphKey-Value Terrastore CouchDB Hbase Amazon Simple DB FlockDB HyperGrpahDB Riak Voldemort MongoDB Cassandra Neo4JRedis RavenDB HyperTable OrientDBOracle NoSQL Db
  • 17. 17Погружение в мир NoSQL: Опыт крупных коммерческих проектов Категории и выбор NoSQL базы данных CAP – теорема CAP-теорема гласит, что невозможно построить такую распределенную БД, которая бы одновременно обладала следующими тремя свойствами: Согласованность данных (англ. consistency) — во всех вычислительных узлах в один момент времени данные не противоречат друг другу; Доступность (англ. availability) — любой запрос к распределённой системе завершается корректным откликом; Устойчивость к разделению (англ. partition tolerance) — расщепление распределённой системы на несколько изолированных секций не приводит к некорректности отклика от каждой из секций.
  • 18. 18Погружение в мир NoSQL: Опыт крупных коммерческих проектов Категории и выбор NoSQL базы данных CAP – теорема А РС Availability Consistency Hartition Tolerance PICK TWO
  • 19. 19Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Вопрос? В какой группе находится реляционной базы данных? AC? AP? или CP?
  • 20. 20Погружение в мир NoSQL: Опыт крупных коммерческих проектов Категории и выбор NoSQL базы данных Ключевые моменты Количество NoSQL БД > 150 На основе модели данных, NoSQL БД можно разделить на 4 основной категории- Key-value, Column family, Document и Graph CAP теорема обеспечивает основные требования, который должен следовать NoSQL БД
  • 21. 21Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Cassandra Семейства Column family Модель данных : Google Big table Распределённые решения: Amazon Dynamo Автоматическая репликация данных по дата центру Линейное масштабирование кластера Отсутствие единой точки отказа кластера Высоко производительная атомарная запись данных Commodity hardware, достаточно private cloud инфраструктуры Open source
  • 22. 22Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомства с Cassandra Cassandra дата модель
  • 23. 23Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Основная идеология Денорализация данных Нет Join
  • 24. 24Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Ключевые компоненты Cassandra Терминология Описание Cluster Глобальная настройка кластера Keyspace Базы данных, аналог схемы в Oracle Column family Набор строк, аналог в Oracle, таблица Secondary index Дополнительный индекс, аналог в Oracle индекс CQL SQL подобие языка манипуляции данных Lightweight transaction Compare and swap транзакции
  • 25. 25Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Высокоуровневая архитектура
  • 26. 26Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Высоко производительная запись
  • 27. 27Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Распределение данных
  • 28. 28Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Репликация
  • 29. 29Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Репликация данных между дата центрами
  • 30. 30Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Масштабирование > Рассчитать новый Токен > Инициализирова ть новый токен на новый узел > Выполнить команду nodetool move в других узлах
  • 31. 31Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомство с Cassandra Варианты использования Cassandra Time series дата: просмотр страницы пользователя за определенное время, Beeline (MNP), WSO2, FaceBook Каталог продуктов: spotify, netflix Протоколирование: СМЭВ (Гос. Услуги РФ), GitHub Обнаружение Мошенничества: EBay, Instagram
  • 32. 32Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSQL Вопрос? Где еще можно применять Cassandra?
  • 33. 33Погружение в мир NoSQL: Опыт крупных коммерческих проектов История NoSql Ключевые моменты Реализация семейства NoSQL Column Высокая масштабируемость и надежность без элементов, отказ которых приводит к выходу из строя всей системы Очень высокая пропускная способность для операций записи SQL-подобный язык запросов Гибкая схема
  • 34. 34Погружение в мир NoSQL: Опыт крупных коммерческих проектов Знакомства с Cassandra Практические применения NoSQL из опыта AT Consulting Протоколирование: СМЭВ (Гос. Услуги РФ) Обработка событие: Beeline (MNP)
  • 35. 35Погружение в мир NoSQL: Опыт крупных коммерческих проектов Краткий обзор проекта СМЭВ (Система межведомственного электронного взаимодействия) ЦЕЛИ ПРОЕКТА Обеспечить федеральным, региональным и местным органам власти в электронном виде обмениваться данными, необходимыми для оказания государственных услуг гражданам и организациям к 01.03.2011 ЗАДАЧИ ПРОЕКТА Реализовать шину интеграции между органам власти и предоставлять отчеты по использованию сервисов ГЕОГРАФИЧЕСКИЕ РАМКИ ПРОЕКТА В рамках гос. Услуги по всем регионам РФ
  • 36. 36Погружение в мир NoSQL: Опыт крупных коммерческих проектов Функция централизованного система логирования (СМЭВ)
  • 37. 37Погружение в мир NoSQL: Опыт крупных коммерческих проектов Недостатки проекта СМЭВ Низкая производительности разбора сообщения > Разбор сообщения в PL/SQL > Разбор 450,000 логов за 110 минут Тяжелая репликация данных между ЦоД > Репликация данных через Golden Gate,Oracle Stream и Ware house builder > Плохой канал связи Плохая масштабируемости RDBMS > Не линейная масштабируемости (масштабируемость) Oracle RAC
  • 38. 38Погружение в мир NoSQL: Опыт крупных коммерческих проектов Недостатки проекта СМЭВ Дорогостоящие лицензии на ПО Стоимости лицензии на поддержку продуктов Oracle > $456 720 в год Продукт Лицензия на CPU, USD Техподдержк а на CPU, USD Количество ядро в CPU Core Factor Стоимость, USD Поддержка, USD Oracle Database EE 47500 10450 64 0.5 1520000 334400 Oracle Database RAC option 23000 5060 24 0.5 276000 60720 GoldenGate 17500 3850 32 0.5 280000 61600 ИТОГО 2076000 456720
  • 39. 39Погружение в мир NoSQL: Опыт крупных коммерческих проектов Концептуальная архитектура на базе NoSQL
  • 40. 40Погружение в мир NoSQL: Опыт крупных коммерческих проектов Производительность 0 50 100 150 200 250 300 350 39 57 70 100 Количества строк (млн) Разбор сообщения (Map) 0 50 100 150 200 250 300 350 57 71 129 170 Количества строк (млн) Построение агрегатных данных (Map Reduce)
  • 41. 41Погружение в мир NoSQL: Опыт крупных коммерческих проектов Производительность
  • 42. 42Погружение в мир NoSQL: Опыт крупных коммерческих проектов СМЭВ на базе Cassandra Полученные результаты Масштабируемые система протоколирования и отчетности Быстрый разбор сообщения и агрегация данных для отчетности Автоматическая репликация данных между дата центрами
  • 43. 43Погружение в мир NoSQL: Опыт крупных коммерческих проектов Краткий обзор проекта MNP (Mobile Number Portability) ЦЕЛИ ПРОЕКТА Обеспечить исполнение законодательства по MNP к 01.12.2013 ЗАДАЧИ ПРОЕКТА Реализовать бизнес-процессы переноса (портации) номеров ГЕОГРАФИЧЕСКИЕ РАМКИ ПРОЕКТА Сеть Оператора связи BEELINE в РФ Офисы обслуживания абонентов в РФ
  • 44. 44Погружение в мир NoSQL: Опыт крупных коммерческих проектов Бизнес-процессы переноса телефонного номера Портация в сеть оператора связи (PortIn) Портация из сети оператора связи (PortOut) Клиент приходит в офис обслуживания Оператор инициирует процесс переноса Система через ЦБДПН запрашивает систему- донора Система вызывает различные ИС оператора для активации абонента Клиент приходит в офис другого оператора связи Их система через ЦБДПН запрашивает возможность переноса Система проверяет баланс и ARPU абонента Оператор подтверждает перенос абонента
  • 45. 45Погружение в мир NoSQL: Опыт крупных коммерческих проектов Бизнес-процессы переноса телефонного номера Подсистема протоколирования
  • 46. 46Погружение в мир NoSQL: Опыт крупных коммерческих проектов Бизнес-процессы переноса телефонного номера Контекст протоколирования Любые действия бизнес процесса Отклоненные заявления от системы Зависшие заявления Прерывание работы систем ЦБДПН и других систем Действия пользователя в портале
  • 47. 47Погружение в мир NoSQL: Опыт крупных коммерческих проектов 200 ГБ в сутки 12000000 в сутки Объемы протоколирования Нагрузка > Протоколирование 70-100 записей для 1 заявления с 1 номером > Общий размер записей для 1 заявления 60 КБ > До 400000 заявлений в сутки Количество записей для обработки > Протоколирование 70-100 записей для 1 заявления с 1 номером > До 400000 заявлений в сутки > 3 номера в каждом заявлении
  • 48. 48Погружение в мир NoSQL: Опыт крупных коммерческих проектов Time series дата модель
  • 49. 50Погружение в мир NoSQL: Опыт крупных коммерческих проектов MNP на базе Cassandra Полученные результаты Система мониторинга для портация номеров Возможности выполнения произвольных запросов для поиска индентов
  • 50. 51Погружение в мир NoSQL: Опыт крупных коммерческих проектов Заключение ИТОГИ NoSQL — это не реляцонная база данных Наиболее важным результатом подъема и распространения NoSQL является динамика роста и гетерогенность данных Cassandra предоставляет высокую масштабируемость Cassandra — это Schema less Данные должны быть структурированные и связанные, NoSQL лучшее применять в качестве дополнительных баз данных
  • 51. 52Погружение в мир NoSQL: Опыт крупных коммерческих проектов Рекомендуемые литературы NOSQL distilled Автор: Мартин Фаулер CASSANDRA DESIGN PATTERN Автор: Санжое Шарма
  • 52. 53Погружение в мир NoSQL: Опыт крупных коммерческих проектов Обратная связь frommyworkshop.blogspot.ru bsha@at-consulting.ru
  • 53. 54Погружение в мир NoSQL: Опыт крупных коммерческих проектов Ссылки Ссылки Виды NoSQL БД nosql-database.org Netflix benchmark techblog.netflix.com/2011/11/benchmarking-cassandra- scalability-on.html Cassandra и Hadoop frommyworkshop.blogspot.ru Cassandra planetcassandra.org