Кассандра - Введение

Apache Cassandra - это хорошо масштабируемая высокопроизводительная распределенная база данных, предназначенная для обработки больших объемов данных на многих стандартных серверах, обеспечивая высокую доступность без единой точки отказа. Это разновидность базы данных NoSQL. Давайте сначала разберемся, что делает база данных NoSQL.

NoSQLDatabase

База данных NoSQL (иногда называемая Not Only SQL) - это база данных, которая предоставляет механизм для хранения и извлечения данных, отличный от табличных отношений, используемых в реляционных базах данных. Эти базы данных не содержат схемы, поддерживают легкую репликацию, имеют простой API, в конечном итоге согласованный и могут обрабатывать огромные объемы данных.

Основная цель базы данных NoSQL - иметь

  • простота конструкции,
  • горизонтальное масштабирование и
  • более тонкий контроль над доступностью.

Базы данных NoSql используют другие структуры данных по сравнению с реляционными базами данных. Это ускоряет некоторые операции в NoSQL. Пригодность данной базы данных NoSQL зависит от проблемы, которую она должна решить.

NoSQL против реляционной базы данных

В следующей таблице перечислены моменты, которые отличают реляционную базу данных от базы данных NoSQL.

Реляционная база данных База данных NoSql
Поддерживает мощный язык запросов. Поддерживает очень простой язык запросов.
Имеет фиксированную схему. Нет фиксированной схемы.
Следует за ACID (атомарность, согласованность, изоляция и долговечность). Это только «в конечном итоге».
Поддерживает транзакции. Не поддерживает транзакции.

Помимо Cassandra, у нас есть следующие довольно популярные базы данных NoSQL:

  • Apache HBase- HBase - это нереляционная распределенная база данных с открытым исходным кодом, созданная по образцу Google BigTable и написанная на Java. Он разработан как часть проекта Apache Hadoop и работает поверх HDFS, предоставляя возможности BigTable для Hadoop.

  • MongoDB - MongoDB - это кроссплатформенная система баз данных, ориентированная на документы, которая избегает использования традиционной табличной структуры реляционной базы данных в пользу JSON-подобных документов с динамическими схемами, что упрощает и ускоряет интеграцию данных в определенные типы приложений.

Что такое Apache Cassandra?

Apache Cassandra - это распределенная децентрализованная / распределенная система хранения (база данных) с открытым исходным кодом, предназначенная для управления очень большими объемами структурированных данных, разбросанных по всему миру. Он обеспечивает высокодоступное обслуживание без единой точки отказа.

Ниже перечислены некоторые из примечательных моментов Apache Cassandra:

  • Он масштабируемый, отказоустойчивый и согласованный.

  • Это база данных, ориентированная на столбцы.

  • Его дизайн распространения основан на Dynamo от Amazon и его модели данных на Bigtable от Google.

  • Созданный в Facebook, он резко отличается от систем управления реляционными базами данных.

  • Cassandra реализует модель репликации в стиле Dynamo без единой точки отказа, но добавляет более мощную модель данных «семейства столбцов».

  • Cassandra используется некоторыми крупнейшими компаниями, такими как Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix и другими.

Особенности Кассандры

Кассандра стала настолько популярной из-за своих выдающихся технических характеристик. Ниже приведены некоторые особенности Cassandra:

  • Elastic scalability- Cassandra хорошо масштабируется; это позволяет добавить больше оборудования для обслуживания большего количества клиентов и большего количества данных в соответствии с требованиями.

  • Always on architecture - У Cassandra нет единой точки отказа, и она постоянно доступна для критически важных бизнес-приложений, которые не могут позволить себе отказ.

  • Fast linear-scale performance- Cassandra линейно масштабируется, т. Е. Увеличивает пропускную способность по мере увеличения количества узлов в кластере. Следовательно, он обеспечивает быстрое время отклика.

  • Flexible data storage- Cassandra поддерживает все возможные форматы данных, включая структурированные, полуструктурированные и неструктурированные. Он может динамически вносить изменения в ваши структуры данных в соответствии с вашими потребностями.

  • Easy data distribution - Cassandra обеспечивает гибкость для распределения данных там, где вам нужно, путем репликации данных в нескольких центрах обработки данных.

  • Transaction support - Cassandra поддерживает такие свойства, как атомарность, согласованность, изоляция и долговечность (ACID).

  • Fast writes- Cassandra была разработана для работы на дешевом стандартном оборудовании. Он выполняет невероятно быструю запись и может хранить сотни терабайт данных без ущерба для эффективности чтения.

История Кассандры

  • Кассандра была разработана в Facebook для поиска во входящих.
  • Его исходный код был открыт Facebook в июле 2008 года.
  • Кассандру приняли в инкубатор Apache в марте 2009 года.
  • Это был проект верхнего уровня Apache с февраля 2010 года.