使用数据的AB版本机制
在数据写入磁盘后,再进行数据当前有效版本的切换操作。切换成功则正常使用新数据,如果切换失败(磁盘异常)则SQL报错,后续可以使用旧版本的数据。
1)使用数据的AB版本机制。
已有数据的checksum检查机制
每个数据块都记录了对应的checksum值,当从磁盘读取数据块时,会根据加载的内容计算出的checksum值,与之前记录的checksum值进行比较,确保读取的数据块的正确性。如果checksum值不一致则执行SQL会报错(避免由于磁盘错误导致数据异常的扩散)。
资源管理是通过cgroup实现的。cpu子系统是控制cpu时间分配的一个控制器,这个子系统使用调度程序提供对CPU的cgroup任务访问。
静态资源池限定并隔离了可以使用的资源使用范围,动态资源池限定了可以使用的最大资源。在动态资源池中有任务时动态资源池会占用规定的资源,无任务情况下则归还共享资源。
GBase是原生态的列存,各列独立存储,列存储的基本单位是DC(DataCell),以DC为单位进行IO(Read 、Write)以及压缩等,每个DC有对应的SmartIndex,可用于查询中的部分算子计算优化。
支持行列混合存储,可以为指定多个列建立行存储数据(这部分数据和列存是冗余存储的)。一般行存储数据用于查询投影列为很多列且命中数据非常离散的场景(这种场景行存IO比较有优势),缺陷是存储空间会增加很多。
8512版本架构是建立在小规模集群上的,在节点数小于64节点是没有问题,当节点数过大时,管理元数据等信息会负担过重。
8611版本是建立在大规模集群上的,8611联邦架构集群,采用完全并行的MPP+Shared Nothing分布式架构,采用多活Coordinator节点、运算节点的两级部署结构,可以根据客户需要设置管理节点和运算节点,在部署上更灵活,具有弹性。
8512可以看做是8611的一种特例,当管理节点和运算节点一样多,并都部署在相同节点上,部署行为上和8512版本相同。