国产数据库厂商百家争鸣,但市场上占比较多的仍是基于MySQL及PG二次研发的产品,本文将介绍一款与开源产品无关的自研数据库产品Goldilocks。
Goldilocks是韩国SUNJESOFT软件公司研发的一款高性能分布式数据库,科蓝软件在2018年并购SUNJESOFT,成为国内拥有高性能产品的完整知识产权的优势厂商。
01 Goldilocks简介
GOLDILOCKS分布式数据库是北京科蓝软件系统股份有限公司自主研发的高性能分布式内存数据库,具有支持高并发、实时交易的处理能力,在海量数据处理方向具有突破性技术,可以彻底解决传统磁盘数据库的性能瓶颈问题,能够显著提升业务系统的处理能力。
GOLDILOCKS在产品设计上具有新技术前瞻性,如分布式计算、可扩展性和基于内存计算的特性,同时保持了对传统技术良好的兼容性,如ACID和SQL的支持,其高并发、低延时、高可用及支持复杂数据模型的特点适用于电信、金融等对实时性要求较为严格要求的场景。
GOLDILOCKS分布式数据库是科蓝软件自主研发的独立数据库产品。完全没有采用涉及国外知识产权的MySQL或PostgreSQL等相关内核技术,可有效避免潜在的知识产权和信息安全隐患,避免在持续应用过程中,受到国际形势变化因素影响。

图1 新型技术与传统技术融合
02 核心技术
基于内存计算(In-Memory)
GOLDILOCKS数据库采用内存计算存储技术,把所有的数据存放到内存中,与传统数据库使用的磁盘读写机制相比,GOLDILOCKS具备更极致的读写速度,性能比传统的磁盘数据库有数量级的提升。GOLDILOCKS除了一般商用数据库提供的Client/Server模式外,还提供Direct Access模式。DA称为直连模式,由于没有协议转换的开销,具有最高的效率。

图2内存计算的架构差异
全局事务(Global Transaction)
全局事务是将多个Group的数据捆绑到一个事务中进行处理的技术,在2个及以上集群组中执行,通过Global View SCN实现控制,任何节点都无法看到当前未完全提交到所有节点的数据。

图3 全局事务
全局事务使用二阶段提交协议完成数据的分布处理。如图4所示,GOLDILOCKS分布式数据库全局事务执行如下2阶段提交:
1)准备阶段
- 它将来自驱动程序的PREPARE消息传输给所有成员,并等待响应消息;
- 当从所有成员接收到PREPARE的响应消息时,它进入COMMIT阶段,或者当至少一个成员失败或不响应时,执行回滚操作。
2)提交阶段 - 它将COMMIT消息从驱动程序传输到所有成员并等待响应消息;
- 即使有成员出现提交失败的情况,它也会完成提交。

图4 全局事务二阶段提交示意图
当多个会话同时更改多个节点的数据时,GOLDILOCKS能保证数据的强一致性。如图5是Goldilocks Cluster和基于Middleware方式Cluster的关于一致性的差别。

图5 多会话更改多节点数据事务对比图
数据分片(Sharding)
数据分片是GOLDILOCKS分布式数据库来实现数据分布存储及处理海量数据的重要手段。在GOLDILOCKS分布式数据库中创建表时,用户可以选择多种分片策略,数据库基于用户选择的分片策略进行分布存储数据。
GOLDILOCKS支持的分片策略有:
- 克隆策略(Clone):节点间等同的复制表中所有数据;
- 哈希分片策略(Hash):表数据基于分片键的哈希值来;
- 范围分片策略(Range):表数据基于分片键的范围值来分布;
- 列出分片策略(List):表数据基于分片键的列表值来分布。
在线横向扩展(On-Line Scale OUT/IN)
GOLDILOCKS分布式数据库可以在不中断业务的情况下,完成扩展和缩小数据库服务器的算力,通过计算合适的系统算力可最大限度地节省成本。

图6 GOLDILOCKS分布式数据库管理
如需将新的集群成员添加到分布式架构中,各个成员的表空间必须相同。也就是说,您必须保证所有成员上创建与集群系统相同的表空间。新添加到分布式系统的集群组和集群成员可以将SQL对象的所有字典信息同步到服务,由于新添加的成员中没有数据,因此您需要将数据重分布(rebalance)到新添加的成员中。

图7 Data Rebalancing示意图
03 产品优势
随着移动应用、互联网、区块链应用及大数据技术的快速发展,满足高并发、低延时成为了增强用户体验的关键要素。GOLDILOCKS数据库首创一体化支持分布式架构、全局事务及SQL,科蓝公司对其国产化后,可从根本上解决了长久以来困扰国内互联网金融等行业业务发展的瓶颈,即处理海量数据的性能问题。
GOLDILOCKS具有稳、高速和低延迟等特点,特别适合于互联网金融交易、通信、证券及电力等要求高性能并发性实时处理数据的领域,产品具有如下6个方面的独特优势。
完整的知识产权
国内外严格的法律保证,清晰完整可验证的科蓝知识产权,绝不存在以O(MYSQL)去O的ip隐患。国内强大的研发与技术支持团队。
基因纯正与权威证书
强大正统的基因:与国际ERP巨头SAP的 HANA数据库同源。
国内:获国家工信部信通院评测证书。
国际:唯一同时获得TPC-C和TPC-H两项国际权威数据库认证的国产数据库。
国内国际成熟案例
国内外真实成熟的顶级高端生产系统案例! 大型电信运营商四亿客户,日均千亿级交易,六年生产稳定运行。证券交易所、虚拟货币交易所,券商和银行等金融机构生产系统案例。同时适用于高性能区块链交易系统。
先进性
分布式数据库:支持多节点全局性事务
数据库分布式方案 : 支持大规模多节点数据库应用,可与其他分布式数据库联合部署
超高性能内存数据库特点 : 可配套扩展至10T级最新的大规模持久化内存产品
实用性
Oracle DBA无需培训,直接使用。Oracle、DB2、Sybase、Informix、Mysql可轻松替换。与华为、浪潮等众多服务器适配完成。与大数据平台Hadoop配套,形成完善的数据平台体系。
商品化
科蓝2020企业版GOLDILOCKS数据库是成熟的商用基础软件。在产品化、商品化方面,领先目前在项目级研发阶段的竞争厂商至少10年!
04 案例
GOLDILOCKS分布式数据库近年来在国内、国际拥有众多成功案例,覆盖政府、电信运营商、银行、证券、区块链应用等多个行业,在支持实时业务,快速数据处理等方面发挥作用。
某电信运营商计费系统

图8 某电信运营商计费系统
2016年6月,此电信运营商计费系统上线,主要服务于“4G业务”和“4G+ 固话宽带融合业务”的计费和结算。系统建设中使用了科蓝公司的GOLDILOCKS数据库产品,实现了覆盖全国31个省市 4 亿用户的实时计费和结算,满足了计费系统中的精度要求、实时性要求、灵活性要求。于2016年上线以来,日均处理500亿笔计费操作,连续五年稳定运行。
某银行欺诈检测系统

图9 某银行欺诈检测系统
2019年11月,此银行欺诈检测系统(FDS:Fraud DetectSystem)正式上线,部署为1by2 Cluster模式实现Active-Active架构,故障时应用自动切换,大幅缩短系统的故障时间。并且基于GOLDILOCKS数据库的内存架构确保系统的总吞吐量以及均匀的相应速度。
某虚拟货币交易所

图10 某虚拟货币交易所
2018年5月,此虚拟货币交易所应用GOLDILOCKS数据库产品,建设总账系统数据库,保证用户数增加时的性能,构建实时余额系统快速查询和支付;匹配系统数据库,迅速应对新增的虚拟货币交易;构建分发系统分发行情。GOLDILOCKS数据库支持平滑扩展,在虚拟货币和用户数不断增加的环境下,也能方便在线扩展。
某证券公司远程双活交易系统

图11 某证券远程A-A交易系统
2015年9月,此证券两地两中心实时交易系统正式上线。从Mainframe DB2上分离出委托交易、交易管理、委托有效性管理、风控管理、保证金管理、账号信息管理等交易类业务到GOLDILOCKS数据库,原DB2数据库只用于查询业务。此系统为首次建立的证券行业远程Active-to-Active交易系统,确保交易业务连续性并确保意外故障恢复系统的持续可用性。
05 相关资质
软件著作权

图12 计算机软件著作权登记证书
分布式事务型数据库基础能力专项评测证书

图13 分布式事务型数据库基础能力专项评测证书
TPC系列资质
TPC(Transaction Processing Performance Council)是为了保证基础软件、计算设备的国际可靠性而诞生的委员会,其会员有Oracle、IBM、HP、MS、EMC等优秀企业。TPC国际认证的过程非常严格,通过即可以认为是可靠的、有竞争力的产品。
在亚洲范围内,GOLDILOCKS是唯一同时具备TPC-C和TPC-H国际认证的数据库产品。
TPC-C
2017年5月,GOLDILOCKS数据库获得了国际权威机构TPC委员会颁发的TPC-C资格认证。

图14 TPC-C认证
TPC-H
2018年12月,GOLDILOCKS数据库获得了国际权威机构TPC委员会颁发的TPC-H资格认证。

图15 TPC-H认证
CMMI5
2020年1月,科蓝软件通过了CMMI-DEV ML5评估,标志着公司软件研发的过程组织能力、项目管理能力及质量管理能力等方面均达到了行业内的国际领先水平。

图16 CMMI5
信息安全管理体系认证证书

图17 信息安全管理体系认证证书
以上是关于科蓝公司及GOLDILOCKS分布式数据库的产品介绍,供参考。
参考资料:
GOLDILOCKS分布式数据库技术白皮书





