SqlServer 并发系列之读写分离
来源:互联网 发布:崔永元 我的抗战 知乎 编辑:程序博客网 时间:2024/05/16 02:57
数据库处理高并发两种方式 垂直和水平 区分
垂直区分[分布式数据库]: 按模块独立出单独数据库。
缺点:对系统各个模块设计要较高要求,高内聚低耦合,改造难度较大。
同时如果数据达到一个新的临界点,还是会存在访问性能低下的可能,比如一个订单数据库,订单数量达到1000万单。
水平区分[读写分离]: 剑圣分身的方式,分为 主数据库(真身)和多个查询数据库(镜像),主数据库承担 增删改和实时性查询 功能,
查询服务器承担带条件的大数据量的查询。
读写分离好处
1.将读和写操作分离到不同的数据库服务器上.降低对主服务器资源争用。
2.主服务器增删改进行时,不影响查询服务器的查询。降低阻塞的发生。
3.应用长须提交报表、不合理的查询请求时,不会导致长时间的锁表。
4.容灾机制容许 主服务器发生故障时,查询服务器接管用户请求。
做法
1.应用程序配置中设置两个连接字符串。一个指向主服务器,一个指向查询服务器。
2.增删改或者实时性查询指向主服务器的连接字符串.
3.容许非实时的查询及报表请求指向查询服务器的连接字符串。
主服务器数据同步技术参数
摘自 http://www.canway.net/Lists/CanwayOriginalArticels/DispForm.aspx?ID=476
个人疑问和想法:
还看到一种做法是 是将5000万条数据 切分到不同数据库,每次插的时候 会先将数据和ID的关系插入到一个路由数据库,查询的时候先从路由数据库查询此ID对应的数据库,然后再去查改数据库的数据。
这种方式旨在解决数据量过大的问题,似乎行之有效,每个数据库的数据不相同。但是怎么考虑容灾机制?
这两种方式究竟如何取舍?
- SqlServer 并发系列之读写分离
- SQlSERVER读写分离实施方案
- mysql系列之7.mysql读写分离
- Redis系列之(二):Redis主从同步,读写分离
- Redis系列之Redis主从同步,读写分离(二)
- 读写分离之Amoeba
- Nginx之读写分离
- Java并发编程系列之十八:读写锁
- java并发编程系列之ReadWriteLock读写锁的使用
- 著名电子商务网站高并发千万级大型数据库经验之- 读写分离
- mysql 读写分离 之 amoeba
- NoSQL之Redis读写分离
- mysql读写分离之amoeba
- 数据库优化之读写分离
- redis集群之读写分离
- 并发模型之并发读写
- 踩坑系列之 redis读写分离引发的内存暴增
- net的程序对sqlserver读写分离实现
- ReferenceQueue
- 二分图的最大匹配 (匈牙利算法)
- vim配置
- 什么是异构数据库系统?
- Android Google Map V2开发环境配置图文教程
- SqlServer 并发系列之读写分离
- 黑马程序员---面向对象概述
- IdleHandler一个后娘养的handler
- Asteroids
- 关于使用xib的自定义UITableViewCell中修改其中view的问题及解决
- UVA 10878 Decode the tape
- SimpleDateFormat设置24小时制
- Hibernate多对一遍历对象的时候报java.lang.StackOverflowError错误
- 生活连接