Доступна СУБД Apache Cassandra 3.0
10 ноября 2015 года
Организация Apache Software Foundation представила релиз распределённой СУБД Apache Cassandra 3.0, относящейся к классу noSQL-систем и рассчитанной на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, хранимых в форме ассоциативного массива (хэша). Код проекта написан на языке Java и распространяется в рамках лицензии Apache 2.0. Изначально СУБД Cassandra была разработана в недрах компании Facebook и в 2009 году передана под покровительство фонда Apache. Промышленные решения на базе Cassandra, хранящие сотни терабайт данных, охватывающие сотни серверов и способные обрабатывать тысячи запросов в секунду, развернуты для обеспечения сервисов таких компаний и организаций, как Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Netflix, Sony, Rackspace, Reddit и Twitter.
Основные новшества (Архивная копия от 10 декабря 2017 на Wayback Machine):
- Поддержка материализованных представлений, позволяющих сформировать виртуальную таблицу на основе произвольного CQL-запроса, содержимое которой не генерируется на лету как в обычных представлениях, а кэшируется между запросами в форме индекса. Материализованное представление может применяться в качестве более эффективной альтернативы вторичным индексам для запросов по непервичным ключам, денормализация данных с разных узлов в которой выполняется на стороне сервера;
- Полностью переработан механизм хранения информации о репликах для сбойных узлов ("hinted handoff"), вместо одного файла system.hints хинты теперь записываются в отдельные файлы, что значительно увеличивает эффективность диспетчеризации;
- Поддержка режима EACH_QUORUM для обеспечения заданного уровня согласованности для запросов на чтение;
- Поддержка ограничения выборки любых компонентов ключей раздела или кластера через выражение "IN" в директивах UPDATE и DELETE;
- В директиву DELETE добавлена поддержка отсеивания одно- или многостолбцовых слайсов при помощи операторов "", "=", "
- В команде "nodetool rebuild_index" теперь можно указывать индекс, без необходимости указания связанной с ним таблицы;
- Повышена эффективность хранения данных, что привело к экономии места в хранилище в среднем на 50%;
- Обеспечен вывод предупреждений в лог, если операция сборки мусора выполняется дольше 1000мс.
СУБД Cassandra объединяет в себе полностью распределённую hash-систему Dynamo, обеспечивающую практически линейную масштабируемость при увеличении объема данных. Cassandra использует модель хранения данных на базе семейства столбцов (ColumnFamily), отличающуюся от систем подобных memcachedb, которые хранят данные только в связке ключ/значение, возможностью организовать хранение хэшей с несколькими уровнями вложенности. Для упрощения взаимодействия с БД поддерживается язык формирования структурированных запросов CQL (Cassandra Query Language), напоминающий SQL, но урезанный по функциональности. Из возможностей можно отметить поддержку пространств имён и семейств столбцов, создание индексов через выражение "CREATE INDEX".
СУБД позволяет создавать устойчивые к сбоям хранилища: помещаемые в БД данные автоматически реплицируются на несколько узлов распределённой сети, которая может охватывать разные центры обработки данных. При сбое узла, его функции на лету подхватываются другими узлами. Добавление новых узлов в кластер и обновление версии Cassandra производится на лету, без дополнительного ручного вмешательства и переконфигурирования других узлов. Драйверы с поддержкой CQL подготовлены для языков Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ и JavaScript (Node.js).
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.