该文章只是听课时的记录,,不作为文章参考谢谢
- 数据库性能考虑在cpu 内存 还有io上
- io 对数据库性能的影响最大
flashcache-> 提升io的能力 把ssd 作为机械硬盘的缓存
中间层 先去读redis 如果redis 没有在读取mysql
-
Proxy 们管理
中间层管理数据库
有中间层后 分库分表 多写 有不同的方案
分库分表写能扩展 一写多读。 分布式事务容易有问题。
一写多读通过主库分给从库。 从库会自动同步主库的数据 ,不用解决分布式事务,缺陷是写是单入口。 mysql 使用集群, 上面两个架构有 一致性的问题。出现多写。是有问题的。数据库集群 去解决 数据库数据一致性的问题。 数据库状态由 集群自己控制。
多点写入 ,需要 同步节点检测。
- 新方案
Paste_Image.png
写的瓶颈 一个是磁盘空间 一个是io能力-->ps
存在远程集群。存储空间不再受限,iops 也是可以水平 扩展的。剩下的读的能力就是cpu ,通过节点的问题 来解决cpu的能力。 远程的性能跟本地性能跑的一样快。加读节点数据越大时间越久,业务瓶颈。 - 应用中有时候会遇到有唯一约束的表,在scale out的时候有什么建议呢
最好是分区键或者是一部分,插入的时候能定位到分区,能不冲突,。有冲突的字段 就得每个库都查下。 - 问数据库误删除很麻烦,有什么更好的方法吗
备份加 ,,全量备份 log 日志 恢复到
忘记加where ..数据库设置的问题 - mysql内存使用率居高不下,如何分析?具体消耗在哪一步?
物理内存的80%, 数据线程使用的数 - 多写在PXC、MGR、分布式数据库,该如何选择?
分布式 做了分片 反而不需要做冲突的问题,分库分表。保证原子性的问题。
PXC 不能让 - 老师上面说的RDMA 下面存储数据 那新增机器了 数据不用再弄到新机器里面吗?
做了分片,只做轻量级的数据备份、 - ceph 网络延迟太大。。
网友评论