前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ShardingSphere 介绍与简单入门

ShardingSphere 介绍与简单入门

作者头像
FoamValue
发布2020-09-24 11:03:36
5330
发布2020-09-24 11:03:36
举报
文章被收录于专栏:FoamValueFoamValue

Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

周末一天能干啥?

于是,我将 Apache ShardingSphere 产品介绍与开发入门通篇阅读了一遍。

那么,本周将围绕 “Apache ShardingSphere” 进行展开。

1. 为什么要关注 ShardingSphere

最近发现自己关注的公众号,很多都喜欢重新造轮子。先不说喜不喜欢,我还在为轮子用什么螺丝伤脑筋。

没错,我也喜欢重新造轮子。

我想造一个分布式系统的轮子,于是我大体分析了一下需要的架构。整个骨干必须要有:分布式数据库、微服务、负载前端、共享缓存。

如何存取不同数据库的数据?

如何保证数据的完整与正确?

如何治理这么多的数据库?

ShardingSphere 提供了数据分片、读写分离、编排治理、分布式事务的能力,然后完美的解决了上述的问题。

2. Apache ShardingSphere 简介

它从2016年开源,到2020年4月16日成为 Apache 软件基金会的顶级项目。目前已经有 147 家公司在使用 ShardingSphere,涉及了金融、电子商务、数字化云与服务、出行、物流、互联网教育、互联网文娱等行业。

3. Apache ShardingSphere 架构

ShardingSphere 由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

ShardingSphere-JDBC 采用无中心化架构,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere-Proxy 提供静态入口以及异构语言的支持,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。

4. Apache ShardingSphere 功能列表

  • 数据分片
    • 分库 & 分表
    • 读写分离
    • 分片策略定制化
    • 无中心化分布式主键
  • 分布式事务
    • 标准化事务接口
    • XA 强一致事务
    • 柔性事务
  • 数据库治理
    • 分布式治理
    • 弹性伸缩
    • 可视化链路追踪
    • 数据加密

5. 简单入门

以下内容是一个简单的、分库分表的、查询示例。

创建分库与分表

引入 Maven 依赖

分库分表规则配置

数据源配置

测试类

查询测试结果

6. 总结

最后,本文只是简单了测试了分片查询,其他的例如:分片新增、分片修改、分布式事务与数据库治理都还没去了解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FoamValue 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档