TCDatabase介绍(3) 博客分类: 软件开发 数据结构
TC的不同的数据类型,有不同的数据存储结构。这里主要介绍TC的Table类型的存储结构。 每个TC的Table,起码有一个*.tct文件。这个tct,是在hash数据库的基础上改进而来的。下面转贴几张张宴的PPT里的图。 TCT的改进,就是在Hash的Key-Value的Value部分,动了一些手脚,将多个字段打成一个大包,都存在一个Value里去了。 另外,TCTDB,有可能会有一个*.tct.idx文件,这个idx,是一个B+Tree结构,将一个table中的各个需要建立索引的字段数据,在TCBDB中建立索引。 TCBDB的结构图如下: 在idx文件里,则是将value与key反过来存放。 为了解决之前提到过的TCTDB存在的问题,我们设想的TCDatabase的结构,将是这样的: 1、表结构(data.tcb.cfg) TCHDB 下面做一些解释: (未完待续)四、存储数据结构
1、TCT的存储数据结构
2、TCDatabase的存储数据结构
table_name1 => {column1=>string,column2=>int}
table_name1_count => 10
table_name1_index => {column1,column2}
table_name2 => {column1=>string,column2=>int}
table_name2_count => 10
table_name2_index => {column1,column2}
2、记录集(data.tcb) TCBDB
table_name1/pkey1.column1 => value1
table_name1/pkey1.column2 => value2
table_name1/pkey2.column1 => value3
table_name1/pkey2.column2 => value4
table_name2/pkey1.column1 => value5
table_name2/pkey1.column2 => value6
3、索引(data.tcb.idx) TCBDB
table_name1/column1/value1\0pkey1 => pkey1
table_name1/column1/value3\0pkey2 => pkey2
table_name1/column2/value2\0pkey1 => pkey1
table_name1/column2/value4\0pkey2 => pkey2
table_name2/column1/value5\0pkey1 => pkey1
table_name2/column1/value6\0pkey2 => pkey2