软件老王 潜水
  • 1发帖数
  • 1主题数
  • 0关注数
  • 0粉丝
开启左侧

数据库架构先容

[复制链接]
软件老王 发表于 2020-9-7 15:16:30 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
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等也许多多少都集群部署了,有点混合的意思了。
<hr>I’m 「软件老王」,喜欢我的文章接待转发及关注,人人为我,我为人人,IT相关履历及人生分享与交流!

精彩评论1

frankljf 发表于 2020-9-7 18:43:09 | 显示全部楼层
转发了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服邮箱
wxcy#wkgb.net

邮箱地址#换为@

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城