• 分库发表


    1. 按数量切分,1 ~ 1000的存在第一张表,1001 ~ 2000存在第二张表;
    2.按时间切分,比如:2019年1月份存在第一张表,2019年2月份存在第二张表;

    3.还可以按照id的哈希值进行切分,等等等等

    一.水平切分需要路由
    既然数据已经水平切分,那么数据就保存在不同的表中,如果有新的请求要求访问数据库,那么怎么从多个表中找到对应的数据呢?

    答案就是:路由。

    那么问题来了,什么是路由?

    通过分库分表规则查找到对应的表和库的过程叫作路由。简单的说,路由就是映射表,你想查什么,告诉它,它会告诉你数据在哪。
    例如,分库分表的规则是user_id % 4,当用户新注册了一个账号时,假设用户的ID是123,我们就可以通过123 % 4 = 3确定此账号应该被保存在User3表中。那么以后当ID为123的用户登录时,我们可通过123 % 4 = 3计算,确定其被记录在User3中。

    针对数据量巨大的单张表(比如订单表),按照某种规则(时间,HASH取模等),切分到多张表里面去。 但是这些表还是在同一个库中,所以库级别的数据库操作还是有IO瓶颈。不建议采用。

    小蚊子大人
  • 相关阅读:
    Eclipse显示行号
    Eclipse中让Scala缩进变为4
    阿里云Maven仓库
    Eclipse格式化整个项目
    Spring拦截器
    Spring配置redis及使用
    Java加密数据库
    Eclipce远程调试
    服务器部署Java Web及微信开发调试
    基本MVC2模式创建新闻网站
  • 原文地址:https://www.cnblogs.com/ywsheng/p/15038223.html
Copyright © 2020-2023  润新知