网站首页 > 技术文章 正文
1. 场景描述
Greenplum用了大半年了,要给部门其他同事做下分享,写了个ppt,其中看到“ Greenplum是一款典型的Shared-Nothing 分布式数据库系统。”,看到Shared-Nothing架构,以前只从字面上知道就是不共享,但是对数据库架构了解的不多,怕别人问起来就尴尬了,就补了下课,记录下吧。
2. 解决方案
数据库构架设计中主要有:Shared Everthting、Shared Disk、Shared Nothing等。
2.1 Shared Everthting
一般是单体主机,共享cpu/memory/io,单节点 的sqlsever、mysql、oracle等关系型数据库都是Shared Everthting,实例或者机器出故障了,整个服务就停用了,可用性差点。
2.2 Shared Disk
感觉这个概念就是针对oracle RAC来的,简单来说就是多个实例共享数据(磁盘),架构图:
说明: 应用实例可以有多个,可以是服务器,也可以是一个服务器多个服务,简单说这种情况下,实例只要不是全部挂了,就还能访问,但是数据库磁盘挂了,整个服务就不可用了。
2.3 Shared Nothing
大数据时代的到来,一般都是这个套路了,就是各玩各的(cpu、内存、存储都不共享),最后汇总展示。
2.3.1 hadoop
(2)说明
(a)namenode,名字节点,要管理元数据信息(Metadata),注意,只存储元数据信息。
(b) datanode,数据节点。用于存储文件块。为了防止datanode挂掉造成的数据丢失,对于文件块要有备份,一个文件块有三个副本。
hadoop默认是三个副本,这样即使其中一个datanode出故障了,也没关系,还能正常提供服务。
2.3.2 言归正传,Greenplum
(1)Greenplum架构图
(2)说明
(a)Master主机负责:建立与客户端的连接和管理;SQL的解析并形成执行计划;执行计划向Segment 的分发收集Segment的执行结果;Master不存储业务数据,只存储数据字典。
(b)Segment主机负责:业务数据的存储和存取;用户查询SQL的执行。
示例中假如有400万数据,4个segment host各自存储100万数据,cpu、内存、数据都不共享,根据master执行计划,返回数据到master节点,由master节点汇总返回client,另外greenplum是双备份机制。
说明: 其实这些都是概念性的东西,只是方便大家快速理解而已,不用太纠结,再说了现在mysql、oracle rac等也好多都集群部署了,有点混合的意思了。
I’m 「软件老王」,喜欢我的文章欢迎转发及关注,人人为我,我为人人,IT相关经验及人生分享与交流!
- 上一篇: [技术站]很全!浅谈几种常用负载均衡架构
- 下一篇: ESB企业服务总线功能,需求和核心架构分析
猜你喜欢
- 2024-11-12 Oracle项目管理平台的多层级组织架构设置方法
- 2024-11-12 一文让你轻松了解「MySQL」的基本架构
- 2024-11-12 ESB企业服务总线功能,需求和核心架构分析
- 2024-11-12 [技术站]很全!浅谈几种常用负载均衡架构
- 2024-11-12 UNIX和 Linux系统的核心结构 unix和linux操作系统
- 2024-11-12 Oracle多租户架构 oracle多个用户
- 2024-11-12 我对技术架构的理解与架构师角色的思考
你 发表评论:
欢迎- 615℃几个Oracle空值处理函数 oracle处理null值的函数
- 607℃Oracle分析函数之Lag和Lead()使用
- 595℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 592℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 586℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 580℃【数据统计分析】详解Oracle分组函数之CUBE
- 569℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)