数据库金融行业数据库新势力-浪潮云溪NewSQL数据库解析( 二 )


“云溪”数据库既支持分布式 ACID 事务 , 具备高并发、高可用、弹性伸缩特性 , 并可同时处理交易类业务和分析类业务 。 对于正在面临海量数据存储与处理的金融企业来说 , “云溪”数据库具备以下几大优势 , 可帮助金融企业改善其数据库能力:
l 提供混合事务和分析处理能力 , 通过统一的平台 , 同时支撑实时在线事务处理(OLTP)和在线分析处理(OLAP) 。
l “云溪”数据库实现了对于 PostgreSQL数据库的高度兼容 , 并支持Oracle/Mysql数据导入 , 可以在不影响业务系统正常运行的情况下 , 将业务的后台支撑数据库从 Oracle/MySQL/PostgreSQL 切换为 “云溪”数据库 。
l 具有横向弹性扩展能力 , 当数据库性能遇到瓶颈时 , 通过增加节点的方式即可实现 “云溪”数据库的横向扩展 , 轻松应对高并发、海量数据场景 。
l “云溪”数据库可以提供数据强一致性保证 , 在发生故障时 , 可以轻松实现故障的自动恢复 , 无需人工介入 。
l 与云计算有着深度的契合性 , 支持公有云、私有云和混合云 , 提供了完善的云数据库解决方案 。
4. 主要技术特性 4.1. 分布式强一致 在分布式系统中 , 各节点状态的一致性是非常重要的特性 。 “云溪”NewSQL数据库采用Raft一致性算法(Raft consensus algorithm)来确保即使是在节点发生故障的时候 , 用户的数据也保持一致性 。
在“云溪”数据库中 , 将用户库表数据按照/DB/Table/PrimaryKey编码成KV对 , 数据划分成64M大小的分片(Range) 。 每个Range默认3副本存储 , 若少于一半的副本丢失 , 会自动在其他可用节点上补齐 。 根据不同的容灾等级 , Range数据多副本可配置为跨机器、跨数据中心、跨地域存储 。
单个Range的多个副本中有一个会被选举为领导者(leader) , 副本之间通过Raft协议进行数据同步 。 Raft协议将所有的请求以Raft Log的形式串行化并由Leader同步给Follower 。
数据库金融行业数据库新势力-浪潮云溪NewSQL数据库解析
本文插图
Raft一致性
当Follwer副本接受消息并保存后 , 返回响应给Leader 。 Leader在接收到一半以上的成功保存消息则认为用户数据已经成功保存并返回响应给客户端 。 最终所有副本上的日志都会复制成与Leader一致的状态 , 保证了用户数据更新的原子性和一致性 。
4.2. 异地多活高可用 在分布式数据库中 , 系统的高可用性和数据强一致性往往不可兼得 。 一般情况下 , 对于一致性要求比较高的业务在响应延时方面就会降低要求 , 适合选择CP 模式;对于响应时延有高要求的业务在数据一致性方面会降低要求 ,适合选择AP 模式 。 而银行核心系统对数据一致性和可用性都有很高的要求 , 正常场景下需保证数据的强一致性要求 ,当出现数据中心间的网络异常(如网络抖动、丢包、瞬断等) 时 , 依然保证银行核心系统的可用性 。 为此“云溪”数据库支持各种跨数据中心部署方案 , 支持异地多活、两地三中心、三地五中心等 , “云溪”数据库能够在系统故障时自动切换 , 少于1/2副本故障不影响系统使用 , 全面保障服务高可用 , 能做到RPO=0 , RTO<60s 。
数据库金融行业数据库新势力-浪潮云溪NewSQL数据库解析
本文插图
多中心部署
“云溪”数据库同时支持地理位置分区功能 , 用户可以将数据分散在多个数据中心 , 并向不同地理位置的用户提供一致的数据访问 , 可以通过配置策略将数据存储在距离自己最近的节点或数据中心 , 以获得最佳的性能 。
数据库金融行业数据库新势力-浪潮云溪NewSQL数据库解析
本文插图
4.3. 分布式事务 金融行业核心交易类业务对事务的一致性要求很高 , 目前业界流行的最终一致性分布式事务方案无法满足其要求 , 而两阶段提交由于同步阻塞、读数据可能不一致等常见问题 , 同样无法满足金融行业交易类业务对性能和一致性的要求 。