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

2,240 views
2,149 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,240
On SlideShare
0
From Embeds
0
Number of Embeds
110
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  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/

×