Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Новые нереляционные системы хранения данных

2.399 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Новые нереляционные системы хранения данных

  1. 1. Всеволод Дёмкин [email_address] Новые нереляционные системы хранения данных
  2. 2. Зачем всё это нужно? -> оно в облаке -> обещание масштабируемости -> много интересных идей -> как ни странно, это работает :)
  3. 3. Ландшафт средств хранения до Web Текстовые файлы Иерархические БД навигационные Реляционные БД Сетевые БД Объектные БД BerkleyDB
  4. 4. (с) artlebedev.ru NOSQL постоянные хеш-таблицы колонко- ориентированные документо- ориентированные БД для графов
  5. 5. Наш случай -> 4 млн. пользователей -> 20 тыс. API / час -> 1 API запрос ~ … сек -> 40 сек чтобы дать ответ пользователю БД КЕШ: -> волатильность -> списки рекомендации DB
  6. 6. Постоянные ХТ -> BerkleyDB -> memcached -> memcachedb -> Tokyo Cabinet + Tyrant -> Redis -> Voldemort -> Amazon SimpleDB
  7. 7. Redis -> списки, множества, сортированные множества, … -> волатильность (EXPIRE, TTL) -> очень быстрый (110k SET/sec, 81k GET/sec) но -> жрет много памяти -> не дружит с остальными -> очень быстро развивается
  8. 8. Документо-ориентированные БД -> не очень быстро -> простое взаимод. -> только MapReduce -> стабильная! -> так себе админ. -> хорошая док. -> очень быстро -> взаимод. — сложнее -> MapReduce + Dynamic -> есть баги -> удобная админ. -> так себе док.
  9. 9. API для взаимодействия -> raw sockets -> JSON HTTP REST -> Thrift (binary protocols)
  10. 10. Действительно распределенные CAP -теорема Брюэра Consistency Availability Partition tolerance
  11. 11. Колонко-ориентированные БД -> Google BigTable -> Facebook Cassandra -> HBase
  12. 12. Cassandra -> BigTable-база -> Dynamo-архитектура -> супер-колонки -> уровни Consistency -> P2P-распределенный: Gossip но -> Thrift
  13. 13. Сложность — фичастость plain-text memcached Tokyo Redis Berkley Couch Mongo Voldemort Cassandra HBase
  14. 14. За счет чего масштабируются? -> HT — non-blocking IO (iolib) -> DODB <ul><ul><ul><li>Join'ы уже сделаны
  15. 15. MapReduce </li></ul></ul></ul>-> СODB — архитектура
  16. 16. Take-away самое главное (как по мне):
  17. 17. Плюсы + некоторые действительно масштабируются + а другие быстро работают :) + есть специфические решения для некоторых задач + есть хорошие архитектурные решения
  18. 18. Минусы - незрелые - хайп - не до конца понятно - библиотеки, инструменты еще недоразвиты
  19. 19. «Литература» -> http://en.wikipedia.org/wiki/NoSQL -> http://nosql-database.org/ -> http://habrahabr.ru/blogs/hi/77909/ -> http://bjclark.me/2009/08/04/ nosql-if-only-it-was-that-easy/ -> http://www.eflorenzano.com/blog/post/ my-thoughts-nosql/ -> http://ria101.wordpress.com/2010/02/24/ hbase-vs-cassandra-why-we-moved/ -> http://www.yafla.com/dforbes/ Getting_Real_about_NoSQL_and_the_SQL_ Isnt_Scalable_Lie/

×