如何在ClickHouse中使用EmbeddedRocksDB表引擎

13a9534866e88e9be135e17063e4c250.gif

RocksDB 想必大家并不陌生,它是一款高性能的嵌入式KV数据库,是众多自研数据库背后的男人。

现在我们可以利用 EmbeddedRocksDB 表引擎,直接在 ClickHouse 中使用 RocksDB,非常适用 KV 查询的场景。

使用的方法非常简单,接下来就用一个简短示例说明,创建一张测试表,使用 EmbeddedRocksDB 引擎:

CREATE TABLE test_rocksDB
(
    `A` UInt64,
    `B` String
)
ENGINE = EmbeddedRocksDB
PRIMARY KEY A

必须指定 PRIMARY KEY , 它表示 RocksDB Key

接着写入 1亿 测试数据:

INSERT INTO test_rocksDB 
SELECT
    number,
    toString(cityHash64(number))
FROM numbers(100000000)

查看表文件,会发现直接是 RocksDB 的存储文件:

7d8a7dd7274e0fb83c6d2c90bddc00a4.png

接着就可以查询了:

SELECT count()
FROM
(
    SELECT *
    FROM test_rocksDB
    WHERE A IN (
        SELECT toUInt64(rand64() % 100000000)
        FROM numbers(10000)
    )
)


Query id: 96f56029-9201-4985-bf9f-8d714a3bc1bd


┌─count()─┐
│   10000 │
└─────────┘


1 rows in set. Elapsed: 0.221 sec. Processed 10.00 thousand rows, 364.02 KB (45.23 thousand rows/s., 1.65 MB/s.)

我用 MergeTree 做同样的查询,查询的实效差距不大(RocksDB适用默认参数),但是MergeTree扫描的数据是 RocksDB 表引擎的5000倍

# RocksDB
1 rows in set. Elapsed: 0.221 sec. Processed 10.00 thousand rows, 364.02 KB (45.23 thousand rows/s., 1.65 MB/s.)
#MergeTree
1 rows in set. Elapsed: 0.213 sec. Processed 56.58 million rows, 452.67 MB (265.18 million rows/s., 2.12 GB/s.)

关于作者:

朱凯,ClickHouse贡献者之一,ClickHouse布道者,资深架构师,腾讯云最具价值专家TVP,开源爱好者,Apache DolphinScheduler Committer,《企业级大数据平台构建:架构与实现》《ClickHouse原理解析与应用实践》作者,公众号“ClickHouse的秘密基地”运营者。

推荐阅读:《ClickHouse原理解析与应用实践》

5435044783a5481c7793fc74c5ef7436.png

推荐语:这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse最核心的部分——MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。

2648fd032258c47ad7eceb015de12a6b.gif

刷刷视频👇

e3fb264bb9c0c50ac1b7321e13c5f8dd.gif

更多精彩回顾

干货 |Java到底能干什么?有哪些实际用途?

书单 | 成为优秀Java开发者,我看了这几本书

上新 |《Core Java》作者亲授视频免费看,学习Java更轻松

资讯 |云原生时代,阿里如何让Java冷启动提速两个数量级?

资讯 | Python迎来31岁生日,蝉联年度编程语言排行榜冠军

干货 |一文带你掌握计算机体系结构核心内容

书讯 | 2月书讯(下)| 新年到,新书到!

书讯 | 2月书讯 (上)| 新年到,新书到!

9428667e240c140ece387a6e25138456.gif

be778d18cc0f035c95c6f1b45bcf5c76.gif

点击阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值