数据库集群

原创 2016年06月01日 22:55:28
1000个人同时并发访问数据库时,产生死锁的可能性很大   高并发连接数据库的痛楚.

select * from userInfo with(nolock) //即使表枷锁了,也能将数据查询出来,但是查询出来的数据很有可能是脏数据。

select * from userInfo with(holdlock) //读取数据,并且给数据加锁,此时,只能对表进行读操作,而不允许CUD 

数据库中从表中读取数据的时候,会给表加上共享锁(s锁),即这个时候允许其他用户进行查询此表操作,
增,删,改 表的时候会给未加锁的表加上排他锁(x锁),这个时候不允许其它对此表的操作。


当一个数据库并发到一定的程度的时候,就不行了,到处都是死锁。

解决办法:
    读写分离,数据库集群。极大的降低了死锁的概率(一般有一个主库,负责修改操作,有几个从库负责读操作)
    读写分离有三个方法:
          1.买中间件, 能够判断请求是读操作(从从库读取数据),还是增删改(从主库修改数据)
          2.发布订阅,当向写的主库中跟新数据的时候(主库会记录一个快照),从库拿到快照并根据具体操作跟新内容。也就是说及时从写数据库中获得最新的备份,缺点是有延时
          3.代码实现多个库进行执行操作。(效率最低,只是查询时可以分流)
   
总结:SqlServer:做互联网项目的时候,SqlServer支持很弱,性能很差
      MySql:本身集群做的不错,而且有很多成功的开源案例。
      Oracle:本身集群做的非常好,但是成本很高。
版权声明:本文为博主原创文章,未经博主允许不得转载。

数据库集群Mycat搭建和配置

  • 2017年08月26日 11:23
  • 22.19MB
  • 下载

数据库集群

  • 2016年11月16日 17:46
  • 439KB
  • 下载

quartz详解3:quartz数据库集群-锁机制

http://blog.itpub.net/11627468/viewspace-1764753/ 一、quartz数据库锁 其中,QRTZ_LOCKS就是Quartz集群实现同步机制...

Mysql数据库集群

  • 2011年12月31日 09:59
  • 1.78MB
  • 下载

NoSQL_Cassandra_教程四_搭建Cassandra的数据库集群

Cassandra 作为一个数据库具有不需要停机可以动态增加节点的功能比较好用, 本文就如何构建一个Cassandra数据库集群进行简单的讲解: Cassandra 搭建集群  主要使用修改以...

oracle数据库集群rac15

  • 2011年01月07日 16:39
  • 4.06MB
  • 下载

oracle数据库集群rac7

  • 2011年01月07日 16:31
  • 4.06MB
  • 下载

如何理论上从零开始设计一个去中心化的分布式数据库集群

网络上有句流行语:集齐七颗龙珠,便可召唤神龙。那么问题来了,如果从零开始设计一套分布式去中心化的数据库集群需要多少颗“龙珠”呢?答案是6颗,对你没听错,不是998,也不是888,只需6颗龙珠,你也可以...

oracle数据库集群rac17

  • 2011年01月07日 16:40
  • 3.44MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库集群
举报原因:
原因补充:

(最多只允许输入30个字)