数据库讲解

作者: 胖琪的升级之路 | 来源:发表于2017-09-07 21:08 被阅读7次

    该文章只是听课时的记录,,不作为文章参考谢谢

    1. 数据库性能考虑在cpu 内存 还有io上
    mysql 的基本架构
    1. io 对数据库性能的影响最大
    io的分层

    flashcache-> 提升io的能力 把ssd 作为机械硬盘的缓存

    扩展读的能力

    中间层 先去读redis 如果redis 没有在读取mysql

    1. Proxy 们管理


      中间层管理数据库
    Mysql-Spider本质也是这种架构

    有中间层后 分库分表 多写 有不同的方案

    分库分表

    写能扩展 一写多读。 分布式事务容易有问题。

    一写多读

    通过主库分给从库。 从库会自动同步主库的数据 ,不用解决分布式事务,缺陷是写是单入口。 mysql 使用集群, 上面两个架构有 一致性的问题。出现多写。是有问题的。数据库集群 去解决 数据库数据一致性的问题。 数据库状态由 集群自己控制。
    多点写入 ,需要 同步节点检测。

    1. 新方案
      Paste_Image.png
      写的瓶颈 一个是磁盘空间 一个是io能力-->ps
      存在远程集群。存储空间不再受限,iops 也是可以水平 扩展的。剩下的读的能力就是cpu ,通过节点的问题 来解决cpu的能力。 远程的性能跟本地性能跑的一样快。加读节点数据越大时间越久,业务瓶颈。
    2. 应用中有时候会遇到有唯一约束的表,在scale out的时候有什么建议呢
      最好是分区键或者是一部分,插入的时候能定位到分区,能不冲突,。有冲突的字段 就得每个库都查下。
    3. 问数据库误删除很麻烦,有什么更好的方法吗
      备份加 ,,全量备份 log 日志 恢复到
      忘记加where ..数据库设置的问题
    4. mysql内存使用率居高不下,如何分析?具体消耗在哪一步?
      物理内存的80%, 数据线程使用的数
    5. 多写在PXC、MGR、分布式数据库,该如何选择?
      分布式 做了分片 反而不需要做冲突的问题,分库分表。保证原子性的问题。
      PXC 不能让
    6. 老师上面说的RDMA 下面存储数据 那新增机器了 数据不用再弄到新机器里面吗?
      做了分片,只做轻量级的数据备份、
    7. ceph 网络延迟太大。。

    相关文章

      网友评论

        本文标题:数据库讲解

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