数据库集群
来源:互联网 发布:太阳能发电原理知乎 编辑:程序博客网 时间:2024/05/16 05:20
1000个人同时并发访问数据库时,产生死锁的可能性很大 高并发连接数据库的痛楚.
增,删,改 表的时候会给未加锁的表加上排他锁(x锁),这个时候不允许其它对此表的操作。
读写分离,数据库集群。极大的降低了死锁的概率(一般有一个主库,负责修改操作,有几个从库负责读操作)
读写分离有三个方法:
1.买中间件, 能够判断请求是读操作(从从库读取数据),还是增删改(从主库修改数据)
2.发布订阅,当向写的主库中跟新数据的时候(主库会记录一个快照),从库拿到快照并根据具体操作跟新内容。也就是说及时从写数据库中获得最新的备份,缺点是有延时
3.代码实现多个库进行执行操作。(效率最低,只是查询时可以分流)
总结:SqlServer:做互联网项目的时候,SqlServer支持很弱,性能很差
MySql:本身集群做的不错,而且有很多成功的开源案例。
Oracle:本身集群做的非常好,但是成本很高。
select * from userInfo with(nolock) //即使表枷锁了,也能将数据查询出来,但是查询出来的数据很有可能是脏数据。
select * from userInfo with(holdlock) //读取数据,并且给数据加锁,此时,只能对表进行读操作,而不允许CUD
增,删,改 表的时候会给未加锁的表加上排他锁(x锁),这个时候不允许其它对此表的操作。
当一个数据库并发到一定的程度的时候,就不行了,到处都是死锁。
解决办法:读写分离,数据库集群。极大的降低了死锁的概率(一般有一个主库,负责修改操作,有几个从库负责读操作)
读写分离有三个方法:
1.买中间件, 能够判断请求是读操作(从从库读取数据),还是增删改(从主库修改数据)
2.发布订阅,当向写的主库中跟新数据的时候(主库会记录一个快照),从库拿到快照并根据具体操作跟新内容。也就是说及时从写数据库中获得最新的备份,缺点是有延时
3.代码实现多个库进行执行操作。(效率最低,只是查询时可以分流)
总结:SqlServer:做互联网项目的时候,SqlServer支持很弱,性能很差
MySql:本身集群做的不错,而且有很多成功的开源案例。
Oracle:本身集群做的非常好,但是成本很高。
1 0
- 数据库集群
- 数据库集群
- 数据库集群
- 数据库集群
- 数据库集群
- 数据库集群
- 数据库集群
- 数据库集群
- 数据库集群与数据库分割
- 数据库集群与数据库分割
- 数据库集群技术(转载)
- 数据库集群技术
- sql server 数据库集群
- SQL Server 数据库集群
- 数据库集群技术(转载)
- 数据库 集群 负载均衡
- 数据库集群技术
- 数据库集群技术
- 自定义View系列教程06--详解View的Touch事件处理
- 结构体的强制类型转换
- 三种缓存类介绍
- Spring学习(十二)Spring 的配置文件概述
- 分治
- 数据库集群
- Git 使用教程
- Canvas之基本形状操作
- Java中Boolean与boolean的区别
- 5.6 Column Attribute
- cc254x的外部32.768k晶振
- IR的设计
- java基础1
- 【java并发】条件阻塞Condition的应用