Доступна отказоустойчивая СУБД CockroachDB 1.1
Представлен выпуск распределенной СУБД CockroachDB 1.1, ориентированной на создание высоконадежных географически распределенных хранилищ, отличающихся высокой живучестью и не зависящих от сбоев дисков, узлов и центров обработки данных. CockroachDB гарантирует целостность ACID-транзакций, предоставляет возможность использования SQL для манипуляции с данными, позволяет вносить изменения в схему хранения на лету, поддерживает индексы и внешние ключи. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0. Подробнее с особенностями CockroachDB можно познакомиться в анонсе первого выпуска.
Основные новшества выпуска CockroachDB 1.1:
- Расширены средства для миграции на CockroachDB с различных реляционных и NoSQL СУБД. Добавлена возможность импорта больших объемов данных (терабайты), оформленных в формате CSV. В том числе возможно распараллеливание загрузки таких файлов - файл разбивается на части, которые копируются на разные узлы кластера и загружаются в параллельном режиме. Кроме того, улучшена поддержка миграции SQL-дампов из PostgreSQL;
- Добавлена поддержка типов для работы с массивами (ARRAY) и UUID;
- Добавлен интерфейс для наглядного наблюдения за активностью в кластере, анализа выполняемых в данный момент операций и их влияния на производительность. Доступна таблица длительно выполняемых работ (изменение схемы, импорт CSV, создание/восстановление резервных копий) с возможностью оценки прогнозируемого времени операции и функцией принудительной отмены задания;
- В CLI-интерфейс добавлены команды "SHOW QUERIES", "SHOW JOBS" и "SHOW SESSIONS", позволяющие просмотреть выполняемые в данный момент SQL-запросы, длительные работы и активные клиентские соединения, команды "CANCEL QUERY" и "CANCEL JOB" для отмены запросов и работ, команда "SHOW BACKUP" для просмотра содержимого резервной копии, а также команды "PAUSE JOB" и "RESUME JOB" для временной приостановки работ;
- Добавлена новая команда init для быстрого развертывания многоузлового кластера;
- Проведена работа по увеличению производительности для нагрузок, свойственных для облачных систем. Нагрузочное тестирование через выполнение большого числа параллельных операций над данными в формате ключ/значение показало снижение средней задержки выполнение операции на 5 мс (13%), при том что 95% запросов уложились в 17 мс (на 11% меньше, чем в прошлом выпуске), а пропускная способность возросла на 14% (достигнут уровень в 44 тысячи запросов в секунду). В 17 раз ускорено выполнение операции восстановления из резервной копии. Введен в стой 128-узловой кластер для тестировния CockroachDB и выявления регрессий в производительности выполнения операций OLTP.