Увидел свет (https://mail-archives.apache.org/mod_mbox/cassandra-dev/2015...) релиз распределённой СУБД Apache Cassandra 2.2 (http://cassandra.apache.org/), относящейся к классу noSQL-систем и рассчитанной на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, хранимых в форме ассоциативного массива (хэша). Код проекта написан на языке Java и распространяется в рамках лицензии Apache 2.0. Изначально СУБД Cassandra была разработана в недрах компании Facebook и в 2009 году передана под покровительство фонда Apache. Промышленные решения на базе Cassandra, хранящие сотни терабайт данных, охватывающие сотни серверов и способные обрабатывать тысячи запросов в секунду, развернуты для обеспечения сервисов таких компаний и организаций, как Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Netflix, Sony, Rackspace, Reddit и Twitter.
Основные новшества (https://git1-us-west.apache.org/repos/asf?p=cassandra.git;a=...):
- Возможность (http://www.datastax.com/dev/blog/whats-new-in-cassandra-2-2-...) прямого добавления, обновления и выборки данных в формате JSON, без необходимости применения надстроек sstable2json и json2sstable, которые объявлены устаревшими;
- Поддержка создания определяемых пользователем функций из Java, Javascript и других языков, поддерживающих Java Scripting API. За счет встраиваемых функций, выполняемых на стороне СУБД и обрабатывающих данные без копирования на сторону конечного приложения, можно существенно (http://christopher-batey.blogspot.com/2015/05/cassandra-aggr...) поднять (http://christopher-batey.blogspot.com/2015/07/a-few-more-cas...) производительность всей системы обработки данных;
- Внесена серия (http://www.datastax.com/dev/blog/updates-to-cassandras-commi...) оптимизаций производительности, в том числе реализована поддержка сжатия лога коммитов и включена по умолчанию техника слияния сообщений;
- Увеличена эффективность передачи данных между узлами за счёт включения (http://www.datastax.com/dev/blog/leveled-compaction-in-apach...) гибкой системы сжатия, позволяющей выбрать разный уровень сжатия для разных условий, что особенно полезно в таких ситуациях, как перестроение узла после сбоя или перенос данных в новый ЦОД.
- Добавлена (http://www.datastax.com/dev/blog/role-based-access-control-i...) система управления доступом на основе ролей, упрощающая администрирование конфигураций, охватывающих несколько команд разработчиков и отделов. Одни пользователи могут делегировать полномочия другим пользователям, в том числе на уровне выполнения операций CREATE, ALTER, DROP и AUTHORIZE, без необходимости получения привилегий суперпользователя;
- Добавлена новая утилита sstableverify для проверки целостности всех таблиц;
- Обеспечена полноценная поддержка платформы Microsoft Windows;
БД Cassandra объединяет в себе полностью распределённую hash-систему Dynamo, обеспечивающую практически линейную масштабируемость при увеличении объема данных. Cassandra использует модель хранения данных на базе семейства столбцов (ColumnFamily), отличающуюся от систем подобных memcachedb, которые хранят данные только в связке ключ/значение, возможностью организовать хранение хэшей с несколькими уровнями вложенности. СУБД позволяет создавать устойчивые к сбоям хранилища: помещаемые в БД данные автоматически реплицируются на несколько узлов распределённой сети, которая может охватывать разные центры обработки данных. При сбое узла, его функции на лету подхватываются другими узлами. Добавление новых узлов в кластер и обновление версии Cassandra производится на лету, без дополнительного ручного вмешательства и переконфигурирования других узлов.
Для упрощения взаимодействия с БД поддерживается язык формирования структурированных запросов CQL (http://crlog.info/2011/03/29/cassandra-query-language-aka-cq.../) (Cassandra Query Language), на первый взгляд напоминающий SQL, но существенно урезанный по функциональности. Из возможностей можно отметить поддержку пространств имён и семейств столбцов, создание индексов через выражение "CREATE INDEX". Драйверы с поддержкой CQL подготовлены для языков Python (http://www.apache.org/dist/cassandra/drivers), Java (https://github.com/racker/node-cassandra-client) (JDBC/DBAPI2) и JavaScript (https://github.com/racker/node-cassandra-client) (Node.js).
URL: https://mail-archives.apache.org/mod_mbox/cassandra-dev/2015...
Новость: http://www.opennet.dev/opennews/art.shtml?num=42717