大数跨境
0
0

新一代数据库开源!分布式 SQL 事务和查询引擎

新一代数据库开源!分布式 SQL 事务和查询引擎 GitHubTopp
2025-10-07
0
导读:新一代数据库开源!

新一代数据库开源!分布式 SQL 事务和查询引擎

源代码

https://www.gitpp.com/genesis/project-shardingsphere

一个分布式 SQL 事务和查询引擎,支持在任何数据库上进行数据分片、扩展、加密等操作。我们社区的指导性开发理念是 Database Plus,旨在创建一个完整的生态系统,让您可以将任何数据库转换为分布式数据库系统。

它专注于重新利用现有数据库,通过在现有和分散的数据库之上放置标准化的上层,而不是创建新的数据库。

目标是提供统一的数据库服务,并最大限度地减少或消除底层数据库碎片化带来的挑战。这使得应用程序只需要与单个标准化服务进行通信。

该项目的核心概念是ConnectEnhancePluggable

  • Connect:灵活适配数据库协议、SQL方言和数据库存储,快速连接应用和异构数据库。
  • Enhance:捕获数据库访问入口以透明地提供附加功能,例如:重定向(分片、读写分离和影子)、转换(数据加密和屏蔽)、身份验证(安全、审计和授权)、治理(断路器和访问限制和分析、QoS 和可观察性)。
  • Pluggable:利用微内核和三层可插拔模式,可以灵活地嵌入各种功能和数据库生态。开发者可以像搭建乐高积木一样,定制自己的ShardingSphere。

ShardingSphere 宗旨:Database Plus 理念

核心理念
通过标准化中间件层,将传统单点数据库升级为分布式数据库系统,实现“连接现有数据库,创造无限可能”的生态目标。

  • 不替代,只增强
    :保留原有数据库核心能力,通过上层抽象解决分布式场景下的扩展性、安全性和一致性难题。
  • 零侵入改造
    :应用层无需修改代码,即可获得分布式数据库的全部优势。
  • 开放生态
    :支持多协议、多方言、多存储引擎的灵活适配,构建开发者友好的技术共同体。

核心应用场景

1. 分布式数据架构升级

  • 场景
    :高并发、海量数据存储的互联网应用(如电商、社交、金融核心系统)。
  • 解决方案
    • 水平分片
      :按用户ID、时间范围等维度拆分数据,突破单库存储瓶颈。
    • 读写分离
      :主库写+从库读,提升QPS(每秒查询率)。
    • 影子表压测
      :在生产环境模拟流量,不干扰真实业务。
  • 案例
    :某电商平台通过分库分表将订单表容量扩展至百亿级,同时保证事务一致性。

2. 多源异构数据统一管理

  • 场景
    :企业同时使用MySQL、Oracle、PostgreSQL等多种数据库,需统一访问接口。
  • 解决方案
    • 协议适配
      :兼容JDBC、MySQL协议、PostgreSQL协议等,屏蔽底层差异。
    • 方言转换
      :自动将标准SQL翻译为目标数据库方言(如Oracle的ROWNUM转MySQL的LIMIT)。
  • 案例
    :某银行整合核心系统(Oracle)与大数据平台(Hive),通过ShardingSphere实现跨库查询。

3. 数据安全与合规

  • 场景
    :满足GDPR、等保2.0等法规要求,对敏感数据进行动态保护。
  • 解决方案
    • 透明加密
      :字段级AES/RSA加密,支持国密SM4算法。
    • 动态脱敏
      :正则表达式匹配身份证、手机号等,返回部分掩码数据(如138****5678)。
    • 审计日志
      :记录所有SQL操作,支持细粒度权限控制。
  • 案例
    :某医疗平台通过数据脱敏功能,在研发环境使用真实数据时避免隐私泄露。

4. 混合云与多云部署

  • 场景
    :业务跨公有云(AWS/阿里云)和私有云部署,需统一数据治理。
  • 解决方案
    • 跨云路由
      :根据数据位置、成本等因素动态选择存储节点。
    • 全局事务
      :支持XA/SEATA协议,保证跨云事务一致性。
  • 案例
    :某跨国企业通过ShardingSphere实现中国区(阿里云)与欧美区(AWS)的数据同步与事务管理。

核心价值

1. 技术价值

  • 分布式事务支持
    :解决跨库ACID难题,支持柔性事务(TCC/SAGA)应对高并发场景。
  • 弹性扩展能力
    :在线扩缩容无需停机,动态调整分片策略应对流量峰值。
  • 性能优化
    :SQL重写、执行计划缓存、结果集合并等技术提升查询效率。

2. 业务价值

  • 降低成本
    :避免“分库分表”带来的应用层改造成本,延长现有数据库生命周期。
  • 加速创新
    :通过插件化架构快速集成AI、区块链等新技术(如基于SQL语义的自动分片推荐)。
  • 提升竞争力
    :支持快速迭代的新业务(如秒杀、实时推荐)而无需重构底层架构。

3. 生态价值

  • 开发者友好
    :提供Spring Boot Starter、Kubernetes Operator等工具链,降低使用门槛。
  • 社区驱动
    :Apache顶级项目,300+贡献者覆盖金融、电信、能源等行业,形成最佳实践库。
  • 云原生适配
    :与Sidecar模式、Serverless架构无缝集成,支持现代化应用部署。

对比传统方案的优势

维度 ShardingSphere 传统分库分表中间件 新建分布式数据库
改造成本
低(兼容现有数据库)
中(需应用层改造)
高(迁移数据与应用)
异构支持
强(多协议/方言适配)
弱(通常单数据库类型)
依赖数据库自身能力
功能扩展
高(插件化架构)
低(功能固化)
中(需数据库厂商支持)
生态开放性
高(支持自定义插件)
封闭(厂商锁定)
中(依赖特定云服务商)

结语

ShardingSphere通过“连接-增强-可插拔”的三层架构,重新定义了数据库中间件的技术边界。其价值不仅在于解决分布式场景下的技术难题,更在于构建了一个开放、灵活的数据库生态,使企业能够以最低成本、最高效率实现传统数据库的现代化转型,聚焦业务创新而非底层技术复杂度。



新一代数据库开源!分布式 SQL 事务和查询引擎

源代码

https://www.gitpp.com/genesis/project-shardingsphere


【声明】内容源于网络
0
0
GitHubTopp
top开源系统分享
内容 334
粉丝 0
GitHubTopp top开源系统分享
总阅读0
粉丝0
内容334