Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,287 views

Published on

Открытый семинар для студентов в компании CUSTIS (17 октября 2013 года).

Лектор: Юрий Солдаткин, ведущий разработчик C#, сертифицированный разработчик Microsoft (MCTS, MCPD).

Аннотация: В мире огромных объемов информации и распределенных хранилищ данных традиционные реляционные БД уже не всегда позволяют быстро и удобно оперировать данными. На этом семинаре мы рассмотрим альтернативу — семейство технологий NoSQL: познакомимся с основными типами баз данных NoSQL, рассмотрим их особенности, сильные и слабые стороны, а также сферу их применения.

Видеозапись семинара: https://vimeo.com/77393558.

Published in: Career
  • Be the first to comment

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

  1. 1. Основы баз данных NoSQL 17 октября 2013 года Юрий Солдаткин Ведущий разработчик C#
  2. 2. О себе  Высшее образование по специальности «Информационные системы и технологии»   Разрабатываю на стеке .NET  Предпочитаю личное общение с заказчиком  Приверженец активного образа жизни Microsoft Certified Professional Developer (MCPD) 2/41
  3. 3. О нашей компании  Мы занимаемся проектированием, разработкой и бережным внедрением масштабных IT-систем для банков, торговых сетей и государственных структур  Мы создаем уникальные решения под нужды заказчиков  Мы умеем ценить особенности каждого клиента 3/41
  4. 4. План  Что нам известно      Способы распределения данных CAP 4 типа баз данных NoSQL MapReduce Родственные области 4/41
  5. 5. Реляционные базы данных 5/41
  6. 6. В поисках лучшей доли  Эффективность разработки Много усилий на отображение данных в реляционный вид  Сверхбольшие объемы данных Объемы данных растут, а бежать нужно в два раза быстрее 6/41
  7. 7. NoSQL 7/41
  8. 8. Сравнение скорости 8/41
  9. 9. План  Что нам известно  Способы распределения данных     CAP 4 типа баз данных NoSQL MapReduce Родственные области 9/41
  10. 10. Способы распределения данных  Репликация (replication) копирование одних и тех же данных на нескольких узлах  Фрагментация (sharding) размещение разных данных на разных узлах 10/41
  11. 11. Фрагментация 11/41
  12. 12. Репликация «Ведущий – ведомый»  Ведущий узел (master) является авторитетным источником данных, ответственным за все их модификации  Ведомые узлы (slave) получают данные с ведущего для производительного и отказоустойчивого чтения 12/41
  13. 13. Одноранговая репликация  Все реплики имеют одинаковый вес и могут выполнять операции записи  Потеря любой из реплик не приводит к потере доступа к хранилищу 13/41
  14. 14. Согласованность обновлений   Пессимистичный подход Оптимистичный подход 14/41
  15. 15. Согласованность чтения 15/41
  16. 16. Согласованность репликаций Революция: согласованность «в конечном счете» (eventual consistency) 16/41
  17. 17. План   Что нам известно Способы распределения данных  CAP    4 типа баз данных NoSQL MapReduce Родственные области 17/41
  18. 18. CAP Consistency…………. Согласованность Avalibility…………….. Доступность Partition tolerance….. Устойчивость к разделению 18/41
  19. 19. Availability Partition Tolerance 19/41
  20. 20. Кворум R + W > N    R – количество узлов для чтения W – количество узлов для записи N – общее количество узлов 20/41
  21. 21. R+W>N version: B W=2 N=3 version: В version: [B, A] R=2 version: В version: A 21/41
  22. 22. Агрегаты  Коллекция связанных объектов, которая интерпретируется как одно целое  Единица согласованности 22/41
  23. 23. План    Что нам известно Способы распределения данных CAP  4 типа баз данных NoSQL   MapReduce Родственные области 23/41
  24. 24. Ключ-значение RDBMS Riak База данных Таблица Строка Идентификатор строки Кластер Сегмент Ключ – значение Ключ 24/41
  25. 25. 25/41
  26. 26. Документные RDBMS MongoDB Таблица Строка Идентификатор строки Коллекция Документ _id 26/41
  27. 27. Представление документа 27/41
  28. 28. 28/41
  29. 29. Семейство столбцов RDBMS Cassandra Экземпляр База данных Таблица Строка Столбцы (одни и те же для всех строк) Кластер Пространство ключей Семейство столбцов Строка Столбцы (могут быть разными для разных строк) 29/41
  30. 30. Представление семейства столбцов 30/41
  31. 31. 31/41
  32. 32. Графовые базы 32/41
  33. 33. Графовое представление 33/41
  34. 34. 34/41
  35. 35. План     Что нам известно Способы распределения данных CAP 4 типа баз данных NoSQL  MapReduce  Родственные области 35/41
  36. 36. MapReduce  Map (отображение) – принимает отдельные агрегаты и отображает их на пары ключ – значение  Reduce (свертка) – группирует полученные значения по ключам, агрегируя информацию 36/41
  37. 37. Размер фонотеки 37/41
  38. 38. План      Что нам известно Способы распределения данных CAP 4 типа баз данных NoSQL MapReduce  Родственные области 38/41
  39. 39. Родственные области    Файловые системы Порождение событий Контроль версий 39/41
  40. 40. Литература Прамодкумар Дж. Садаладж, Мартин Фаулер NoSQL. Новая методология разработки нереляционных баз данных 40/41
  41. 41. Спасибо! Вопросы? Юрий Солдаткин soldatkin@custis.ru 41/41

×