SinoDB的业务封装技术

1、背景

数据库系统已经深入到各行各业的各类应用之中,不同行业的业务系统的数据处理多有以下特征:涉及多种类型的数据,包括结构化数据、半结构化数据和非结构化数据;数据运算带有行业特征;数据处理逻辑带有行业特征。

常规的数据库技术无法同时应对具有上述特征的数据和数据处理过程,因此不得不借助外部系统来进行数据存储和数据处理,这通常也导致了一些问题:系统的整体结构复杂,且不易扩展;无法表达和处理复杂业务模型;数据库内部数据和外部系统的数据无法进行关联运算,既有的方案效率都很低;可能存在一些严重的数据一致性的问题。

基于以上背景,星瑞格数据库管理系统(下文简称 SinoDB)提供了业务封装技术(下文简称 BizWrapper)。

2、BizWrapper技术

BizWrapper是SinoDB面向行业业务系统的扩展性的基础,是SinoDB提供的一套可以把具有行业特征的数据和业务逻辑统一封装到SinoDB数据库的技术框架。

BizWrapper技术可以解决常规数据库在应对不同行业特征数据和业务逻辑时面临的扩展性问题、成本问题和效率问题。

3、BizWrapper的组成和技术原理

作为SinoDB提供的技术框架,BizWrapper包含几个相互支撑的组件。

可扩展的数据管理器(Scaleable Data Manager):提供了把业务对象抽象化成数据库中的自定义数据类型的底层接口,这些接口除了可以针对业务对象进行数据类型定义以外,还可以定义这些类型的存储格式和类型自身的函数。

可伸缩的对象关系引擎(Extensible OR Engine):提供了一套管理和使用自定义数据类型的底层接口,功能包括类型转换、类型的查询管理(索引技术)、类型的聚合操作,以及针对该自定义数据类型的全局操作函数等。

BizWrapper Framework:提供了可以由用户使用的一系列接口和工具,调用数据管理器和对象关系引擎的相关接口完成类型定义和操作函数定义,同时为BizWrapper模块的运行提供接口支撑。

BizWrapper模块:借助于BizWrapper Framework生成,包含了具备行业特征的数据类型和基于该类型的代表着行业业务逻辑的相关操作。BizWrapper模块可以在SinoDB运行时被动态加载运行和卸载停用。

image

4、 BizWrapper的优势

(1)易于扩展

BizWrapper可以在生成的模块中封装了面向行业的业务逻辑,业务逻辑更新后,只需要重新加载模块即可,不需要重新部署应用,极大地提升了系统的可维护性和扩展性。

(2)明显降低成本

BizWrapper把面向行业的业务逻辑封装在模块中,降低了系统的整体复杂度,明显减少硬件部署成本和系统运维成本,同时也可以有效地缩短数据从采集到存储到后期加工利用的处理流程,进一步降低了数据处理的成本。

(3)面向多种行业的广泛的适应性

从前面的技术原理可以看出,BizWrapper技术可适用于任何行业,针对不同行业的数据特征和业务特征,BizWrapper技术可以构建不同的模块,封装具备行业特征的数据类型和业务逻辑,提升数据处理的一致性和时效性。