- Apache Cassandra
-
Apache Cassandra Тип Автор Avinash Lakshman, Prashant Malik
Разработчик Написана на Операционная система Языки интерфейса Английский
Первый выпуск 2008
Последняя версия 1.1.5 (10 сентября 2012)
Состояние Активный
Лицензия Сайт 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 производится на лету, без дополнительного ручного вмешательства и переконфигурации других узлов. Тем не менее настоятельно рекомендуется заново сгенерировать токены для каждого узла, включая существующие, чтобы не испортить распределение нагрузки. Генерации ключей для существующих узлов можно избежать в случае кратного увеличение количества узлов(в 2 раза в 3 раза и т. д.).
Для упрощения взаимодействия с БД поддерживается язык формирования структурированных запросов CQL (Cassandra Query Language), который на первый взгляд напоминает SQL, но существенно урезанный в функциональности. Например, можно выполнять только простейшие запросы SELECT с выборкой по определённому условию, но без поддержки сортировки и группировки. Добавление и обновление осуществляется через единое выражение UPDATE, операция INSERT отсутствует (если записи нет, при выполнении UPDATE она создаётся). Из возможностей можно отметить поддержку пространств имён и семейств столбцов, создание индексов через выражение «CREATE INDEX». Драйверы с поддержкой CQL подготовлены для языков Python, Java (JDBC/DBAPI2) и JavaScript (Node.js).
См. также
- Распределённые базы данных
- Распределённая хеш-таблица (DHT)
- BigTable — распределённая база данных от Google
- Apache HBase — распределённая база данных проекта Apache Hadoop. Очень похожа на BigTable
- Hypertable — распределённая база данных основанная на Apache Hadoop. Очень похожа на BigTable
- Riak
Примечания
Ссылки
- Avinash Lakshman Cassandra - A structured storage system on a P2P Network. Engineering @ Facebook's Notes (25 August 2008). Проверено 4 июня 2009.
- 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
Apache Software Foundation Проекты верхнего уровня ActiveMQ • Ant • Apache HTTP Server • APR • Beehive • Cassandra • Cayenne • Camel • Commons • Cocoon • CouchDB • DB • Directory • Excalibur • Forrest • Geronimo • Gump • Hadoop • Harmony • HBase • HiveMind • HttpComponents • iBATIS • Jackrabbit • James • JMeter • Lenya • Maven • Mina • mod perl • MyFaces • Nutch • OFBiz • OpenOffice.org • POI • Portals • Santuario • ServiceMix • Shale • Shiro • SpamAssassin • Struts • Subversion • Tapestry • Tcl • Tomcat • Turbine • Velocity • WebWork 2 • Wicket • Xalan • Xerces • XMLBeans Подпроекты Apache Commons BCEL • BSF • JCS Apache Lucene Lucene Java • Lucene4c • Lucy• Solr Apache DB Derby • Torque • DdlUtils • OJB • JDO Apache Web Services Axis • Axis2 • CXF • WS-Commons • EWS • JaxMe • jUDDI • Kandula • Mirae • Muse • Pubscribe • Sandesha • Scout • SOAP • Synapse • TSIK • Tuscany • Woden • WSIF • WSRF • WSS4J • XML-RPC Другие проекты Batik • FOP •Log4j Развивающиеся проекты (Incubator) XAP • River • OpenEJB • OpenJPA • Graffito • Tuscany • Log4Net • Roller • Felix • Abdera • CeltiXfire • FtpServer • Heraldry • Ivy • JuiCE • Kabuki • Lokahi • Lucene.Net • mod_ftp • NMaven • Ode • stdcxx • Woden • WSRP4J • Yoko • WADI • Qpid • stdcxx • TripleSoup • UIMA• Adobe Flex Списанные проекты (Attic) AxKit • Cactus • ECS • Jakarta • ORO • Regexp • Slide • Taglibs Лицензия: Лицензия Apache • Сайт: apache.org Facebook Обзор История · Хронология · Поглощения · Критика · Use in investigations Вебсайт Beacon · Features · Platform Люди Основатели Марк Цукерберг (24% капитала) · Крис Хьюз (1%) · Дастин Московиц (6%) · Эдуардо Саверин (5%) Board Марк Цукерберг · Marc Andreessen · Джим Брейер · Дон Грэм · Peter Thiel Руководство Текущее Марк Цукерберг (Генеральный директор) · Крис Кокс (Вице-президент по продуктам) · Шерил Сэндберг (COO) · Elliot Schrage (Вице-президент по глобальным коммуникациям, маркетингу и публичной политики) · Mike Schroepfer (Вице-президент по разработкам) · Bret Taylor (CTO) · Ted Ullyot (Вице-президент и генеральный советник) Бывшее Шон Паркер (Президент) · Owen Van Natta (COO) · Gideon Yu (Финансовый директор) · Adam D'Angelo (CTO) · Крис Келли (Chief Privacy Officer) · Matt Cohler (Вице-президент по управлению продуктами) Известные
сотрудникиТекущие Андрей Александреску (научный сотрудник) · Рэнди Цукерберг (директор по маркетингу) Бывшие Charlie Cheever (программист) · Andrew McCollum (graphic artist) Программное обеспечение HipHop for PHP · Apache Cassandra · Apache Thrift · Scribe (сервер журналирования) · Apache Hive · FQL Связанные статьи Activity stream · f8 conference · Social graph · The Facebook Effect · The Accidental Billionaires · Социальная сеть (фильм) · Wirehog Категории:- Программное обеспечение по алфавиту
- Программное обеспечение с лицензией Apache Software License
- Проекты Apache
- Свободное программное обеспечение, написанное на Java
- Свободные СУБД
Wikimedia Foundation. 2010.