Apache ShardingSphere 是一个开源分布式数据库,以及用户和开发者所需的生态系统,以使其数据库提供定制化和云原生体验。自从加入 Apache 基金会以来的三年里,ShardingSphere 核心团队与社区共同努力,创建了一个开源、健壮和分布式的数据库以及配套的生态系统。
ShardingSphere 并不完全符合行业中常见的简单分布式数据库中间件解决方案的模式。ShardingSphere 重塑了分布式可插拔系统,使实际用户实现场景得以蓬勃发展,并为社区和数据库行业贡献了有价值的解决方案。
ShardingSphere 的目标是 Database Plus 概念。
Database Plus
Database Plus 旨在数据库碎片化基础服务之上构建一个标准层和一个生态系统层。统一和标准化的数据库使用规范为上层应用程序提供支持,业务因底层数据库碎片化而面临的挑战得到尽可能地最小化。为了连接数据库和应用程序,它使用流量和数据渲染和解析。它为用户提供增强的核心功能,例如分布式数据库、数据安全、数据库网关和压力测试。
ShardingSphere 为 Database Plus 使用了可插拔内核架构。这意味着模块化,为用户提供了灵活性。它有几个不同的层:
- 基础层: 提供各种访问终端和访问形式,以满足用户在不同场景下的需求。
- 插件层: 通过实现可扩展性来提供基础设施支持。
- 功能层: 提供各种满足用户需求的功能插件,允许用户在插件选择和组合方面具有高度的灵活性。
- 产品层: 这是最终用户看到的层。这为他们提供面向行业和特定场景的产品。换句话说,它为用户提供了完成任何工作所需的正确工具。

(Vernoica Xu,CC BY-SA 4.0)
使用 DistSQL 进行标准化集群管理
Apache ShardingSphere 具有独特的 SQL 方言 DistSQL(分布式 SQL),用于连接 ShardingSphere 生态系统的所有元素。作为 ShardingSphere 分布式数据库生态系统的标准交互语言,DistSQL 允许用户使用一条 SQL 命令来创建、修改或删除分布式数据库表,或对其进行加密或解密。DistSQL 还支持分布式调度管理。

(Vernoica Xu,CC BY-SA 4.0)
多访问终端
ShardingSphere JDBC 和 ShardingSphere Proxy 经过了两年的打磨和测试,现已在生产环境中可用。许多社区用户提供了相关的生产社区案例。
由于共享的核心架构和不同的 ShardingSphere 适配器,如果用户的生产环境需要,他们可以选择混合适配器部署(如下图所示)。

(Vernoica Xu,CC BY-SA 4.0)
分布式治理
在计算和存储分离的 ShardingSphere 生态系统中,可以对数据库进行分布式治理,因此您可以维护许多存储节点、计算节点,实现熔断器,并确保高可用性。

(Vernoica Xu,CC BY-SA 4.0)
使用 Grafana 进行监控
ShardingSphere 还具有状态指示器来监控您的基础设施。Agent 动态加载机制为您提供指标和跟踪指示器,方便将 APM 系统与 Grafana 仪表板集成。

(Vernoica Xu,CC BY-SA 4.0)
为分布式社区打造的分布式数据库
社区正在不断优化 ShardingSphere,并融入新的想法和行业场景。社区构建了它,而开发的主要驱动力之一是用户反馈。这是开源的一个特点,但也是该团队的一种实践方法。ShardingSphere 社区的核心团队成员很乐意指导任何对开源感兴趣的人,并为有兴趣帮助开发的学生提供实践问题。团队也希望新的朋友或贡献者加入社区,促进思想的开放交流,并创建一个真正的全球开发者社区。
评论已关闭。