пятница, 23 апреля 2021 г.

CQL - Scylla, Cassandra и DynamoDB (часть 2)

Кроме того, CQL реализован в СУБД Scylla, которая архитектурно

и лингвистически повторяет систему Cassandra, но написана на C++ с целью

повышения показателей производительности.


Кассандра не может выполнять соединения или подзапросы . Скорее, Кассандра

подчеркивает денормализацию с помощью таких функций, как коллекции. Apache

Cassandra -  распределённая система управления базами данных, относящаяся

к классу NoSQL-систем и рассчитанная на создание высокомасштабируемых

и надёжных хранилищ огромных массивов данных, представленных в виде хэша.

Изначально проект был разработан в недрах Facebook и в 2009 году передан под

крыло фонда Apache Software Foundation, эта организация продолжает развитие

проекта. Промышленные решения на базе Cassandra развёрнуты для обеспечения

сервисов таких компаний, как Cisco, IBM, Cloudkick, Reddit, Digg, Rackspace,

Huawei, Netflix, Apple, Instagram, GitHub, Twitter и Spotify. К 2011 году

крупнейший кластер серверов, обслуживающий единую базу данных под управлением

Cassandra, насчитывал более 400 машин и содержал данные размером более 300 ТБ.

Написана на языке Java, реализует распределённую хэш-систему, сходную

с DynamoDB, что обеспечивает практически линейную масштабируемость при

увеличении объёма данных. Использует модель хранения данных на базе семейства

столбцов, чем отличается от систем, подобных MemcacheDB



CQL


Для упрощения взаимодействия с базой данных поддерживается язык формирования

структурированных запросов CQL (Cassandra Query Language), который в какой-то

степени сходен с SQL, но существенно урезан по функциональным возможностям.

Например, можно выполнять только простейшие запросы SELECT с выборкой

по определённому условию. Добавление и обновление осуществляется через единое

выражение UPDATE, операция INSERT отсутствует (если записи нет, при выполнении

UPDATE она создаётся — используется семантика SQL-оператора MERGE).

Из отличительных возможностей — поддержка пространств имён и семейств

столбцов, создание индексов через выражение «CREATE INDEX». Драйверы

с поддержкой CQL реализованы для языков Python (DBAPI2), Java (JDBC), Ruby

(gem cassandra-cql), PHP (Thrift, cassandra-pdo,

Cassandra-PHP-Client-Library), JavaScript (Node.js) и Perl Соответвенно

DynamoDB - система управления базами данных класса NoSQL в формате «ключ

- значение», предлагаемая Amazon.com как часть пакета Amazon Web Services.


Поставляется только как платформенная служба из публичного облака Amazon.

Отличается среди служб Amazon тем, что позволяет подписчикам оплачивать

требуемую производительность (throughput), а не потребляемую ёмкость хранения

(storage). DynamoDB автоматически распределяет данные и трафик в подходящем

числе серверов, использующих твердотельные накопители, предоставляя заданную

производительность. Может быть интегрирована с Hadoop средствами сервиса

Elastic MapReduce.


Выпущена 18 января 2012 года в развитие ранней NoSQL-системы SimpleDB. В марте

2012 года Amazon запустила DynamoDB в собственных дата-центрах на территории

Европейского Союза, благодаря чему европейские подписчики получили возможность

соблюдать регуляторные ограничения по защите данных. В 2020 году реализована

поддержка PartiQL (универсального SQL-подобного языка запросов для систем баз

данных AWS).

#Scylla #ScyllaDB #Cassandra

Комментариев нет:

Отправить комментарий