Выпуск отказоустойчивой СУБД CockroachDB 2.0
Состоялся выпуск распределённой СУБД CockroachDB 2.0, ориентированной на создание высоконадёжных географически распределённых хранилищ, отличающихся высокой живучестью и не зависящих от сбоев дисков, узлов и центров обработки данных. CockroachDB гарантирует целостность ACID-транзакций, предоставляет возможность использования SQL для манипуляции с данными, позволяет вносить изменения в схему хранения на лету, поддерживает индексы и внешние ключи. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0. Подробнее с особенностями CockroachDB можно познакомиться в анонсе первого выпуска.
Основные новшества CockroachDB 2.0:
- Реализация типа данных для хранения в формате JSON. По аналогии с PostgreSQL используется тип JSONB («binary JSON») для хранения структурированных наборов данных в бинарном формате с обеспечением высокой производительности выборки за счёт применения инвертированных индексов;
- Поддержка операции «CREATE SEQUENCE», которая позволяет генерировать последовательность целых чисел в соответствии с заданным правилом (например, могут применяться для генерации значения первичного ключа);
- Экспериментальная возможность ведения лога аудита, включающего детальную информацию о всех выполненных в системе SQL-запросах;
- Поддержка общих табличных выражений (CTE, Common Table Expression), упрощающих определение и использование подзапросов. CTE могут быть использованы в комбинации с выражениями SELECT, INSERT, DELETE, UPDATE и UPSERT;
- Поддержка вычисляемых столбцов, в которых могут хранится данные, сгенерированные на основании содержимого других столбцов при помощи выражения, заданного при определении столбца (например, «full_name STRING AS (CONCAT (first_name, ' ', last_name))»);
- Возможность привязки к внешним ключам операций «ON UPDATE» и «ON DELETE», для вызова обработчиков при обновлении или удалении записей;
- Для совместимости с PostgreSQL добавлена поддержка виртуальных схем хранения и добавлено выражение «SHOW SCHEMAS» для показа виртуальных схем для заданной БД;
- Импорт табличных данных при помощи выражения IMPORT теперь производится в полностью распределённой манере, а выполняющие импорт задания могут быть приостановлены, возобновлены и отменены;
- Новый тип данных INET для хранения адресов IPv4 и IPv6;
- Новый тип данных TIME для хранения времени без учёта часового пояса;
- Проведена большая работа по повышению производительности и масштабируемости. При прохождении тестов производительности TPC-C СУБД CockroachDB теперь заметно обгоняет MySQL- и PostgreSQL-совместимую облачную СУБД Amazon Aurora в режимах симуляции работы очень больших компаний.
© OpenNet