Apache Cassandra

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Apache Cassandra
Cassandra logo.svg
Тип розподілена система керування базами даних
Автор(и) Avinash Lakshman, Prashant Malik
Розробник Apache Software Foundation
Перший випуск 2008
Стабільний випуск 3.0 (10 листопада 2015; 741 день тому )
Версії 3.11.1
Репозиторій git://git.apache.org/cassandra.git, https://github.com/apache/cassandra
Операційна система крос-платформовий
Написано на Java
Доступні мови англійська
Стан розробки активний
Ліцензія Apache License 2
cassandra.apache.org

CMNS: Apache Cassandra на Вікісховищі

Apache Cassandraрозподілена система керування базами даних, що відноситься до класу noSQL-систем і розрахована на створення високомасштабованих і надійних сховищ величезних масивів даних, представлених у вигляді хеша.

Спочатку проект був розроблений в надрах Facebook і в 2009 році переданий під оруду фонду Apache Software Foundation. Промислові рішення на базі Cassandra розгорнуті для забезпечення сервісів таких компаній, як Cisco, IBM, Cloudkick, Reddit, Digg, Rackspace і Twitter. Станом на 2011 рік найбільший кластер серверів, котрий обслуговує єдину БД Cassandra, налічує понад 400 машин і містить дані розміром понад 300 Тб.[1]

Огляд[ред.ред. код]

СКБД Cassandra написана на мові Java і об'єднує в собі повністю розподілену hash-систему Dynamo[en], що забезпечує практично лінійну масштабованість при збільшенні обсягу даних. Cassandra використовує модель зберігання даних на базі сімейства стовпців (ColumnFamily), що відрізняється від систем подібних до memcachedb, які зберігають дані лише у зв'язці ключ/значення, можливістю організувати зберігання хешей з кількома рівнями вкладеності. Cassandra відноситься до категорії сховищ підвищено стійких до збоїв: поміщені в БД дані автоматично реплікуються на кілька вузлів розподіленої мережі або навіть рівномірно розподіляються до декількох дата-центрів. При збої вузла, його функції на льоту підхоплюються іншими вузлами. Додавання нових вузлів у кластер і оновлення версії Cassandra виробляється на льоту, без додаткового ручного втручання і переконфігурації інших вузлів.

Для спрощення взаємодії з БД підтримується мова формування структурованих запитів CQL (Cassandra Query Language), яка на перший погляд нагадує SQL, але істотно урізана в функціональності. Наприклад, можна виконувати тільки найпростіші запити SELECT з вибіркою за певною умовою, але без підтримки сортування та групування. Додавання та оновлення даних здійснюється через єдиний вираз UPDATE, операція INSERT відсутня (якщо запису немає, при виконанні UPDATE він створюється). З можливостей можна відзначити підтримку просторів імен і сімейств стовпців, створення індексів через вираз "CREATE INDEX". Драйвери з підтримкою CQL підготовлені для мов Python, Java (JDBC/DBAPI2) і JavaScript (Node.js).

Виноски[ред.ред. код]

Посилання[ред.ред. код]