zombodb 几点说明

时间:2021-11-14 02:27:22

内容来自官方文档,截取部分

默认es 索引的副本为0

这个参考可以通过修改索引,或者在创建的时候通过with 参数指定,或者通过pg 的配置文件中指定

索引更多的列以为这使用了更多的es 能力

索引的列越多,说明我们对于es 的使用更好,可以更好的使用es 的能力

zombodb 存储整个数据在es 中

为了方便使用mvcc 的处理,zombodb 存储所有pg 表的数据在es 中(当然除非你使用了llapis ,指定数据直接存储在es 中)
所以这个也意味着存储的大小接近2倍

zombodb 重写了你的查询以及创建索引的语句

比如查询

SELECT * FROM table WHERE table ==> 'foo'

重写为:

SELECT * FROM table WHERE table.ctid ==> 'foo'

比如索引:

CREATE INDEX idxfoo ON foo USING zombodb ((foo.*))

重写为:

CREATE INDEX idxfoo ON foo USING zombodb (ctid, (foo.*))

zombodb 附加了一个隐藏的触发器

触发器执行了FOR EACH ROW BEFORE UPDATE and DELETE 等操作,一般我们不用关注,但是还是需要知道的

Heap Only Tuples zombodb 不支持

这个不是很懂,但是可以参考https://github.com/postgres/postgres/blob/master/src/backend/access/heap/README.HOT

外部工具的支持

Kibana 以及http 请求,都是可以管理使用zombodb 创建的es 索引,这个参考github 项目中集成了Kibana 工具

参考资料

https://github.com/zombodb/zombodb/blob/master/THINGS-TO-KNOW.md
https://github.com/rongfengliang/zombodb-docker-image