Similar presentations:
Apache Cassandra
1.
Apache CassandraАБУЛАДЗЕ А.В ЕТ-411
2.
История созданияАвинаш Лакшман, один из авторов Amazon
Dynamo, и Прашант Малик изначально
разработали Cassandra в Facebook для
обеспечения функции поиска входящих
сообщений Facebook. Facebook выпустил
Cassandra как проект с открытым исходным
кодом в коде Google в июле 2008 года. В
марте 2009 года он стал проектом Apache
Incubator. 17 февраля 2010 г. он стал
проектом высшего уровня.
3.
Кто использует Cassandra?516 компаний используют Cassandra в своих технологических стэках, включая Uber, Facebook и Netflix.
4.
Конкуренты CassandraОдна из проблем, с которой пользователи обычно сталкиваются с Redis, заключается в том, что
он работает медленно при использовании с огромными наборами данных. Он больше
подходит для быстро меняющихся наборов данных.
Можно моделировать свои данные в виде документов или в виде графа - никакой привязки к
модели данных. Вы даже можете объединить обе модели и использовать их в одном SQLзапросе.
представляет собой распределенный мультимодельный программный пакет NoSQL,
оптимизированный для интерактивных приложений. Эти приложения могут обслуживать
множество одновременно работающих пользователей путем создания, хранения, извлечения,
агрегирования, обработки и представления данных.
DynamoDB поддерживает автоматическое масштабирование, содержит встроенные
показатели для мониторинга и шифрует данные в состоянии покоя. С другой стороны,
Cassandra предлагает быструю запись, линейную масштабируемость, постоянную доступность,
надежную репликацию между центрами обработки данных и другие преимущества.Если вы
уже используете AWS и вам требуется база данных NoSQL, вам следует выбрать DynamoDB.
5.
Архитектура CassandraCassandra была разработана с учетом многих требований к архитектуре. Наиболее важным требованием
является обеспечение отсутствия единой точки отказа. Это означает, что если в кластере есть 100 узлов и
узел выходит из строя, кластер должен продолжать работать.
Некоторые из особенностей архитектуры Cassandra заключаются в следующем:
• Cassandra спроектирована таким образом, что у нее нет ни главного, ни ведомого узлов.
• Он имеет архитектуру кольцевого типа, то есть его узлы логически распределены подобно кольцу.
• Данные автоматически распределяются по всем узлам.
• Подобно HDFS, данные реплицируются по узлам для обеспечения избыточности.
• Данные хранятся в памяти и лениво записываются на диск.
• Хэш-значения ключей используются для распределения данных между узлами кластера.
6.
Архитектура CassandraХэш-значение генерируется с использованием
алгоритма, так что одно и то же значение
ключа всегда дает одно и то же хэш-значение. В
кольцевой архитектуре каждому узлу
присваивается значение токена, как показано
на рисунке.
7.
Процесс записи Cassandra8.
Rack (Стойка)9.
Чтение данных в Cassandra10.
Партиция данных11.
Gossip протокол12.
Виртуальные узлы13.
Преимущества• Open Source
• Peer-to-peer архитектура
• Эластичная масштабируемость
• Высокая доступность и отказоустойчивость
• Высокая производительность
14.
Направления практическогоприменения
• Каталоги продукции в интернет-магазинах или плейлисты
• Рекомендательные системы и персонализация
маркетинговых предложений.
• Системы обмена сообщениями (чаты, приложения для
совместной работы, мобильные мессенджеры и пр.)
• Обнаружение мошенничества (Fraud Detection).