了解独游(Indievow)分布式数据库的产品定位、核心架构与技术特性
随着数据量的日益增长,传统数据库已无法满足业务对性能,扩展性,高可用性的需求;业界也不断推出新的数据库解决方案,如基于共享存储的ORACLE RAC集群,中间件分库分表等;但这些解 决方案都存在问题,无法满足业务需求。
Indievow 是一个新型的分布式关系型数据库系统,支持多活部署,不仅具有良好的扩展性、高可 用性、支持关系模型、支持事务处理、采用标准 SQL 接口,同时不需要用户进行分库分表,没有跨节点操作限制,因此更适合于大规模结构化数据管理和高并发事务处理的应用场景。
独游(Indievow)数据库是上海独游网络有限公司完全自主研发的企业级HTAP关系型原生分布式数据库,其设计的主要目标是:
强一致性,满足企业级的ACID基本要求;
高可靠,系统无单点,分布式架构提升系统可靠性和服务连续性;
高性能,充分调度多机资源并行计算,支持高并发;
多活部署,数据库层提供多中心数据数据实时同步,且可通过流量分配保障7*24小时无间断服务;
标准访问接口,兼容SQL92标准。
Indievow是一款完全自研的国产分布式数据库,真正做到高可靠、高性能、高弹性、易使用、低成本、多活部署的分布式数据库。独游目前已成功应用于大型银行核心系统以及能源、政务、制造、物流等行业的在线联机交易型系统,打破了Oracle、DB2数据库在高端数据库领域的垄断。
Indievow数据库致力于为企业提供更加安全、高效、便捷的数据处理解决方案。除了各行各业外,Indievow数据库还广泛应用于能源、政务、医疗、大型制造企业、物流等关键行业和领域。在这些领域中,Indievow数据库以其卓越的性能和稳定性为企业的数字化转型提供了有力支持。
同时,Indievow数据库作为中国原创的基础核心软件,始终坚持科技自立自强、持续创新的理念。通过不断推动技术升级和产品优化,Indievow数据库在同类产品中始终保持技术领先地位。
Indievow数据库不仅在国内市场占据重要地位,还积极拓展国际市场。其受邀在金砖国际会议上发表主旨演讲等举措,提升了Indievow数据库的国际知名度,为中国科技企业在国际舞台上赢得了更多关注和尊重。
Indievow数据库作为中国原创之基础核心软件,坚持独立自主、持续创新,并积极吸收国内外先进研究成果。其团队荣获了教育部科技进步一等奖等多项行业权威荣誉。此外,Indievow数据库还通过了中国软件评测中心测试、国家工业信息安全发展研究中心源代码风险评估、公安部三所信息技术产品自主原创性测评等权威机构的认证和评测。
Indievow集群中存在4种角色的服务进程,其中CG进程实现了传统数据库的查询解析、编译和执 行的功能;
DG进程实现了数据文件的分布式存储与访问功能;TG进程基于内存引擎实现了高吞吐量的 事务处理功能;MG实现了集群管理功能。集群中通常部署多个DG和CG节点,通过添加节点数量可以 扩展系统的存储和查询处理能力。集群中可以部署多个TG节点,采用基于Quorum的提交协议,能够 保证在多数派节点正常的情况下不丢失数据。集群中同样可以部署多个MG节点,通过Paxos协议来实 现自动选主,保证了集群的高可用。
集群中可以设置多个MG节点(一主多备),通过Paxos协议实现自动选主,能够保证集群的高可用;
通过租约机制(Lease)来管理集群中的TG节点,保证同一时刻只有一个TG提供事务处理服务;
通过心跳机制(Heartbeat)来管理集群中的CG和DG节点,感知节点的上下线;
Indievow中的数据表按主键范围被划分为多个子表(称为Tablet),每个子表可以有多个副本,分别存储在不同的DG节点上。MG通过RootTable结构来记录Tablet在DG上的分布位置信息,并管理Tablet的副本数量、复制、迁移和合并。
与传统数据库系统一样采用 WAL(Write-Ahead Logging)技术来保证事务的原子性和持久性;
一个Paxos组内可以部署多个TG节点(一主多备),由主MG通过租约来确定主TG,主TG的日志采用基于Quorum协议的方式同步到备 TG,能够保证在超过半数TG正常的情况不丢失任何数据;
事务处理产生的增量数据被保存在 TG 的内存中,通过合并操作与 DG 中保存的静态数据合并,产生新版本的静态数据;
支持跨表跨行的事务,一个 Paxos 组内不存在分布式事务,不需要两阶段提交机制;
当一组 TG 无法满足性能需求时,可以增加 TG 组实现事务处理性能水平扩展,TG 组之间采用两阶段提交机制支持分布式事务;
采用多版本并发控制协议(MVCC)实现 Read Committed 事务隔离级别;
支持MySQL通讯协议,对SQL语句进行解析生成执行计划,并管理语句执行计划的运行;
缓存Tablet的分布位置信息,将SQL语句涉及的数据请求同时发送给对应的DG,并将所有DG返回的结果合并;
CG本身无状态,宕机不会对应用系统产生影响,应用可以通过其它CG获得服务;
存储和管理 Tablet 副本,提供本地数据查询服务,支持数据缓存;
响应CG的数据请求时,会从TG拉取对应的增量数据,融合后得到数据的最新状态,返还给CG;
在启动数据合并操作后,DG 将会从 TG 拉取所有本地数据对应的增量数据,与本地数据合并后产生新版本的Tablet;
数据合并操作期间,DG 正常提供数据查询服务;