美文网首页
8-2 分片准备

8-2 分片准备

作者: 胖达_4b7e | 来源:发表于2019-03-10 10:55 被阅读0次

类似mysql分区表:
不同点是:分区表是 同一个节点上同一个数据库内建立的
分片是: 分了以后存放在不同的物理节点上

对一个订单表分片, 分成分布在好几个节点里面每个节点就一个库,库里面就一个订单表

尽量不分片

一个表分不同的节点, 很难
一般不这么干,还是先调sql
更好的应用,数据库设计, 调优
分片后还会变得难以维护

选择[分区键]

分区键: 决定如何分片, 分片后如何查询数据
分区键的选择 直接觉得了分区后的性能

    1. 尽量避免 跨分片查询,
      不可能完全没有, 因为要统计分析 会出现跨分片,
      对OLTP应用要尽量避免

当今的数据处理大致可以分成两大类:
联机事务处理OLTP(on-line transaction processing)、
联机分析处理OLAP(On-Line Analytical Processing)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

必须分别查询, 再把查询结果合并到一起,性能会比原来不分片都差
比如, 按博客号hash分片, 每个人博客的显示就要跨分片了 ,不如按作者分

    1. 数据平均,访问平均

如:订单数据库 按用户分片
要注意不要活跃用户都在同个分片

如果每个查询都包含分区键 用hash分区最平价

存储无需分片的表

  • 每个分片都存一份
    适合数据少,不怎么变的,经常用到的, 又需要关联查询 如字典
    这就要维护一致性, 用多写的方式 ,
    这样的更新不会在一个事务中, 因此需要对数据进行检查

  • 额外的节点 统一存储
    不冗余, 也不用维护多分数据
    如果分片的表要和它关联查询, 只能分表查询 程序合并


这3个各自的弱点
1.hash: 比较平均,但是难以人为控制哪个数据去哪
2.访问: 知道哪个数据去哪: 可能不平均:数据量,访问量
3.映射表: 一般.这张表压力很大,放内存

如何生成唯一id

  1. 调整mysql自增步长,auto_increment_increment =分片数 autoincrement_offset

  2. 全局表,专门生成唯一id,但这个表可能成为性能瓶颈

  3. 全局表放redis这种缓存

相关文章

  • 8-2 分片准备

    类似mysql分区表:不同点是:分区表是 同一个节点上同一个数据库内建立的分片是: 分了以后存放在不同的物理节点上...

  • ShardingSphere官网及总结

    中文文档 分片 分片算法 精确分片算法 范围分片算法 复合分片算法 Hint分片算法 分片策略 标准分片策略 复合...

  • 日知录1-数据分片模型和路由算法

    分片模型: 先将数据映射到分片;再将分片映射到机器;都是多对一的关系。 分片策略:哈希分片和范围分片。 哈希分片通...

  • MongoDB 集群

    分片群集 MongoDB分片群集由以下组件组成: 分片:每个分片包含分片数据。每个分片都可以部署为副本集。 mon...

  • number_of_shards的理解

    分片理论知识 分片数量总分片数=主分片数(副分片数+1)"settings": {"number_of_shard...

  • MongoDB分片群集组件

    MongoDB分片群集包含以下组件: 分片:每个分片包含分片数据的子集。从MongoDB 3.6开始,必须将分片部...

  • 第三章 索引、文档与Mapping

    一、核心概念 节点 节点就是一个ES的进程 分片 分片分为主分片与副本分片 主分片负责写入数据 副本分片只负责查询...

  • 【mongoDB】mongoDB分片策略

    chunk切分是根据分片策略进行实施的,分片策略的内容包括分片键和分片算法。 当前,MongoDB支持两种分片算法...

  • 分片集群中的分片集合

    分片集群中的分片集合 MongoDB 中 分片集群有专门推荐的模式,例如 分片集合 它是一种基于分片键的逻辑对文档...

  • 伊卡莱姆的ScalersTalk第四轮新概念朗读持续力训练Day

    练习材料: Lesson 8-2 Trading standards Politicians agree, in ...

网友评论

      本文标题:8-2 分片准备

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