美文网首页
Day13 MyCat+ShardingJDBC+ES略提

Day13 MyCat+ShardingJDBC+ES略提

作者: 小周爱吃瓜 | 来源:发表于2022-02-02 18:00 被阅读0次
    1. 为什么要分库分表?

    分页查询?

    分库分表下的分页查询
    比如Limit 3.
    查出前2个offset下的所有数据,然后查剩下的.

    做分库分表的时候就规划好多少Id对应什么数据范围的DB.

    1. 垂直拆分
      order_detail.

    2. 比如查询order和user_detail
      select u.remark,u.user_name from userxxx ,remark字段是text类型会导致mysql中的缓存被填充,性能降低.

    3.1. 查询该remark字段单独去写sql.
    3.2 冗余一份字段.


    比如订单和客服,admin_user(100),因为数据量不大,变化很少.
    人工操作下也可以,做下冗余就可以了.

    我们发现分库分表对于集群的维护不是那么方便,比如分了很多节点,节点之间不知道相互的数据,所以我们引出了ES.

    ES节点.png

    ES和MongoDB都是强的团队,有Leader节点在,可以做到自动迁移,但是myCat不能自动做迁移.

    • ONTP(transaction)/ONAP(analyze)

    列式数据库

    ES.png

    行和列式数据库,其中会多一份数据,做AP模型.

    MyBatis拦截器可以改造statement,底层是对jdbc的封装

    MyCat和ShardingJDBC的区别

    什么时候用Mycat(mycat是一个服务)
    Sharding-JDBC是个jar包形势,问题的关键在于何时抽取一个服务

    比如公司前期用的php,之后想转java.或者pho,.net,java共存的场景.
    这个时候我们将其做成服务.

    MyCat配置的是.xml之类的文件,sharding-jdbc写表达式这些.

    Screen Shot 2022-01-30 at 3.41.52 PM.png

    相关文章

      网友评论

          本文标题:Day13 MyCat+ShardingJDBC+ES略提

          本文链接:https://www.haomeiwen.com/subject/mibqkrtx.html