【第22期】观点:IT 行业加班,到底有没有价值?

数据库集群

原创 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:本身集群做的非常好,但是成本很高。
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

MySQL数据库集群配置步骤

一、介绍 这篇文档旨在介绍如何安装配置基于2台服务器的MySQL数据库集群。并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行。 注意! 虽然这是基于2台服务器的MySQL集群,但也必须...

SQL Server 数据库集群

先引用几段文章: 1.数据库集群的作用: 理想的数据库集群应该可以做到以下几点: ◆ 在需要更高数据库处理速度的时候,我们只需简单增加数据库服务器就可以了。这样可以大大减小硬件投资的风险,而且大大提高现有服务的质量。 ◆ 在任何时刻需要有多个随时可用的实时同步数...
  • sech
  • sech
  • 2008-02-23 11:04
  • 5527

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

数据库集群

http://www.ibm.com/developerworks/cn/linux/database/mysql-ha/ 第一节 数据库集群技术的现状一节 数据库集群技术的现状第一节 ...

数据库集群

      数据库是用来保存计算最终结果的,所以是整个信息系统中的最重要组成部分。在好多人看来,经过几十年的发展,当前的数据库技术已经是非常成熟了,然而,随着互联网的迅速发展,当今企业的数据量、用户数都在以火箭般的速度猛增,在这样一个不断增长的环境下...

[转] 基于MySQL的数据库集群系统的实现

基于MySQL的数据库集群系统的实现内容:第一节 数据库集群技术的现状第二节 目前数据库应用状况第三节 暴露出来的问题第四节 如何解决第五节 针对于"Linux+Apache+PHP+MySQL"的第...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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