GBase 8a分别支持智能索引与Hash索引
智能索引
智能索引为数据库自动维护,智能索引是每个DC包中记录的该DC包中数据的检索信息,包括null值个数、最大最小值等信息;
HASH索引
HASH索引可以根据业务场景需求自定义
GBase 8a分别支持智能索引与Hash索引
8a的优化器是基于代价和规则的,主要基于规则,部分算子基于代价(自动评估groupby方式、拉表为复制表还是hash重分布等)。
支持三种数据分布方式:Hash分布、随机分布、复制表。
GBase 8a全文索引原有的分词方式是中文按单个汉字切分,如“天津市”会被切分成“天/津/市”;英文按连续字母切分,如“gbase -uroot”会被切分成“gbase/-/uroot”;
数字也是按连续的数字切分,如“12345 67890”会被切分成“12345/67890”。对于以上情况的混合,同样遵循上面的规则,如“中国56 897gbase1234”会被切分成“中/国/56/897/gbase/1234”。这样的规则会使得“gbase1234”被切分为“gbase/1234”,这时使用“gba”或“123”是无法匹配到“gbase1234”的。
但在客户应用中,对这种场景有实际的需求。以数字的3元分词为例,如用户查询牌照号,希望用“567”匹配出“京AX4567”,因为目前的分词结果为“京”,“AX”,“4567” ,所以使用全文的contains(..., '567')不能命中“京AX4567”。必须改动分词为支持数字的多元(3元)分词,将“京AX4567”切分为“京”,“AX”,“456”,“567”,才能使得contains(..., '567')能匹配“京AX4567”。
8a数据库属于MPP大规模分布式数据库,在设计之初就考虑了高可用问题。8a基于安全组的高可用机制,安全组内节点数据冗余互备,当一个节点宕机后,安全组的另外一个节点因为存有数据的备份,故会自动承担宕机节点的数据服务,实现高可用。