• 数据库架构简要解析


    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 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!

  • 相关阅读:
    sharepoint具体错误提示
    体验魅力Cognos BI 10 系列,第1 部分: 第一次安装
    Moss、SharePoint数据库迁移问题(转)
    XML解析
    JDBC进阶
    JDBC的操作
    项目Contact开发中遇到的,引以为戒
    递归练习
    递归详解(四)
    递归详解(三)
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/11294742.html
Copyright © 2020-2023  润新知