Shared Nothing、Shared Everthting、Shared Disk
数据库构架设计中主要有Shared Everthting、Shared Nothing、和Shared Disk:
1.Shared Everything:一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServer以及一些用了单节点oracle、mysql等库的系统。以小微型,不需要考虑大并发业务的系统采用的居多。
2.Shared Nothing和Shared Disk是目前常见的分布式数据库典型模型。
先讲Shared Disk,每个结点有自己的CPU和内存,但是共享同一个存储(一般都是FC链路高端存储,现在采用IB交换机模式的也越来越流行了),目前主流如ORACLE的RAC集群和DB2 PureScale集群,这类业务多用于并发比较多的OLTP业务,随着并发量的不断增大,性能也会降低,需要不断的扩充节点数量,以满足需求,当然建设更复杂、维护成本也相当高。
最新Shared Nothing架构下,每个结点都有自己的CPU、内存、存储。跨结点的数据访问通过结点之间的网络通讯来完成。目前有DB2 DPF、Hadoop、带分库分表的Mysql Cluster也是一种,各节点相互独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转。一些特定时间段内超大并发业务可以通过横向扩张资源做为系统的节点,满足需求,比如说春运火车抢票了,12306系统压力比平时大很多;又比如,最近的明星微博一个动态,立刻引发热搜,导致服务器吃不消,这些都可以在热点时间段租用云服务器资源部署自己的节点,等热点时间过后再收缩节点即可,还有就是11.11这个热点时间淘宝购物狂欢,也一定是需要Shared Nothing架构下的解决方案的。
Shared Nothing 架构,未来的场景会越来越多,越来越流行,因为数据是当前社会的一个重要资源,数据量几何级爆炸增长,数据的清洗、分析、挖掘等等一系列大数据应用,必然会选择成本适当,技术实用的Shared Nothing。这也越来越需要运维人员懂得业务开发,懂得架构设计,能够按照业务需求,设计出一个合理的或水平切分、或垂直切分甚至矩阵分布的数据库架构,来满足未来场景挑战。
---------------------
作者:他乡觅知音
来源:CSDN
原文:https://blog.csdn.net/louisjh/article/details/84291339
版权声明:本文为博主原创文章,转载请附上博文链接!
Shared Nothing、Shared Everthting、Shared Disk的更多相关文章
- sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file 1. 权限问题 ...
- 磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]
1.磁盘基础知识 1.1 物理结构 硬盘的物理结构一般由磁头与碟片.电动机.主控芯片与排线等部件组成:当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁 ...
- 运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory
运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such f ...
- ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file
完整的错误信息如下: ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: ...
- 数据库构架设计中的Shared Everthting、Shared Nothing、和Shared Disk
Shared Everthting:一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServer Shared Disk:各个处理单元使用自己的私有 ...
- PostgreSQL高可用性、负载均衡、复制与集群方案介绍
目录[-] 一.高可用性.负载均衡.复制的几个方案比较: 二.多节点集群方案比较 9.3官方文档(中文):http://58.58.27.50:8079/doc/html/9.3.1_zh/high- ...
- Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器
目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...
- oracle 数据库、实例、服务名、SID
参考:http://www.zhetao.com/content240 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类 ...
- Hive、Spark SQL、Impala比较
Hive.Spark SQL.Impala比较 Hive.Spark SQL和Impala三种分布式SQL查询引擎都是SQL-on-Hadoop解决方案,但又各有特点.前面已经讨论了Hi ...
随机推荐
- Redis 的基本操作、Key的操作及命名规范
Redis基本操作 查看数据的状态 pong redis 给我们返回 PONG,表示 redis 服务 运行正常 redis 默认用 使用 16 个 库 • Redis 默认使用 16 个库,从 0 ...
- Fiddler讲解2
想要 浏览更多Fiddler内容:请点击进入Fiddler官方文档 阅读目录: 一.查看网络流量: 二.检查网络流量: 三.查看Web会话摘要: 四.查看Web会话统计信息: 五.查看Web会话内容: ...
- Eclipse RCP难点:给Command传递参数(Object)
这个问题网络上没有答案,国外网站上也没有,本人研究了一天,终于搞明白如何实现,实际上是Eclipse RCP的ICommandService本身就已经提供的方法,只是网络上教的都是使用IHandler ...
- jmeter命令行执行脚本_动态参数设置
从04月换公司开始,就没静下来心来学习,其中发生了比较多的事情吧,不过不管如何,没坚持学习还是因为懒.本周交接完,下周去入职新公司,该静下心来学点什么了. ---------------------- ...
- Mybatis的实现原理
在spring启动的时候,spring会根据我们配置的有关mapper.xml的路径加载此路径下的xml文件,得到一个List<Resource>的集合,然后将这个集合转化成Resourc ...
- textarea与标签组合,点击标签填入标签内容,再次点击删除内容(vue)
需求:将textarea与span标签组合,点击标签自动填入标签文本内容,再次点击删除标签文本对应内容 原理:点击标签时,将标签内容作为参数,将内容拼接在textarea的value后面,再次点击标签 ...
- 图片预先加载 preloadjs
<body><div class="loading"> <div class="progress"></div> ...
- Matplotlib pyplot中title() xlabel() ylabel()无法显示中文(即显示方框乱码)的解决办法
有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/11020246.html 一.无法正常显示原因 ...
- 关于INT_MIN
来自为知笔记(Wiz)
- for循环的耗时问题
结论——用变量来缓存数组长度,效率会更高