zoukankan      html  css  js  c++  java
  • 分库分表——Sharding-Sphere

    目前分库分表除了应用层基于业务逻辑的方式,在技术层面主要两种方式:一种是中间件代理,例如mycat和sharding-proxy,对于应用是比较透明的,支持的语言也多;第二种是侵入式,也就是数据库直连,例如sharding-jdbc。sharding-proxy和sharding-jdbc已经整合到sharding-Sphere里,官方文档:http://shardingsphere.apache.org/index_zh.html

    Sharding-Sphere的不足之处:

    (1)shrdingkey粘连,例如sharding-jdbc里面需要指出分库键和分表键,如果业务很复杂,意味着要建立很多shrdingkey;增删改查都必须带上这个shrdingkey才能路由到具体的数据表。

    (2)要根据业务设计具体的数据均衡算法,如果要实现数据冷热均衡、高可用复杂,那算法的复杂度就会更高。一般分表分库数据,热点数据就需要设计非常复杂的算法,提前规划好几张库几张表;例如购物记录表,设计2个库,每个库水平切4张表,再为这些表设计一套均衡的数据分流,但是人员表你最多一个库两张表,再为这种业务维度设计一套数据均衡。最后,你要为这些来个主从、读写分离保证高可用。

    (3)扩容非常困难,扩容要考虑数据均衡算法。

    (4)sql不支持关联查询、分布式事务复杂度高、一致性差。不过这些都是关系型数据库在分布式场景下的通病。

  • 相关阅读:
    ubuntu下安装eclipse
    UTC时间、GMT时间、本地时间、Unix时间戳
    [转]mysql使用关键字作为列名的处理方式
    mysql日期格式化
    ssh远程登陆看不到用户名和主机名
    ssh以root用户远程登录失败
    PowerBI发布到网页
    视图是否有主键的问题
    select count(*)和select count(1)
    PPT产品的重要性
  • 原文地址:https://www.cnblogs.com/jing-yi/p/14612489.html
Copyright © 2011-2022 走看看