找回密码
 立即注册

QQ登录

只需一步,快速开始

dexteryao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

超级版主

123

主题

8927

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13536

讲师达人悬赏达人元老葡萄SpreadJS 认证SpreadJS 高级认证微信认证勋章

dexteryao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-2-28 15:28  /   查看:1572  /  回复:0

在SpreadJS中,WorkSheet 采取了稀疏矩阵的方式,只对有内容的单元格开辟存储空间。
这种Cell base的存储不仅节省存储空间也有利于数据检索,单元格的移动,以及数据的撤销和回滚。

image.png183993224.png


在数据管理分析的场景下,从服务端获取到常常的是json数组,这样密集的数据并不是稀疏矩阵适合的场景。
image.png41934508.png

集算表采取了另一种存储策略,Column Base,列式存储
与列式存储对应的就是行式存储,前面的json数据对应到表格里就是左边图的样子 集算表的dataManager 在获取到Table数据后,并不是按照传输来的数据格式直接存储。 而会转换为右图以列为单位的数组来存储。
image.png997401733.png

这里可以看到数据的存储结构,每一列都是一个数组.数组中只是数据,没有冗余的属性信息
image.png921387329.png

列式存储的优势:
image.png545937804.png

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部