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?
- И �
22. Why NoSQL is sexy not so much
• Никаких транзакций
• ACID- транзакции заявлены, но распространяются они на обновление
одной строки!
• Никаких сложных запросов
• Для распределенной системы они невозможны
• А нераспределенная не нужна
23. Why NoSQL is sexy not so much
• Никаких транзакций
• ACID- транзакции заявлены, но распространяются они на обновление
одной строки!
• Никаких сложных запросов
• Для распределенной системы они невозможны
• А нераспределенная не нужна
• Сомнительная поддержка вторичных индексов
• Это чрезвычайно важно
24. Why NoSQL is sexy not so much
• Никаких транзакций
• ACID- транзакции заявлены, но распространяются они на обновление
одной строки!
• Никаких сложных запросов
• Для распределенной системы они невозможны
• А нераспределенная не нужна
• Сомнительная поддержка вторичных индексов
• Это чрезвычайно важно
• Никаких связей
• Денормализация как норма жизни
• И скан по resultset
43. Основы внедрения NoSQL
• “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL”
• Не ведитесь
• Ну разве что вам просто нравится идея
• Сказ о том, как программист Александр боролся за
свободу самовыражения, и об использовании
Anemometer как инструмента свободоподавления
44. Основы внедрения NoSQL
• “MySQL тоже NoSQL” AKA “PostgreSQL тоже NoSQL”
• Не ведитесь
• Ну разве что вам просто нравится идея
• Сказ о том, как программист Александр боролся за
свободу самовыражения, и об использовании
Anemometer как инструмента свободоподавления
• РСУБД захватили мир не по нашей тупости, а
потому, что эта парадигма наиболее гибкая из
известных
62. Немного практического опыта
• Aerospike как яркий представитель read-optimized key-
value хранилищ
• OpenSource с 2014 года
• Прекрасный GUI контроля состояния кластера
• Отлично работающие ребалансинг и восстановление
63. Немного практического опыта
• Aerospike как яркий представитель read-optimized key-
value хранилищ
• OpenSource с 2014 года
• Прекрасный GUI контроля состояния кластера
• Отлично работающие ребалансинг и восстановление
• Индексы всегда в памяти, данные возможно в
памяти
64. Немного практического опыта
• Aerospike как яркий представитель read-optimized key-
value хранилищ
• OpenSource с 2014 года
• Прекрасный GUI контроля состояния кластера
• Отлично работающие ребалансинг и восстановление
• Индексы всегда в памяти, данные возможно в
памяти
• Достаточная производительность: 150KUps, 400KRps
на кластере из 4-х нод
73. Немного практического опыта
• Cassandra как яркий представитель write-optimized NoSQL
СУБД
• OpenSource
• Написана на Java
• Индексы хранятся на диске
• Вторичные индексы обновляются быстро
• Работающие средства восстановления целостности и
ребалансинга
74. Немного практического опыта
• Cassandra как яркий представитель write-optimized NoSQL
СУБД
• OpenSource
• Написана на Java
• Индексы хранятся на диске
• Вторичные индексы обновляются быстро
• Работающие средства восстановления целостности и
ребалансинга
• Mmaped files