Выпуск отказоустойчивой СУБД 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 в режимах симуляции работы очень больших компаний.


04/06/2018 22:53:18
0

комментарии (0)