最近在学习sharding-sphere,因为工作上使用到sharding-jdbc和sharding-proxy场景。所以记录下来,以后复习。

概念篇

Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。
Sharding-Sphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。 它与NoSQL和NewSQL是并存而非互斥的关系。NoSQL和NewSQL作为新技术探索的前沿,放眼未来,拥抱变化,是非常值得推荐的。反之,也可以用另一种思路看待问题,放眼未来,关注不变的东西,进而抓住事物本质。 关系型数据库当今依然占有巨大市场,是各个公司核心业务的基石,未来也难于撼动,我们目前阶段更加关注在原有基础上的增量,而非颠覆。

Sharding-JDBC
定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。
● 适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。
● 基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。
● 支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL。

Sharding-Proxy:
定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等)操作数据,对DBA更加友好。
● 向应用程序完全透明,可直接当做MySQL使用。
● 适用于任何兼容MySQL协议的的客户端。

Sharding-Sidecar
定位为Kubernetes或Mesos的云原生数据库代理,以DaemonSet的形式代理所有对数据库的访问。 通过无中心、零侵入的方案提供与数据库交互的的啮合层,即Database Mesh,又可称数据库网格。
Database Mesh的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是交互,是将杂乱无章的应用与数据库之间的交互有效的梳理。 使用Database Mesh,访问数据库的应用和数据库终将形成一个巨大的网格体系,应用和数据库只需在网格体系中对号入座即可,它们都是被啮合层所治理的对象。

Sharding-JDBCSharding-ProxySharding-Sidecar数据库任意MySQLMySQL连接消耗数高低高异构语言仅Java任意任意性能损耗低损耗略高损耗低无中心化是否是静态入口无有无

Sharding-JDBC Sharding-Proxy Sharding-Sidecar
数据库 任意 MYSQL MYSQL
连接消耗数
异构语言 仅Java 任意 任意
性能 损耗低 损耗略高 损耗低
无中心化
静态入口

功能列表
数据分片
● 分库 & 分表
● 读写分离
● 分布式主键
分布式事务(Doing)
● XA强一致事务
● 柔性事务
数据库治理
● 配置动态化
● 熔断 & 禁用
● Open Tracing
● 多数据副本 (Planing)
● 弹性伸缩 (Planing)
Roadmap

总结

Sharding-Sphere定位为分布式数据中间件产品,旨在解决数据分片问题。当然从规划来看,后面还提供分布式事务和数据库治理功能。产品发展路线可以按产品演进划分:Sharding-JDBC->Sharding-proxy->Sharding-Sidecar。
这三个产品各有优缺点,也说明没有最好的方案,只有合适的方案。选用哪种,表格式也列出了相应的优缺点,需要特定场景特定分析。
Sharding-Sphere从Sharding-JDBC以来,社区活跃度一直很高,主要还是因为产品特点非常适用现在分布式场景下数据分片问题,开源且迭代频率也很高,还是很值得关注的。

默默学Sharding-Sphere(一)相关推荐

  1. 实现数据“一键脱敏”,Sharding Sphere帮你搞定

    以下文章来源方志朋的博客,回复"666"获面试宝典 在真实业务场景中,数据库中经常需要存储某些客户的关键性敏感信息如:身份证号.银行卡号.姓名.手机号码等,此类信息按照合规要求,通 ...

  2. 基于Sharding Sphere实现数据“一键脱敏”

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://jaskey.github.io/blog/2020/03/18/sharding-sphere-data ...

  3. 敏感数据,“一键脱敏”,Sharding Sphere 完美搞定

    来源:https://jaskey.github.io/blog/2020/03/18/sharding-sphere-data-desensitization/Jaskey Lam 在真实业务场景中 ...

  4. Sharding Sphere实现数据“一键脱敏”

    痛点一: 通常的解决方案是我们书写SQL的时候,把对应的加密字段手动进行加密再进行插入,在查询的时候使用之前再手动进行解密.此方法固然可行,但是使用起来非常不便捷且繁琐,使得日常的业务开发与存储合规的 ...

  5. Sharding Sphere ~ Sharding-jdbc分库分表、读写分离

    Sharding Sphere 是什么? 1.一套开源的分布式数据库中间件解决方案 2.有三个产品:Sharding-JDBC 和 Sharding-Proxy 3.定位为关系型数据库中间件,合理在分 ...

  6. Sharding Sphere 与 Lcn事务区别

    Sharding Sphere http://shardingsphere.apache.org/index_zh.html 两阶段事务-XA 两阶段事务提交采用的是X/OPEN组织所定义的DTP模型 ...

  7. 默默学计算机专转本,专转本计算机默默学

    专转本计算机默默学Tag内容描述: 1.安静学习-江苏特别版-计算机-视频课程-全班安静学习官方网站:江苏特别版考试微信号: JSZZBB KS第1页2020安静学习计算机系列课程(八月全真模拟)演讲 ...

  8. Sharding Sphere

    Sharding Sphere 来源(尚硅谷 哔哩哔哩_bilibili)总结 1.什么是Sharding Sphere 1.一套开源的分布式数据库中间件解决方案 2.有三个产品:Sharding-J ...

  9. 默默学计算机题库,2010年专转本计算机真题-打印版+-默默学+-图片版.doc

    2010年专转本计算机真题-打印版+-默默学+-图片版.doc 春节活动策划 酒店春节期间员工关怀活动安排 一.迎新年拔河比赛 活动时间:2月10日上午 活动地点:******** 二.除夕夜活动(2 ...

  10. 巨杉数据库TechDay回顾 | 分布式数据库@民生、Sharding Sphere@京东、ClickHouse@微博

    大数据时代,数据早已成为全球战略资源级的存在,数据库也成为了所有应用成功运行的核心.同时,随着创新业务的不断增加,业务的复杂及庞大的体量必然会产生错综复杂且规模巨大的结构化数据,这些都迫使企业对数据库 ...

最新文章

  1. 生产指挥调度系统_市安全生产应急救援指挥中心将大型装载机械设备储备信息纳入应急指挥调度系统...
  2. 2小时演讲,近140页PPT,这个NeurIPS Tutorial真是超硬核的AI硬件教程
  3. 标准博客 API .BLOG APIS
  4. mysql 修改字段为1-10的随机数
  5. Python基础教程:嵌套函数、闭包
  6. 虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
  7. css3 - 语言伪类选择器
  8. 地球不是圆的,别让教科书限制了孩子的想象力!
  9. 输出一个等边三角形(由*拼接),实心或空心,连长为n
  10. 前端学习(3008):vue+element今日头条管理--登录中的loding
  11. 58岁博导为88岁老母跳舞,“母亲眼里我永远是个孩子”
  12. 作者:王亮(1975-),男,中国科学院自动化研究所研究员,博士生导师
  13. ajax后台如何把对象转为json_SM后台数据与前端(PC、M站、Android、IOS)的交互——页面渲染...
  14. vps没有mysql怎么用商店_如何在本地搞一个小程序的服务器之我没有vps我也很绝望呀...
  15. 异常详细信息: System.Data.SqlClient.SqlException:用户 ‘IIS APPPOOL\DefaultAppPool‘ 登录失败解决办法
  16. 线段树2 求区间最小值
  17. 【LOJ】 #2025. 「JLOI / SHOI2016」方
  18. extjs4 store传参使用方法
  19. Spring源码之idea导入Spring源码
  20. abaqus2018安装教程win10_win10系统安装Abaqus2016全攻略

热门文章

  1. (R,线性回归)R语言里的模型诊断图(Residuals vs Fitted,Normal QQ , Scale-Location ,Residuals Leverage)
  2. 1.Lunix系统安装及重置root密码
  3. 利用html和js输入数字转换为中文大写示例。
  4. WEB2.0商业模式才刚开始
  5. 爆肝1万字《c++入门综合》
  6. 聊聊这8种单例模式的优缺点
  7. 总结——》【养生之道】
  8. JAVA JDK源码在线阅读
  9. 求最长递增子序列个数——C++
  10. 基于GLFW的OpenGL学习001_艾孜尔江笔记