784.23K

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.

Архитектура Cassandra
Cassandra была разработана с учетом многих требований к архитектуре. Наиболее важным требованием
является обеспечение отсутствия единой точки отказа. Это означает, что если в кластере есть 100 узлов и
узел выходит из строя, кластер должен продолжать работать.
Некоторые из особенностей архитектуры Cassandra заключаются в следующем:
• Cassandra спроектирована таким образом, что у нее нет ни главного, ни ведомого узлов.
• Он имеет архитектуру кольцевого типа, то есть его узлы логически распределены подобно кольцу.
• Данные автоматически распределяются по всем узлам.
• Подобно HDFS, данные реплицируются по узлам для обеспечения избыточности.
• Данные хранятся в памяти и лениво записываются на диск.
• Хэш-значения ключей используются для распределения данных между узлами кластера.

6.

Архитектура Cassandra
Хэш-значение генерируется с использованием
алгоритма, так что одно и то же значение
ключа всегда дает одно и то же хэш-значение. В
кольцевой архитектуре каждому узлу
присваивается значение токена, как показано
на рисунке.

7.

Процесс записи Cassandra

8.

Rack (Стойка)

9.

Чтение данных в Cassandra

10.

Партиция данных

11.

Gossip протокол

12.

Виртуальные узлы

13.

Преимущества
• Open Source
• Peer-to-peer архитектура
• Эластичная масштабируемость
• Высокая доступность и отказоустойчивость
• Высокая производительность

14.

Направления практического
применения
• Каталоги продукции в интернет-магазинах или плейлисты
• Рекомендательные системы и персонализация
маркетинговых предложений.
• Системы обмена сообщениями (чаты, приложения для
совместной работы, мобильные мессенджеры и пр.)
• Обнаружение мошенничества (Fraud Detection).
English     Русский Правила