Движки БД
Atomic, Lazy, Replicated, MySQL, PostgreSQL, SQLite.
Поддерживает неблокирующие запросы DROP TABLE и RENAME TABLE и атомарные запросы EXCHANGE TABLES. Движок Atomic
используется по умолчанию.
CREATE DATABASE test [ENGINE = Atomic];
Каждая таблица в базе данных Atomic
имеет уникальный UUID и хранит данные в папке /clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/
, где xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
- это UUID таблицы.
Движок основан на движке Atomic. Он поддерживает репликацию метаданных через журнал DDL, записываемый в ZooKeeper и выполняемый на всех репликах для данной базы данных.
На одном сервере ClickHouse может одновременно работать и обновляться несколько реплицированных баз данных. Но не может существовать нескольких реплик одной и той же реплицированной базы данных.
CREATE DATABASE testdb ENGINE = Replicated('zoo_path', 'shard_name', 'replica_name') [SETTINGS ...]
Сохраняет таблицы только в оперативной памяти expiration_time_in_seconds
через несколько секунд после последнего доступа. Может использоваться только с таблицами *Log.
Он оптимизирован для хранения множества небольших таблиц *Log, для которых обычно существует большой временной интервал между обращениями.
CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds);
Позволяет подключаться к БД на удаленном сервере PostgreSQL. Поддерживает операции чтения и записи (запросы SELECT
и INSERT
) для обмена данными между ClickHouse и PostgreSQL.
Позволяет в реальном времени получать от удаленного сервера PostgreSQL информацию о таблицах БД и их структуре с помощью запросов SHOW TABLES
и DESCRIBE TABLE
.
Поддерживает операции изменения структуры таблиц (ALTER TABLE ... ADD|DROP COLUMN
). Если параметр use_table_cache
(см. ниже раздел Параметры движка) установлен в значение 1
, структура таблицы кешируется, и изменения в структуре не отслеживаются, но будут обновлены, если выполнить команды DETACH
и ATTACH
.
CREATE DATABASE test_database ENGINE = PostgreSQL('host:port', 'database', 'user', 'password'[, `schema`, `use_table_cache`]);
Полезные ссылки.
Atomic: https://clickhouse.com/docs/ru/engines/database-engines/atomic
Lazy: https://clickhouse.com/docs/ru/engines/database-engines/lazy
PostgreSQL: https://clickhouse.com/docs/ru/engines/database-engines/postgresql
MySQL: https://clickhouse.com/docs/ru/engines/database-engines/mysql
Replicated: https://clickhouse.com/docs/ru/engines/database-engines/replicated