求推荐高压缩比的时序数据库(避雷 Tdengine)

141 天前
 CraxClive

使用了 Tdengine 2.x 近三年的时间,但是最近遇到严重的 BUG ,现在需要考虑迁移至其他数据库。

最好符合以下要求(按优先级排列,最少满足 1 和 2 即可)

  1. 开源
  2. 高压缩比
  3. 允许冷热分级
  4. 允许按照时间间隔查询数据

最后再吐槽一下 Tdengine ,删除数据后居然无法释放硬盘空间,还妄图让用户买企业版,真是滑稽至极...

Issue 1 Issue 2

2945 次点击
所在节点    数据库
29 条回复
qieqie
140 天前
因为存储引擎限制和避免 compaction 额外性能开销原因,分析型数据库一般不会支持实时的点删。
高效的方法一般是通过 TTL 异步淘汰,或者 drop partition 删除物理上连续的大批量数据。
NoobPhper
140 天前
搜了下代码 好像还真没有 storage gc compaction 的代码...
superliy
140 天前
@hongye 请教一下 ClickHouse 是不是只能少量连接,然后批量操作?不能像 mysql 这样实时有并发请求的场景?
@keakon
superliy
140 天前
怎么没人说 starrocks
keakon
140 天前
@superliy 写统一写到 Kafka ,由它写到 ClickHouse 。如果是国产操作系统等需要 ARM 架构,又不想自己编译支持 Kafka 的,可以自己写个程序收集消息到内存,每秒写入到 ClickHouse ;如果每秒的量在内存中存不下,也可以读 Kafka 然后写到 ClickHouse 。
读没啥限制,但是有一定延迟,可以认为是准实时的吧。
hongye
140 天前
@superliy #23 ClickHouse 使用的 LSM-Tree 顺序操作磁盘,因此并发写的能力很强悍,我们 iot 场景有 1w 多个节点并发写入 kafka 然后吐到 ClickHouse ,几乎没有啥延迟,但是并发读取能力不好,这点需要考虑。
sangshuduo
133 天前
因为 V2EX 帐号不好注册,我替同事转发一下。建议到 TDengine 官方微信群或者 github issue 讨论。
--

首先,2.x 开源版绝大多数版本都不支持 delete 功能,所以不知道你说的删除数据无法释放空间指的是什么,这个描述问的题不清晰。

接着,如果你指的是 drop table 之类不释放的话,2.x 版本提供了有 compact 功能可以重组数据从而释放空间,文档上有这个功能的使用方法。

其次,如果你说的是删库不能释放空间,文档上也写明白了,或者你注意观察下,被删除的数据就在 vnode_bak 目录下,清空就可以释放空间了。

最后,时序数据的清理是依靠 keep 参数按照固定时间段清理的,过期数据视为冷数据会自动清理。因此,即时释放空间作为高阶功能放在了企业版里,开源版用户只要耐心等待数据过期删除即可,只要稍微做好存储规划,不会有任何问题,没有强迫任何用户去买企业版。
Ibrahimovic
105 天前
推荐 OceanBase ,刚好能很好地满足你的前两个需求,github 上 OceanBase 的项目地址详见: https://github.com/oceanbase/oceanbase/blob/develop/README_CN.md
Ibrahimovic
105 天前
如果是要求时序数据库,再推荐一个 CeresDB (基于 OceanBase 分布式存储引擎设计的),官网链接详见: https://www.oceanbase.com/product/ceres

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1049903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX