SequoiaDB巨杉数据库 3.0,在产品GA发布后,通过近半年在金融级场景的测试、上线和稳定运行以后,于近期正式发布。数据库
1. SequoiaDB 3.0 产品定位安全
SequoiaDB巨杉数据库是一款金融级分布式数据库,包括了分布式NewSQL、分布式文件系统与对象存储、与高性能NoSQL三种存储模式,分别对应分布式在线交易、非结构化数据和内容管理、以及海量数据管理和高性能访问场景。架构
根据Gartner的数据库报告,Multi-model多模是将来10年,下一代分布式数据库发展的最主要方向。从1.0的高性能分布式 NoSQL数据库,到2.0加入的分布式对象存储,再到3.0完整协议级兼容MySQL,SequoiaDB通过6年的不断迭代创新,全面支持企业级结构化、半结构化以及非结构化数据存储。并发
SequoiaDB 3.0 产品维度异步
2. MySQL 完整协议级兼容分布式
SequoiaDB 3.0实现了100%的MySQL协议级兼容:工具
· 全面兼容:全面支持MySQL协议与语法,用户能够直接使用MySQL客户端或任何管理、开发与监控工具对数据库进行操做;性能
· MySQL语法:因为使用了MySQL原生的解析器,SequoiaDB 3.0 可以实现100%的MySQL语法兼容,支持语法包括基础CRUD操做,多表关联,跨节点事务操做,建立视图,存储过程,索引和访问计划等。测试
· 无缝切换: 对于任何已有应用程序,SequoiaDB 3.0提供全面的MySQL兼容,几乎无需应用程序代码调整,便可无缝切换;优化
· 分布式弹性扩展:经过SequoiaDB存储引擎原生分布式架构,数据库在兼容MySQL同时,无需“分库分表”,分布式存储引擎直接提供弹性容量扩展能力,能够上百倍提高应用程序的存储空间与访问性能;
· 表多维分区:经过存储-SQL分离架构,用户访问MySQL也能够实现表的多维分区,提高应用的灵活性。
SequoiaDB 3.0 MySQL 兼容架构
SequoiaDB 3.0采用了“存储-SQL 分离”的架构,相似架构也出如今AWS的Aurora数据库等众多新一代分布式数据库上。
SequoiaDB 3.0使用了MySQL数据库原生的SQL解析器,自然支持MySQL协议并能够作到100%语法兼容。在该架构中,MySQL协议解析层做为SQL解析和分发的角色,直接面对应用程序,每个MySQL服务的接入节点都是一个独立支持读写操做的MySQL进程。而数据存储和管理层,则彻底由巨杉数据库的分布式数据库引擎实现。简单来讲,SequoiaDB 3.0做为MySQL的InnoDB替换引擎,在自然支持MySQL的所有语法和功能的同时,提供了数据库存储层弹性扩张的能力。
3. 金融级分布式OLTP
SequoiaDB 3.0 的MySQL兼容主要体如今SQL语法层面,而针对分布式OLTP业务的其余众多数据管理机制,均在SequoiaDB的分布式数据库引擎实现。
SequoiaDB 3.0 针对分布式OLTP业务,在分布式存储引擎方面带来了一些重要的提高:
1) ACID:
ACID是交易型数据库的基础,SequoiaDB 3.0已经全面支持ACID,100%支持原子性、一致性、隔离性与持久性;
2) 跨表跨节点事务:
在分布式数据库中,多节点间的原子性操做须要特殊的方式实现,SequoiaDB 3.0使用二段提交的方式支持跨表跨节点事务能力;
3) 隔离性:
支持read-committed隔离级别;
4) 锁机制:
SequoiaDB内核对记录锁的管理进行了优化,彻底避免了在大量并发交易时的锁拥堵问题;
5) CBO(Cost-Based Optimization)基于开销的优化:
实现对集合内的数据以及索引进行统计抽样,创建多维度、多层级的数据模型;并对外部查询语句进行“重写”、“规则优化”、“参数化”以及“谓词降解”优化,提高访问性能,这也是目前企业级数据库主流的优化器优化方式;
6) 表压缩:
针对表级别的数据压缩,提供两种压缩方式,压缩比例最高超过60%,极大提高性能和吞吐量;
7) 安全性:
分布式架构支持高可用与异地灾备机制,在提供一主多备存放的同时还支持读写分离模式。SequoiaDB 3.0原生支持两地三中心等异地容灾策略,保证交易数据安全可靠。
4. 对象存储与文件系统
SequoiaDB 3.0在对象存储API的基础之上提供了标准Posix文件系统接口,可以原生接入任何支持Posix协议标准的操做系统,用户对应用程序无需任何改造便可从NAS迁移至SequoiaDB。
在使用Posix文件系统的基础上,SequoiaDB 3.0彻底避免了传统文件系统在存储大量文件时所产生的性能瓶颈。同时,得益于SequoiaDB的分布式架构,其对象存储与文件系统特性在对应用程序零改造的前提下,成百上千倍地提供了存储的扩展性以及并发吞吐能力。
在该版本中,还引入了‘偏移锁’机制,当并发操做同一个文件时,每个并发只锁定其偏移内的内容,这样便可以保证并发状况下文件内容的正确性,极大程度提高了外部访问的并发度。·
5. 全文检索
SequoiaDB 3.0支持全文检索能力。用户能够经过建立针对指定字段的全文检索索引,对字符串中的内容进行实时模糊匹配,达到像使用普通查询同样方面地使用全文检索功能。
在索引类型中,增长了新的‘全文索引’类型,用户只须要在对集合建立索引时指定为‘全文索引’类型便可以轻松地建立。在全文索引建立后,索引定义的内容会自动同步至全文索引引擎,以后新的数据变化也会快速同步至全文索引引擎中。
SequoiaDB 3.0支持异步全文索引,在高吞吐量的数据导入时不会对导入性能形成任何影响。
6. 容灾与安全
SequoiaDB原生支持数据库内核级别的高可用以及跨数据中心灾备能力,不须要使用第三方工具便可使用多副本对数据进行保护,彻底知足金融级要求:
· 数据中心内高可用安全:RPO、RTO为0,迅速响应无缝切换;
· 异地容灾:异地容灾和备份,保证数据安全,中心间距离超过1000km以上。知足“两地三中心”的监管需求;
· 同城双活:同城双中心的数据实时同步,保证数据一致;双中心数据能够实现同时读写,大大提高读写效率;中心切换RPO 为0 ,RTO 小于 1分钟;
· 更便捷的灾备管理:系统集群中统一管理灾备中心,简化了维护成本,也帮助使用者更快上手。
7. 性能
SequoiaDB 3.0 在性能方面也有持续提高。经过Sysbench标准测试,SequoiaDB 3.0 性能表现优秀。测试主要考察三种场景,插入、查询以及交易事务几项基础数据库操做指标,如下为相关的测试方法以及结果:
1)Insert:单条数据插入
启动3个96并发运行Insert的Sysbench进程30分钟,SequoiaDB测试结果:平均响应时间为5.28ms, TPS为54,513.58笔/s,成功率为100%。
2)Select:索引查询,精确匹配中一条记录
启动3个96并发运行Select的Sysbench进程30分钟,SequoiaDB测试结果:平均响应时间为1.42ms, TPS为202,886笔/s,成功率为100%。
3)OLTP事务操做:
一个OLTP事务包括10个精确索引匹配查询,1个索引范围查询,1个索引范围查询汇总,一个索引范围查询排序,一个索引范围查询去重,一个精确匹配更新索引字段,一个精确匹配更新非索引字段,一个精确匹配删除,一个单条记录插入(主键为删除记录字段的值)。
启动3个96并发运行OLTP的Sysbench进程30分钟。
SequoiaDB测试结果:平均响应时间为68.74ms,TPS为4,198.29笔/s,成功率为100%。
小结
SequoiaDB 3.0 目前已经在金融行业的企业用户准核心业务和众多的实时在线交易场景投入使用。通过金融级核心业务的考验,SequoiaDB 3.0 将会在将来拓展至更多行业应用场景,成为比肩国际巨头的中国分布式数据库产品。
SequoiaDB简介:
巨杉数据库是国内首家入选Gartner数据库报告的厂商。
巨杉数据库主要产品,SequoiaDB是一款金融级分布式数据库,产品技术维度包括分布式NewSQL,分布式对象存储和高性能NoSQL,业务场景覆盖分布式核心在线交易,分布式内容管理以及海量数据高性能存储管理等主要场景。
目前已经在金融、政府、电信多个行业获得了普遍应用,并在超过30家大中型银行的核心生产系统应用。