Apache Cassandra — это высоко масштабируемая, высокопроизводительная распределенная база данных, предназначенная для обработки больших объемов данных на многих обычных серверах, обеспечивая высокую доступность без единой точки отказа. Это тип базы данных NoSQL. Давайте сначала разберемся, что делает база данных NoSQL.
NoSQLDatabase
База данных NoSQL (иногда называемая не только 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 HBase — HBase — это нереляционная распределенная база данных с открытым исходным кодом, созданная по образцу Google BigTable и написанная на Java. Он разработан как часть проекта Apache Hadoop и работает поверх HDFS, предоставляя возможности, подобные BigTable, для Hadoop.
MongoDB — MongoDB — это кроссплатформенная система баз данных, ориентированная на документы, которая не использует традиционную структуру реляционных баз данных на основе таблиц в пользу JSON-подобных документов с динамическими схемами, что упрощает и ускоряет интеграцию данных в определенные типы приложений.
Что такое Apache Cassandra?
Apache Cassandra — это распределенная и децентрализованная / распределенная система хранения (база данных) с открытым исходным кодом, предназначенная для управления очень большими объемами структурированных данных, разбросанных по всему миру. Он предоставляет высокодоступный сервис без единой точки отказа.
Ниже перечислены некоторые заметные моменты Apache Cassandra —
-
Это масштабируемый, отказоустойчивый и последовательный.
-
Это база данных, ориентированная на столбцы.
-
Его дизайн распространения основан на Amazon Dynamo и его модели данных на Google Bigtable.
-
Созданный на Facebook, он резко отличается от систем управления реляционными базами данных.
-
Cassandra реализует модель репликации в стиле Dynamo без единой точки отказа, но добавляет более мощную модель данных «семейства столбцов».
-
Cassandra используется некоторыми крупнейшими компаниями, такими как Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix и другими.
Это масштабируемый, отказоустойчивый и последовательный.
Это база данных, ориентированная на столбцы.
Его дизайн распространения основан на Amazon Dynamo и его модели данных на Google Bigtable.
Созданный на Facebook, он резко отличается от систем управления реляционными базами данных.
Cassandra реализует модель репликации в стиле Dynamo без единой точки отказа, но добавляет более мощную модель данных «семейства столбцов».
Cassandra используется некоторыми крупнейшими компаниями, такими как Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix и другими.
Особенности Кассандры
Кассандра стала настолько популярной благодаря своим выдающимся техническим характеристикам. Ниже приведены некоторые особенности Кассандры:
Эластичная масштабируемость — Cassandra отлично масштабируется; это позволяет добавить больше оборудования, чтобы разместить больше клиентов и больше данных согласно требованию.
Всегда на архитектуре — Cassandra не имеет единой точки отказа, и она постоянно доступна для критически важных для бизнеса приложений, которые не могут допустить сбоя.
Высокая производительность в линейном масштабе — Cassandra линейно масштабируется, т. Е. Увеличивает пропускную способность при увеличении количества узлов в кластере. Поэтому он поддерживает быстрое время отклика.
Гибкое хранение данных — Cassandra поддерживает все возможные форматы данных, включая: структурированные, полуструктурированные и неструктурированные. Он может динамически приспосабливать изменения к вашим структурам данных в соответствии с вашими потребностями.
Простое распространение данных — Cassandra обеспечивает гибкость в распределении данных там, где вам нужно, путем репликации данных между несколькими центрами обработки данных.
Поддержка транзакций — Cassandra поддерживает такие свойства, как атомарность, согласованность, изоляция и долговечность (ACID).
Быстро пишет — Cassandra была разработана для работы на дешевом оборудовании. Он выполняет невероятно быструю запись и может хранить сотни терабайт данных, не жертвуя эффективностью чтения.