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 — неспроста	ли
это	"ЖЖЖ"?
Даниил	Подольский
CTO	inCaller.org
Почему	это	важно
•Обчитавшиеся рекламы	руководители	
представляют	собой	проблему
Почему	это	важно
•Обчитавшиеся рекламы	руководители	
представляют	собой	проблему
•Обчитавшиеся форумов	и	чатиков инженеры	...
Почему	это	важно
•Обчитавшиеся рекламы	руководители	
представляют	собой	проблему
•Обчитавщиеся форумов	и	чатиков инженеры	...
Что	такое	NoSQL
Что	такое	NoSQL?
А	что	такое	SQL?
Что	такое	SQL
•Язык запросов AKA	Structured	Query	Language
Что	такое	SQL
•Язык запросов AKA	Structured	Query	Language
•РСУБД	AKA	RDBMS
•Типизация
•Таблицы
•Связи AKA	foreign keys
Что	такое	SQL
•Язык запросов AKA	Structured	Query	Language
•РСУБД	AKA	RDBMS
•Типизация
•Таблицы
•Связи AKA	foreign keys
•Т...
Что	такое	SQL
•Язык запросов AKA	Structured	Query	Language
•РСУБД	AKA	RDBMS
•Типизация
•Таблицы
•Связи AKA	foreign keys
•Т...
Так	что	же	такое	NoSQL
• Нет	языка	запросов
• Это	полуправда!
Так	что	же	такое	NoSQL
• Нет	языка	запросов
• Это	полуправда!
• Нет	жесткой	типизации
• CREATE TABLE nosql (
key BIGINT,
v...
Так	что	же	такое	NoSQL
• Нет	языка	запросов
• Это	полуправда!
• Нет	жесткой	типизации
• CREATE TABLE nosql (
key BIGINT,
v...
Так	что	же	такое	NoSQL
•Все	вышеперечисленное	позволяет	NoSQL	
быть	быстрее	SQL
Так	что	же	такое	NoSQL
•Все	вышеперечисленное	позволяет	NoSQL	
быть	быстрее	SQL
•И	это	даже	правда
Так	что	же	такое	NoSQL
•Все	вышеперечисленное	позволяет	NoSQL	
быть	быстрее	SQL
•И	это	даже	правда
•Местами!
Why	NoSQL	is	sexy
•Скорость
Why	NoSQL	is	sexy
•Скорость
•Возможность	строить	распределенные	
системы
Why	NoSQL	is	sexy
•Скорость
•Возможность	строить	распределенные	
системы
•Возможность	распараллеливать	нагрузку
Why	NoSQL	is	sexy
•Скорость
•Возможность	строить	распределенные	
системы
•Возможность	распараллеливать	нагрузку
•Возможнос...
Why	NoSQL	is	sexy
•Скорость
•Возможность	строить	распределенные	
системы
•Возможность	распараллеливать	нагрузку
•Возможнос...
Why	NoSQL	is	sexy	not	so	much
• Никаких	транзакций
• ACID- транзакции	заявлены,	но	распространяются	они	на	обновление	
одн...
Why	NoSQL	is	sexy	not	so	much
• Никаких	транзакций
• ACID- транзакции	заявлены,	но	распространяются	они	на	обновление	
одн...
Why	NoSQL	is	sexy	not	so	much
• Никаких	транзакций
• ACID- транзакции	заявлены,	но	распространяются	они	на	обновление	
одн...
Why	NoSQL	is	sexy	not	so	much
• Никаких	транзакций
• ACID- транзакции	заявлены,	но	распространяются	они	на	обновление	
одн...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	обойтись без
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	обойтись без:
•Маленький	dataset
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	обойтись без:
•Маленький	dataset
•99%	read	1%	write
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	обойтись без:
•Маленький	dataset
•99%	read	1%	write
...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	обойтись без:
•Маленький	dataset
•99%	read	1%	write
...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	обойтись без:
•Маленький	dataset
•99%	read	1%	write
...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	внедрять
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	внедрять:
•Большой	dataset с	низкой	связанностью
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	внедрять:
•Большой	dataset с	низкой	связанностью
•Вы...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	внедрять:
•Большой	dataset с	низкой	связанностью
•Вы...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	точно	надо	внедрять:
•Большой	dataset с	низкой	связанностью
•Вы...
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	можно	попробовать
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	можно	попробовать
•Никогда!
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	можно	попробовать
•Никогда!
Основы	проектирования	систем
с	использованием	NoSQL
•Когда	можно	попробовать
•Никогда!
•Это	как	с	женитьбой…
Основы	внедрения	NoSQL
• “MySQL тоже	NoSQL”	AKA	“PostgreSQL тоже	NoSQL”
Основы	внедрения	NoSQL
• “MySQL тоже	NoSQL”	AKA	“PostgreSQL тоже	NoSQL”
• Не	ведитесь
Основы	внедрения	NoSQL
• “MySQL тоже	NoSQL”	AKA	“PostgreSQL тоже	NoSQL”
• Не	ведитесь
• Ну	разве	что	вам	просто	нравится	и...
Основы	внедрения	NoSQL
• “MySQL тоже	NoSQL”	AKA	“PostgreSQL тоже	NoSQL”
• Не	ведитесь
• Ну	разве	что	вам	просто	нравится	и...
Основы	внедрения	NoSQL
• “MySQL тоже	NoSQL”	AKA	“PostgreSQL тоже	NoSQL”
• Не	ведитесь
• Ну	разве	что	вам	просто	нравится	и...
Основы	внедрения	NoSQL
•In-memory,	одна	node
Основы	внедрения	NoSQL
•In-memory,	одна	node
•Возьмите	memcache
Основы	внедрения	NoSQL
•In-memory,	одна	node
•Возьмите	memcache
•Хотите	персистентности - возьмите	Tarantool
Основы	внедрения	NoSQL
•In-memory,	одна	node
•Возьмите	memcache
•Хотите	персистентности - возьмите	Tarantool
•Да	возьмите	...
Основы	внедрения	NoSQL
•In-memory,	одна	node
•Возьмите	memcache
•Хотите	персистентности - возьмите	Tarantool
•Да	возьмите	...
Основы	внедрения	NoSQL
•In-memory,	несколько нод,	replication	factor	1
Основы	внедрения	NoSQL
•In-memory,	несколько нод,	replication	factor	1
•Возьмите memcache
Основы	внедрения	NoSQL
•In-memory,	несколько нод,	replication	factor	1
•Возьмите memcache
•Потому,	что вам ничто не поможет
Основы	внедрения	NoSQL
•Несколько нод,	replication	factor	>	1
Основы	внедрения	NoSQL
•Несколько нод,	replication	factor	>	1
•Вот тут,	собственно,	и начинается NoSQL
Основы	внедрения	NoSQL
•Несколько нод,	replication	factor	>	1
•Вот тут,	собственно,	и начинается NoSQL
•Write-optimized	и ...
Основы	внедрения	NoSQL
•Несколько нод,	replication	factor	>	1
•Вот тут,	собственно,	и начинается NoSQL
•Write-optimized	и ...
Основы	внедрения	NoSQL
•Несколько нод,	replication	factor	>	1
•Вот тут,	собственно,	и начинается NoSQL
•Write-optimized	и ...
Основы	внедрения	NoSQL
•Несколько нод,	replication	factor	>	1
•Вот тут,	собственно,	и начинается NoSQL
•Write-optimized	и ...
Немного	практического	опыта
• Aerospike	как яркий представитель read-optimized	key-
value	хранилищ
Немного	практического	опыта
• Aerospike	как яркий представитель read-optimized	key-
value	хранилищ
• OpenSource с 2014	года
Немного	практического	опыта
• Aerospike	как яркий представитель read-optimized	key-
value	хранилищ
• OpenSource с 2014	год...
Немного	практического	опыта
• Aerospike	как яркий представитель read-optimized	key-
value	хранилищ
• OpenSource с 2014	год...
Немного	практического	опыта
• Aerospike	как яркий представитель read-optimized	key-
value	хранилищ
• OpenSource с 2014	год...
Немного	практического	опыта
• Aerospike	как яркий представитель read-optimized	key-
value	хранилищ
• OpenSource с 2014	год...
Немного	практического	опыта
•Aerospike: ложка	дегтя,	или	сказ	о	Григории	
девопсе и	15	minutes	power	outage
Немного	практического	опыта
•Aerospike: ложка	дегтя,	или	сказ	о	Григории	
девопсе и	15	minutes	power	outage
•Не	надо	испол...
Немного	практического	опыта
•Aerospike: ложка	дегтя,	или	сказ	о	Григории	
девопсе и	15	minutes	power	outage
•Не	надо	испол...
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
• OpenSource
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
• OpenSource
• Написана на Java
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
• OpenSource
• Написана на Jav...
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
• OpenSource
• Написана на Jav...
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
• OpenSource
• Написана на Jav...
Немного	практического	опыта
• Cassandra	как яркий представитель write-optimized	NoSQL	
СУБД
• OpenSource
• Написана на Jav...
Немного	практического	опыта
•Cassandra:	ложка	дегтя,	или	сказ	о	
Константине	девопсе и	100%	disk	utilisation
Немного	практического	опыта
•Cassandra:	ложка	дегтя,	или	сказ	о	
Константине	девопсе и	100%	disk	utilisation
•Дисковый cac...
Немного	практического	опыта
•Cassandra:	ложка	дегтя,	или	сказ	о	
Константине	девопсе и	100%	disk	utilisation
•Дисковый cac...
Итого
•Если	есть	шанс	обойтись	без	NoSQL –
обойдитесь	без	него
•Личное	мнение	докладчика,	конечно	же
Итого
•Если	есть	шанс	обойтись	без	NoSQL –
обойдитесь	без	него
•Личное	мнение	докладчика,	конечно	же
•Если	шанса	нет	- выб...
Итого
•Если	есть	шанс	обойтись	без	NoSQL –
обойдитесь	без	него
•Личное	мнение	докладчика,	конечно	же
•Если	шанса	нет	- выб...
Вопросы?
Upcoming SlideShare
Loading in …5
×

NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)

1,101 views

Published on

NoSQL — это слово громко "жужжит".

К сожалению, оно при этом ничего не означает. Это не продукт, не технология, и даже не концепция. Это даже не подход к проектированию. Это, скорее, декларация отказа от некоторых паттернов проектирования, господствовавших в разработке клиент-серверных систем долгие годы.

На этом доклад можно было бы и закончить. Если бы мы не знали достоверно, что на свете есть люди, которые умудряются извлекать прибыль, используя NoSQL в своих проектах. Ну или сокращать убытки, по крайней мере.

Попробуем еще раз.

NoSQL — это именно декларация отказа от некоторых паттернов.

- От чего именно придется отказаться? Упомянутые паттерны так живучи совсем не случайно.
- Как это ударит по проекту? Не сомневайтесь, оно ударит, в этом мире нет ни серебряных пуль, ни бесплатного сыра.
- Какими свойствами должен обладать проект, чтобы внедрение NoSQL СУБД принесло ему пользу? Избегать NoSQL — это не трусость, это осторожность.
- Каковы сильные стороны NoSQL СУБД, и в чем профит? Выбор NoSQL — это всегда выбор в пользу меньшего зла.
- Как выбрать NoSQL СУБД под свою задачу? На http://nosql-database.org/ есть список LIST OF NOSQL DATABASES [currently >225], и даже просто прочесть его — тяжелая работа.
- Почему реальный выбор NoSQL СУБД — это выбор между Aerospike и Cassandra? Да, это провокационный вопрос, но на него есть not-so-provocative ответ.
- С какими проблемами сталкиваются разработчики и администраторы при эксплуатации "тяжелой" NoSQL базы? К сожалению, большая часть этих проблем создается именно присутствием NoSQL.
- Что можно делать с NoSQL СУБД и чего нельзя? На какие параметры производительности и отказоустойчивости можно рассчитывать? В чем особенности выбора "железа" для NoSQL?
- И �

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)

  1. 1. NoSQL — неспроста ли это "ЖЖЖ"? Даниил Подольский CTO inCaller.org
  2. 2. Почему это важно •Обчитавшиеся рекламы руководители представляют собой проблему
  3. 3. Почему это важно •Обчитавшиеся рекламы руководители представляют собой проблему •Обчитавшиеся форумов и чатиков инженеры представляют собой еще большую проблему
  4. 4. Почему это важно •Обчитавшиеся рекламы руководители представляют собой проблему •Обчитавщиеся форумов и чатиков инженеры представляют собой еще большую проблему •NoSQL – мощное и эффективное техническое средство, хоть и предъявляет повышенные требования ко квалификации разработчиков
  5. 5. Что такое NoSQL Что такое NoSQL? А что такое SQL?
  6. 6. Что такое SQL •Язык запросов AKA Structured Query Language
  7. 7. Что такое SQL •Язык запросов AKA Structured Query Language •РСУБД AKA RDBMS •Типизация •Таблицы •Связи AKA foreign keys
  8. 8. Что такое SQL •Язык запросов AKA Structured Query Language •РСУБД AKA RDBMS •Типизация •Таблицы •Связи AKA foreign keys •Транзакции
  9. 9. Что такое SQL •Язык запросов AKA Structured Query Language •РСУБД AKA RDBMS •Типизация •Таблицы •Связи AKA foreign keys •Транзакции •One server to rule them all
  10. 10. Так что же такое NoSQL • Нет языка запросов • Это полуправда!
  11. 11. Так что же такое NoSQL • Нет языка запросов • Это полуправда! • Нет жесткой типизации • CREATE TABLE nosql ( key BIGINT, value BLOB );
  12. 12. Так что же такое NoSQL • Нет языка запросов • Это полуправда! • Нет жесткой типизации • CREATE TABLE nosql ( key BIGINT, value BLOB ); • No relations, все строки – сами по себе • Денормализация как норма жизни
  13. 13. Так что же такое NoSQL •Все вышеперечисленное позволяет NoSQL быть быстрее SQL
  14. 14. Так что же такое NoSQL •Все вышеперечисленное позволяет NoSQL быть быстрее SQL •И это даже правда
  15. 15. Так что же такое NoSQL •Все вышеперечисленное позволяет NoSQL быть быстрее SQL •И это даже правда •Местами!
  16. 16. Why NoSQL is sexy •Скорость
  17. 17. Why NoSQL is sexy •Скорость •Возможность строить распределенные системы
  18. 18. Why NoSQL is sexy •Скорость •Возможность строить распределенные системы •Возможность распараллеливать нагрузку
  19. 19. Why NoSQL is sexy •Скорость •Возможность строить распределенные системы •Возможность распараллеливать нагрузку •Возможность жертвовать консистентностью
  20. 20. Why NoSQL is sexy •Скорость •Возможность строить распределенные системы •Возможность распараллеливать нагрузку •Возможность жертвовать консистентностью
  21. 21. Why NoSQL is sexy not so much • Никаких транзакций • ACID- транзакции заявлены, но распространяются они на обновление одной строки!
  22. 22. Why NoSQL is sexy not so much • Никаких транзакций • ACID- транзакции заявлены, но распространяются они на обновление одной строки! • Никаких сложных запросов • Для распределенной системы они невозможны • А нераспределенная не нужна
  23. 23. Why NoSQL is sexy not so much • Никаких транзакций • ACID- транзакции заявлены, но распространяются они на обновление одной строки! • Никаких сложных запросов • Для распределенной системы они невозможны • А нераспределенная не нужна • Сомнительная поддержка вторичных индексов • Это чрезвычайно важно
  24. 24. Why NoSQL is sexy not so much • Никаких транзакций • ACID- транзакции заявлены, но распространяются они на обновление одной строки! • Никаких сложных запросов • Для распределенной системы они невозможны • А нераспределенная не нужна • Сомнительная поддержка вторичных индексов • Это чрезвычайно важно • Никаких связей • Денормализация как норма жизни • И скан по resultset
  25. 25. Основы проектирования систем с использованием NoSQL •Когда точно надо обойтись без
  26. 26. Основы проектирования систем с использованием NoSQL •Когда точно надо обойтись без: •Маленький dataset
  27. 27. Основы проектирования систем с использованием NoSQL •Когда точно надо обойтись без: •Маленький dataset •99% read 1% write
  28. 28. Основы проектирования систем с использованием NoSQL •Когда точно надо обойтись без: •Маленький dataset •99% read 1% write •Низкие требования к производительности •Низкие - это меньше 100KUps
  29. 29. Основы проектирования систем с использованием NoSQL •Когда точно надо обойтись без: •Маленький dataset •99% read 1% write •Низкие требования к производительности •Низкие - это меньше 100KUps •Высокие требования к консистентности •NoSQL база не консистентна никогда!
  30. 30. Основы проектирования систем с использованием NoSQL •Когда точно надо обойтись без: •Маленький dataset •99% read 1% write •Низкие требования к производительности •Низкие - это меньше 100KUps •Высокие требования к консистентности •NoSQL база не консистентна никогда!
  31. 31. Основы проектирования систем с использованием NoSQL •Когда точно надо внедрять
  32. 32. Основы проектирования систем с использованием NoSQL •Когда точно надо внедрять: •Большой dataset с низкой связанностью
  33. 33. Основы проектирования систем с использованием NoSQL •Когда точно надо внедрять: •Большой dataset с низкой связанностью •Высокие требования к доступности данных
  34. 34. Основы проектирования систем с использованием NoSQL •Когда точно надо внедрять: •Большой dataset с низкой связанностью •Высокие требования к доступности данных •Высокие требования к latency
  35. 35. Основы проектирования систем с использованием NoSQL •Когда точно надо внедрять: •Большой dataset с низкой связанностью •Высокие требования к доступности данных •Высокие требования к latency •Высокая вероятность необходимости постоянного расширения кластера •Как ни старайся, а РСУБД шардируется плохо
  36. 36. Основы проектирования систем с использованием NoSQL •Когда можно попробовать
  37. 37. Основы проектирования систем с использованием NoSQL •Когда можно попробовать •Никогда!
  38. 38. Основы проектирования систем с использованием NoSQL •Когда можно попробовать •Никогда!
  39. 39. Основы проектирования систем с использованием NoSQL •Когда можно попробовать •Никогда! •Это как с женитьбой…
  40. 40. Основы внедрения NoSQL • “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL”
  41. 41. Основы внедрения NoSQL • “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL” • Не ведитесь
  42. 42. Основы внедрения NoSQL • “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL” • Не ведитесь • Ну разве что вам просто нравится идея
  43. 43. Основы внедрения NoSQL • “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL” • Не ведитесь • Ну разве что вам просто нравится идея • Сказ о том, как программист Александр боролся за свободу самовыражения, и об использовании Anemometer как инструмента свободоподавления
  44. 44. Основы внедрения NoSQL • “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL” • Не ведитесь • Ну разве что вам просто нравится идея • Сказ о том, как программист Александр боролся за свободу самовыражения, и об использовании Anemometer как инструмента свободоподавления • РСУБД захватили мир не по нашей тупости, а потому, что эта парадигма наиболее гибкая из известных
  45. 45. Основы внедрения NoSQL •In-memory, одна node
  46. 46. Основы внедрения NoSQL •In-memory, одна node •Возьмите memcache
  47. 47. Основы внедрения NoSQL •In-memory, одна node •Возьмите memcache •Хотите персистентности - возьмите Tarantool
  48. 48. Основы внедрения NoSQL •In-memory, одна node •Возьмите memcache •Хотите персистентности - возьмите Tarantool •Да возьмите что угодно - результат не изменится
  49. 49. Основы внедрения NoSQL •In-memory, одна node •Возьмите memcache •Хотите персистентности - возьмите Tarantool •Да возьмите что угодно - результат не изменится •Даже и репликацию можете включить •Сможете масштабировать чтение
  50. 50. Основы внедрения NoSQL •In-memory, несколько нод, replication factor 1
  51. 51. Основы внедрения NoSQL •In-memory, несколько нод, replication factor 1 •Возьмите memcache
  52. 52. Основы внедрения NoSQL •In-memory, несколько нод, replication factor 1 •Возьмите memcache •Потому, что вам ничто не поможет
  53. 53. Основы внедрения NoSQL •Несколько нод, replication factor > 1
  54. 54. Основы внедрения NoSQL •Несколько нод, replication factor > 1 •Вот тут, собственно, и начинается NoSQL
  55. 55. Основы внедрения NoSQL •Несколько нод, replication factor > 1 •Вот тут, собственно, и начинается NoSQL •Write-optimized и read-optimized •Что это
  56. 56. Основы внедрения NoSQL •Несколько нод, replication factor > 1 •Вот тут, собственно, и начинается NoSQL •Write-optimized и read-optimized •Что это •Почему это важно
  57. 57. Основы внедрения NoSQL •Несколько нод, replication factor > 1 •Вот тут, собственно, и начинается NoSQL •Write-optimized и read-optimized •Что это •Почему это важно •Почему нельзя сделать both-optimized
  58. 58. Основы внедрения NoSQL •Несколько нод, replication factor > 1 •Вот тут, собственно, и начинается NoSQL •Write-optimized и read-optimized •Что это •Почему это важно •Почему нельзя сделать both-optimized •Репликация, ребалансинг, восстановление целостности
  59. 59. Немного практического опыта • Aerospike как яркий представитель read-optimized key- value хранилищ
  60. 60. Немного практического опыта • Aerospike как яркий представитель read-optimized key- value хранилищ • OpenSource с 2014 года
  61. 61. Немного практического опыта • Aerospike как яркий представитель read-optimized key- value хранилищ • OpenSource с 2014 года • Прекрасный GUI контроля состояния кластера
  62. 62. Немного практического опыта • Aerospike как яркий представитель read-optimized key- value хранилищ • OpenSource с 2014 года • Прекрасный GUI контроля состояния кластера • Отлично работающие ребалансинг и восстановление
  63. 63. Немного практического опыта • Aerospike как яркий представитель read-optimized key- value хранилищ • OpenSource с 2014 года • Прекрасный GUI контроля состояния кластера • Отлично работающие ребалансинг и восстановление • Индексы всегда в памяти, данные возможно в памяти
  64. 64. Немного практического опыта • Aerospike как яркий представитель read-optimized key- value хранилищ • OpenSource с 2014 года • Прекрасный GUI контроля состояния кластера • Отлично работающие ребалансинг и восстановление • Индексы всегда в памяти, данные возможно в памяти • Достаточная производительность: 150KUps, 400KRps на кластере из 4-х нод
  65. 65. Немного практического опыта •Aerospike: ложка дегтя, или сказ о Григории девопсе и 15 minutes power outage
  66. 66. Немного практического опыта •Aerospike: ложка дегтя, или сказ о Григории девопсе и 15 minutes power outage •Не надо использовать Aerospike для больших объемов данных
  67. 67. Немного практического опыта •Aerospike: ложка дегтя, или сказ о Григории девопсе и 15 minutes power outage •Не надо использовать Aerospike для больших объемов данных •А еще у Aerospike очень медленное обновление вторичных индексов
  68. 68. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД
  69. 69. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД • OpenSource
  70. 70. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД • OpenSource • Написана на Java
  71. 71. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД • OpenSource • Написана на Java • Индексы хранятся на диске
  72. 72. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД • OpenSource • Написана на Java • Индексы хранятся на диске • Вторичные индексы обновляются быстро
  73. 73. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД • OpenSource • Написана на Java • Индексы хранятся на диске • Вторичные индексы обновляются быстро • Работающие средства восстановления целостности и ребалансинга
  74. 74. Немного практического опыта • Cassandra как яркий представитель write-optimized NoSQL СУБД • OpenSource • Написана на Java • Индексы хранятся на диске • Вторичные индексы обновляются быстро • Работающие средства восстановления целостности и ребалансинга • Mmaped files
  75. 75. Немного практического опыта •Cassandra: ложка дегтя, или сказ о Константине девопсе и 100% disk utilisation
  76. 76. Немного практического опыта •Cassandra: ложка дегтя, или сказ о Константине девопсе и 100% disk utilisation •Дисковый cache на SSD - наше все
  77. 77. Немного практического опыта •Cassandra: ложка дегтя, или сказ о Константине девопсе и 100% disk utilisation •Дисковый cache на SSD - наше все •No GUI for version 3 yet
  78. 78. Итого •Если есть шанс обойтись без NoSQL – обойдитесь без него •Личное мнение докладчика, конечно же
  79. 79. Итого •Если есть шанс обойтись без NoSQL – обойдитесь без него •Личное мнение докладчика, конечно же •Если шанса нет - выберите правильный продукт •Не все NoSQL базы полезны одинаково
  80. 80. Итого •Если есть шанс обойтись без NoSQL – обойдитесь без него •Личное мнение докладчика, конечно же •Если шанса нет - выберите правильный продукт •Не все NoSQL базы полезны одинаково •Если ваш паттерн ляжет на парадигму NoSQL хорошо - результаты будут существенно лучше, чем при использовании РСУБД
  81. 81. Вопросы?

×