一  简介
   Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈
二 成员包含
   Sharding-JDBC是一款轻量级的Java框架,在JDBC层提供上述核心功能,使用方式与正常的JDBC方式如出一辙,面向Java开发的用户。
   Sharding-Proxy是一款实现了MySQL二进制协议的服务器端版本,类似于网易的cetus,爱可生的dble等
   Sharding-Sidecar从Service Mesh的理念中应用而生,面向于云原生架构。
三 github
   https://github.com/apache/incubator-shardingsphere
   https://shardingsphere.apache.org/document/current/cn/overview/ 中文文档
四   具体分析  
  1 sql本身是否都支持
     sql解析器本身已经在不断完善,支持更多的sql,不支持的可参考文档.对比各自业务进行测评
  2 查询问题
     1 不支持跨库join
     2 拥有广播表,当广播表更改时,每个节点都在执行,实现join
     3 拥有绑定表功能,当使用同一拆分规则和片键的两张表可进行绑定实现join
     4 拥有分片键注入功能,当利用非分片键条件查询时,指定了强制分片路由的SQL将会无视原有的分片逻辑(hint),直接路由至指定的真实数据节点。
     5 支持读写分离功能(hint)->不是很完善
  3 全局主键功能
    1 uuid
    2 SNOWFLAKE(雪花算法)
    3 LEFT(美团算法)
 4 支持分布式事务 
 5 数据脱敏
 6 数据治理

五 总结

1 此生态圈更注重 分库分表的业务场景,未来会添加扩容功能,非常强悍

2 具体的还要大家多多测试,可以对比其他中间件 进行综合考虑

3 本文还会继续修订和补充

mysql 分库分表 ~ ShardingSphere生态圈的更多相关文章

  1. Mysql分库分表方案

    Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. m ...

  2. MYSQL分库分表和不停机更改表结构

    在MYSQL分库分表中我们一般是基于数据量比较大的时间对mysql数据库一种优化的做法,下面我简单的介绍一下mysql分表与分库的简单做法. .分库分表 很明显,一个主表(也就是很重要的表,例如用户表 ...

  3. MySQL分库分表备份脚本

    MySQL分库备份脚本 #脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh #!/bin/sh MYUSER=root M ...

  4. 【分库、分表】MySQL分库分表方案

    一.Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. ...

  5. Java互联网架构-Mysql分库分表订单生成系统实战分析

    概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...

  6. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

  7. mysql分库分表(二)

    mysql分库分表 参考: https://www.cnblogs.com/dongruiha/p/6727783.html https://www.cnblogs.com/oldUncle/p/64 ...

  8. mysql分库分表(一)

    mysql分库分表 参考: https://blog.csdn.net/xlgen157387/article/details/53976153 https://blog.csdn.net/cleve ...

  9. (转)企业Shell实战-MySQL分库分表备份脚本

    本文来自http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.htm ...

随机推荐

  1. Linux:Day12(上) 进程

    内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 Process:运行中的程序的一个副本. 存在生命周期 Linux内核存储进程信息的固定格式 :task struct 多个任务 ...

  2. Openwrt自定义CGI实现

    此文已由作者吴志勐授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 安装uhttpd. 在编译openwrt前,输入make memuconfig,查找Network -> ...

  3. TabBar用到bottomNavigationBar

    import 'package:flutter/material.dart';import 'homepage.dart';import 'lastpage.dart';import 'secondp ...

  4. hdu4746 Mophues (莫比乌斯进阶)

    参考博客:https://blog.csdn.net/acdreamers/article/details/12871643 题意:满足1<=x<=n,1<=y<=m,并且gc ...

  5. 控制结构(1): 分枝/叶子(branch/leaf)

    // 下一篇:卫语句(guard clause) 典型代码: function doSomething1(){ // ... } function doSomething2(){ // ... } f ...

  6. 开发中的Date处理

    数据库中的日期格式有以下几种: date:年-月-日 time:时:分:秒 datatime:年-月-日 时:分:秒 timestrap: 例如,生日显示格式为'年-月-日',而创建/更新时间格式为' ...

  7. c# pda

    1.去除标题栏 FormBorderStyle属性设置为none 2.去除任务栏 [System.Runtime.InteropServices.DllImport("coredll.dll ...

  8. lombok的简单使用小结

    1.idea安装lombok插件 关于lombok如何在idea中使用,下面这篇博客写的很到位,并且提供了本地安装对应idea版本的lombok插件的地址.如果无法通过idea直接安装lombok,可 ...

  9. spoj 839-Optimal Marks

    Description SPOJ.com - Problem OPTM Solution 容易发现各个位之间互不影响, 因此分开考虑每一位. 考虑题中是怎样的一个限制: 对每个点确定一个0/1的权值; ...

  10. bootstrapValidator操作

    1.html中表单初始化 <script> //表单验证初始化 $('#wx_pay_account_form_id').bootstrapValidator({ message : 'T ...