Apache Cassandra
| Автор(и) | Avinash Lakshman, Prashant Malik |
|---|---|
| Розробник(и) | Apache Software Foundation |
| Перший випуск | 2008 |
| Стабільний випуск | 1.2 (2 січня 2013) |
| Написано на | Java |
| Операційна система | крос-платформовий |
| Доступні мови | англійська |
| Стан розробки | активний |
| Тип | розподілена система керування базами даних |
| Ліцензія | Apache License 2 |
| Сайт | cassandra.apache.org |
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, що забезпечує практично лінійну масштабованість при збільшенні обсягу даних. Cassandra використовує модель зберігання даних на базі сімейства стовпців (ColumnFamily), що відрізняється від систем подібних до memcachedb, які зберігають дані лише у зв'язці ключ/значення, можливістю організувати зберігання хешей з кількома рівнями вкладеності. Cassandra відноситься до категорії сховищ підвищено стійких до збоїв: поміщені в БД дані автоматично реплікуються на кілька вузлів розподіленої мережі або навіть рівномірно розподіляються до декількох дата-центрів. При збої вузла, його функції на льоту підхоплюються іншими вузлами. Додавання нових вузлів у кластер і оновлення версії Cassandra виробляється на льоту, без додаткового ручного втручання і переконфігурації інших вузлів.
Для спрощення взаємодії з БД підтримується мова формування структурованих запитів CQL (Cassandra Query Language), яка на перший погляд нагадує SQL, але істотно урізана в функціональності. Наприклад, можна виконувати тільки найпростіші запити SELECT з вибіркою за певною умовою, але без підтримки сортування та групування. Додавання та оновлення даних здійснюється через єдиний вираз UPDATE, операція INSERT відсутня (якщо запису немає, при виконанні UPDATE він створюється). З можливостей можна відзначити підтримку просторів імен і сімейств стовпців, створення індексів через вираз "CREATE INDEX". Драйвери з підтримкою CQL підготовлені для мов Python, Java (JDBC/DBAPI2) і JavaScript (Node.js).
Виноски [ред.]
Посилання [ред.]
- Avinash Lakshman (25 August 2008). «Cassandra - A structured storage system on a P2P Network». Engineering @ Facebook's Notes. Процитовано 2009-06-04.
- Project Website
- Project Wiki
- Adopting Apache Cassandra presented by Eben Hewitt on December 1, 2010
- Presentation on Cassandra at SIGMOD 2008
- Introduction to Cassandra at FOSDEM 2010
- LADIS 2009 WhitePaper by the original contributors Avinash Lakshman & Prashant Malik
- Cassandra Articles on NoSQLDatabases.com
- Cassandra News and Articles on myNoSQL
- Cassandra @ Twitter: an Interview with Ryan King
- Presentation on RDBMS vs. Dynamo, BigTable, and Cassandra
- RPM build for the apache cassandra project
|
||||||||||||||||||||
