Pilosa数据结构

2021-09-12  本文已影响0人  kaiker

https://www.pilosa.com/docs/latest/data-model/

样例

基本概念

1、index

可以理解成表的名称,就用index代表一个表

2、列

每一列代表一个数据记录(record),在正常表中通常一行是一个记录,polisa中一列是一个记录

3、行

每一行是一个value,比如第一行可以代表 = 0

4、字段(Field)

很多行组成了一个字段,可以看到FieldA里有十一行,这个字段可以取这11个值

和关系型数据库概念对照

RELATIONAL PILOSA
Database N/A (internal: Holder)
Table Index
Row Column
Column Field
Value Row
Value (int) Field.Value (see BSI)

特殊的Field

Rank

始终维护顺序,默认大小是50000


Rank

LRU

按访问时间排序


LRU

Shard

所有的index会按照列进行分组划分,默认大小是220。在正常关系型表中就是横向拆分的,不过在pilosa中是按列分。

BSI Range-Encoding

BSI Range-Encoding

是将int转换成了二进制的,每一行代表这一位,另外还单独有一位用来表示是否为空。
所以上图里,A字段中,第一列就是1,第二列就是2,第三列就是3,第四列就是7。B字段中第一列row=3的地方是0,因为这一列是空,第二列就是1,第三列是6。

上一篇 下一篇

猜你喜欢

热点阅读