zoukankan      html  css  js  c++  java
  • 数据库事务复制(读写分离)设计的一点经验

    主要是网站读写容易死锁, 为了快而建立索引,索引多了更新又慢,而且容易死锁, 两难题, 在这个背景下, 准备使用sql server的事务复制(我试了推送和请求2种订阅方式)对数据库进行读写分离, 但是数据库结构和表结构设计不理想情况下, 读写分离基本不可能实现. 在我的实验中, 要实现读写分离, 保证稳定性, 最好能满足以下一些特性, 否则容易失败

    1.数据库结构不能经常变动; 否则发布源过多,或者初始化过于频繁;

    2.单表数据量不能过多(我有几张几百万记录的表,还有2张千万级别的表,不过没有参与发布复制, 但是备份初始化还需要将数据备份过去),插入和更新性能不能太差(索引,磁盘IO等情况)

    3.不能有大量数据更新的操作高峰期,最好是数据平稳操作, 容易更新事务(我用的是事务复制瓶颈)性能瓶颈,我最多积累的更新事务几十万个,最后频繁报性能警告提示,导致数据不同步; 因为每天定时任务要进行数据统计更新, 可能会在某时刻Update几十万甚至百万记录, 这个时候性能瓶颈很容易产生.

    4.数据库和表设计上还是需要开始就考虑各种性能(横向扩展方式), 如果先天设计不足不要进行读写分离;

    5.大数据表和数据量在初始化时候就是一个恶梦;每次不同步时候进行备份初始化,备份/拷贝/还原,就得几个小时; 其它方式更不用说了.

    设计上先天性不足是重中之重. 希望高手指教.

  • 相关阅读:
    线段树lazy标记??Hdu4902
    3D游戏引擎〇 開始
    实时分析之客户画像项目实践
    ubuntu14.04系统中virtualbox安装Oracle VM VirtualBox Extension Pack包
    《Android源代码设计模式解析与实战》读书笔记(二十二)
    最长递增子序列的数量
    springmvc学习笔记(19)-RESTful支持
    hadoop(三):hdfs 机架感知
    hadoop(二):hdfs HA原理及安装
    hadoop(一):深度剖析hdfs原理
  • 原文地址:https://www.cnblogs.com/yinpengxiang/p/1630178.html
Copyright © 2011-2022 走看看