EmbeddedRocksDB 引擎
这个引擎允许 ClickHouse 与 rocksdb 进行集成。
创建一张表
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster](name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],...) ENGINE = EmbeddedRocksDB PRIMARY KEY(primary_key_name)
必要参数:
primary_key_name– any column name in the column list.- 必须指定
primary key, 仅支持主键中的一个列. 主键将被序列化为二进制的rocksdb key. - 主键以外的列将以相应的顺序在二进制中序列化为
rocksdb值. - 带有键
equals或in过滤的查询将被优化为从rocksdb进行多键查询.
示例:
CREATE TABLE test(`key` String,`v1` UInt32,`v2` String,`v3` Float32,)ENGINE = EmbeddedRocksDBPRIMARY KEY key
指标
还有一个system.rocksdb 表, 公开rocksdb的统计信息:
SELECTname,valueFROM system.rocksdb┌─name──────────────────────┬─value─┐│ no.file.opens │ 1 ││ number.block.decompressed │ 1 │└───────────────────────────┴───────┘
配置
你能修改任何rocksdb options 配置,使用配置文件:
<rocksdb><options><max_background_jobs>8</max_background_jobs></options><column_family_options><num_levels>2</num_levels></column_family_options><tables><table><name>TABLE</name><options><max_background_jobs>8</max_background_jobs></options><column_family_options><num_levels>2</num_levels></column_family_options></table></tables></rocksdb>
