dexteryao 发表于 2022-2-28 15:28:24

SpreadJS表格技术 - 集算表TableSheet(一) - 内存


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




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


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


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


列式存储的优势:


页: [1]
查看完整版本: SpreadJS表格技术 - 集算表TableSheet(一) - 内存