SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Основы баз данных NoSQL

17 октября 2013 года

Юрий Солдаткин
Ведущий разработчик C#
О себе


Высшее образование
по специальности
«Информационные системы
и технологии»




Разрабатываю на стеке .NET



Предпочитаю личное
общение с заказчиком



Приверженец активного
образа жизни

Microsoft Certified Professional
Developer (MCPD)

2/41
О нашей компании



Мы занимаемся проектированием,
разработкой и бережным внедрением
масштабных IT-систем для банков,
торговых сетей и государственных
структур



Мы создаем уникальные решения
под нужды заказчиков



Мы умеем ценить особенности каждого
клиента
3/41
План

 Что нам известно






Способы распределения данных
CAP

4 типа баз данных NoSQL
MapReduce
Родственные области

4/41
Реляционные базы данных

5/41
В поисках лучшей доли

 Эффективность разработки
Много усилий на отображение данных
в реляционный вид

 Сверхбольшие объемы данных
Объемы данных растут, а бежать нужно
в два раза быстрее

6/41
NoSQL

7/41
Сравнение скорости

8/41
План



Что нам известно

 Способы распределения данных





CAP

4 типа баз данных NoSQL
MapReduce
Родственные области

9/41
Способы распределения данных

 Репликация (replication)
копирование одних и тех же данных
на нескольких узлах

 Фрагментация (sharding)
размещение разных данных
на разных узлах

10/41
Фрагментация

11/41
Репликация «Ведущий – ведомый»



Ведущий узел (master) является
авторитетным источником данных,
ответственным за все их модификации



Ведомые узлы (slave) получают данные
с ведущего для производительного
и отказоустойчивого чтения

12/41
Одноранговая репликация



Все реплики имеют одинаковый вес
и могут выполнять операции записи



Потеря любой из реплик не приводит
к потере доступа к хранилищу

13/41
Согласованность обновлений




Пессимистичный подход
Оптимистичный подход
14/41
Согласованность чтения

15/41
Согласованность репликаций

Революция: согласованность
«в конечном счете» (eventual consistency)
16/41
План




Что нам известно
Способы распределения данных

 CAP




4 типа баз данных NoSQL
MapReduce
Родственные области

17/41
CAP
Consistency…………. Согласованность
Avalibility…………….. Доступность
Partition tolerance….. Устойчивость
к разделению

18/41
Availability

Partition
Tolerance

19/41
Кворум

R + W > N




R – количество узлов для чтения
W – количество узлов для записи
N – общее количество узлов

20/41
R+W>N
version: B

W=2

N=3

version: В

version: [B, A]

R=2

version: В

version: A

21/41
Агрегаты



Коллекция связанных объектов,
которая интерпретируется как одно целое



Единица согласованности

22/41
План





Что нам известно
Способы распределения данных
CAP

 4 типа баз данных NoSQL



MapReduce
Родственные области

23/41
Ключ-значение
RDBMS

Riak

База данных
Таблица
Строка
Идентификатор строки

Кластер
Сегмент
Ключ – значение
Ключ

24/41
25/41
Документные
RDBMS

MongoDB

Таблица
Строка
Идентификатор строки

Коллекция
Документ
_id

26/41
Представление документа

27/41
28/41
Семейство столбцов
RDBMS

Cassandra

Экземпляр
База данных
Таблица
Строка
Столбцы (одни и те же
для всех строк)

Кластер
Пространство ключей
Семейство столбцов
Строка
Столбцы (могут быть
разными для разных
строк)

29/41
Представление семейства столбцов

30/41
31/41
Графовые базы

32/41
Графовое представление

33/41
34/41
План






Что нам известно
Способы распределения данных
CAP

4 типа баз данных NoSQL

 MapReduce


Родственные области

35/41
MapReduce



Map (отображение) – принимает отдельные
агрегаты и отображает их на пары
ключ – значение



Reduce (свертка) – группирует полученные
значения по ключам, агрегируя информацию

36/41
Размер фонотеки

37/41
План







Что нам известно
Способы распределения данных
CAP

4 типа баз данных NoSQL
MapReduce

 Родственные области

38/41
Родственные области





Файловые системы
Порождение событий
Контроль версий

39/41
Литература
Прамодкумар Дж. Садаладж,
Мартин Фаулер
NoSQL. Новая методология
разработки нереляционных
баз данных

40/41
Спасибо!
Вопросы?
Юрий Солдаткин
soldatkin@custis.ru

41/41

Contenu connexe

Plus de CUSTIS

Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиCUSTIS
 
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...CUSTIS
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиCUSTIS
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииCUSTIS
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеCUSTIS
 
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?CUSTIS
 
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектурыCUSTIS
 
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисовCUSTIS
 
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымCUSTIS
 
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...CUSTIS
 
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыCUSTIS
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахCUSTIS
 
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net PerformanceCUSTIS
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыCUSTIS
 
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетCUSTIS
 
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...CUSTIS
 
Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...CUSTIS
 
RBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступаRBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступаCUSTIS
 
Омниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсыОмниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсыCUSTIS
 

Plus de CUSTIS (20)

Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банке
 
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?
 
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектуры
 
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисов
 
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульным
 
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...
 
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net Performance
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
 
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
 
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
 
Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...
 
RBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступаRBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступа
 
Омниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсыОмниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсы
 

Основы баз данных NoSQL