内容来自官方文档,截取部分
默认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