Открытый семинар для студентов в компании CUSTIS (17 октября 2013 года).
Лектор: Юрий Солдаткин, ведущий разработчик C#, сертифицированный разработчик Microsoft (MCTS, MCPD).
Аннотация: В мире огромных объемов информации и распределенных хранилищ данных традиционные реляционные БД уже не всегда позволяют быстро и удобно оперировать данными. На этом семинаре мы рассмотрим альтернативу — семейство технологий NoSQL: познакомимся с основными типами баз данных NoSQL, рассмотрим их особенности, сильные и слабые стороны, а также сферу их применения.
Видеозапись семинара: https://vimeo.com/77393558.
1. Основы баз данных NoSQL
17 октября 2013 года
Юрий Солдаткин
Ведущий разработчик C#
2. О себе
Высшее образование
по специальности
«Информационные системы
и технологии»
Разрабатываю на стеке .NET
Предпочитаю личное
общение с заказчиком
Приверженец активного
образа жизни
Microsoft Certified Professional
Developer (MCPD)
2/41
3. О нашей компании
Мы занимаемся проектированием,
разработкой и бережным внедрением
масштабных IT-систем для банков,
торговых сетей и государственных
структур
Мы создаем уникальные решения
под нужды заказчиков
Мы умеем ценить особенности каждого
клиента
3/41
4. План
Что нам известно
Способы распределения данных
CAP
4 типа баз данных NoSQL
MapReduce
Родственные области
4/41
6. В поисках лучшей доли
Эффективность разработки
Много усилий на отображение данных
в реляционный вид
Сверхбольшие объемы данных
Объемы данных растут, а бежать нужно
в два раза быстрее
6/41
9. План
Что нам известно
Способы распределения данных
CAP
4 типа баз данных NoSQL
MapReduce
Родственные области
9/41
10. Способы распределения данных
Репликация (replication)
копирование одних и тех же данных
на нескольких узлах
Фрагментация (sharding)
размещение разных данных
на разных узлах
10/41
12. Репликация «Ведущий – ведомый»
Ведущий узел (master) является
авторитетным источником данных,
ответственным за все их модификации
Ведомые узлы (slave) получают данные
с ведущего для производительного
и отказоустойчивого чтения
12/41
13. Одноранговая репликация
Все реплики имеют одинаковый вес
и могут выполнять операции записи
Потеря любой из реплик не приводит
к потере доступа к хранилищу
13/41
36. MapReduce
Map (отображение) – принимает отдельные
агрегаты и отображает их на пары
ключ – значение
Reduce (свертка) – группирует полученные
значения по ключам, агрегируя информацию
36/41