存储模型 Storage model

QuestDB使用基于列的存储模型。数据存储在表中,每一列存储在自己的文件和自己的原生格式中。新数据被附加到每个列的底部,以允许按照吸收数据的相同顺序有机地检索数据。
添加模型
QuestDB每次附加一个列,并使用相同的方法更新每个列。列文件的尾部被映射到RAM中的内存页中,列追加实际上是对一个地址的内存写入。一旦耗尽内存页,将取消映射,并映射一个新页。
此方法确保最小的资源流失和一致的追加延迟。

存储列的文件的架构

读模型
表列是随机访问的。通过简单的位移位将记录号转换为文件偏移量来读取具有固定大小数据类型的列。然后将列文件中的偏移量转换为延迟映射内存页中的偏移量,从那里读取所需的值。

显示列文件中的数据如何映射到内存

一致性和持久性
QuestDB通过原子地应用表更新来确保表级别的隔离和一致性。表的更新应用于在原子操作中提交或回滚的表事务的上下文中。与表更新同时进行的查询在某种意义上是一致的,即它们返回的数据要么是提交表事务之前的数据,

存储模型 Storage model最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/8672.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>