云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。
摘要:逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。
本文分享自华为云社区《【云小课】EI第33课 打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离》,原文作者:阅识风云
一、逻辑集群是什么?
传统的企业数仓数据,往往是各种业务数据集成到同一个数据仓库集群中,不同业务数据根据集群中的数据库或表中进行区分,实际上所有业务数据还是在同一个数仓中,会存在以下问题,具体表现在:
- 数仓的数据规模越来越大,表越来越多。不同业务访问数仓过程中会带来资源的竞争,比如CPU、内存、磁盘IO、网络的竞争。虽然通过配置资源池可以一定程度解决资源竞争,但所有业务执行逻辑仍然同时在每个节点上执行,无法做到资源完全隔离。事实上,同一业务的不同作业总是倾向访问本业务相关的表,对其他业务的表访问较少,如果能做到业务内数据“高内聚”,业务间“低耦合”无疑是更好的选择。
- 数据库表无论大小都被切分到所有节点,对小表来说,数据过于分散。当节点规模达到一定程度后,通过增加更多节点,提高查询并行度的方式可能就无法带来理想的扩展性了。如果为了避免集群变大,将不同业务数据拆分成独立集群,集群间数据互访就需要从应用层解决,或者需要跨集群导数。
逻辑集群实现了一个大集群按节点拆分,将大集群中所有节点分组,每个节点组构建一个逻辑集群,可以很好的解决上面所述的问题。
逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。在划分逻辑集群后,整个数据库中对象间的层次关系如下图所示:
图1逻辑集群、数据库、表层次关系
- 在实际业务场景中,建议用户尽可能将同一个数据库的表创建到同一个逻辑集群中。
- 该功能受限商用,如需使用,请在技术人员指导下进行。
二、弹性集群
弹性集群是指在逻辑集群模式下,非逻辑集群节点组成的集群并且总是存在。弹性集群的名称为elastic_group,是一个特殊的Node Group,可以包含多个或不包含任何DN节点。
弹性集群不能用户手动创建,在物理集群下第一次创建逻辑集群时自动创建弹性集群,物理集群中所有不属于逻辑集群的物理节点都会加入弹性集群。后续逻辑集群创建所需的DN节点都是来自弹性集群中。因此,为了能够创建新的逻辑集群,需要保证弹性集群中有DN节点存在(在物理集群模式下第一次创建逻辑集群时不需要)。
用户可以通过扩容向弹性集群添加新的物理节点。
三、权限说明
- 逻辑集群创建权限(CREATE ON NODE GROUP)允许授予任何用户/角色,创建权限后可在对应的逻辑集群上进行创建表等相关操作。
- 允许修改表的owner为任何用户,但对表进行操作时,需要检查对应的schema和nodegroup权限。
- 系统管理员可以关联到特定逻辑集群,并在多个逻辑集群中创建表。
- 允许将系统管理员权限授予关联了逻辑集群的用户,但同样遵循建表规则。
- 非表对象(schema/sequence/function/trigger等)的访问不再检查逻辑集群权限。
- 逻辑集群用户如果有创建数据库权限也可创建数据库。
- 系统中的资源池必须关联到特定逻辑集群。
- 逻辑集群删除时只删除表、外表,资源池对象,其他对象不会删除。
四、逻辑集群有哪些注意事项?
五、如何进入逻辑集群页面?
- 登录GaussDB(DWS) 管理控制台。
- 在集群列表中单击指定集群名称。
- 进入集群“基本信息”页面,打开“逻辑集群开关”,出现“逻辑集群管理”页签。
4. 切换至逻辑集群页面,用户可进行相关操作。
六、逻辑管理相关操作
了解更多华为云数据仓库GaussDB(DWS),请猛戳这里!!!
- 云小课|三大灵魂拷问GaussDB(DWS)数据落盘安全问题
- 利用javascript实现类似delphi中数据敏感控件dbtextbox!
- 利用JavaScript实现类似Delphi中数据敏感控件DBTextBox!
- ef DBfirst,修改代码生成文件,实现数据实体的继承
- 本文是笔者根据数据库编程经验,利用C++语言的模板、继承、授权、多态等面向对象特性,借鉴命令模式,实现了对象在关系数据中的存储,降低应用系统与数据库之间的耦合,提高开发效率。
- 大规模企业网站集群如何实现会话保持?
- 企业如何实现数据安全存储
- 企查查支撑8000万+企业数据的大数据平台技术选型与实现
- DbProviderFactory类实现跨数据库数据操作类.
- 使用逻辑数据PNPCE时,选择屏幕中实现单人模式和多人模式之间的切换
- Python实现常用的逻辑数据结构
- [EXPDP]使用11g的数据泵实现对逻辑备份数据进行加密
- [置顶] PHP之数据采集[抓取阿里巴巴上宁波企业的详细信息] - 非正则实现
- redis集群实现(七)sentinel数据结构和初始
- 在 Laravel 5 中使用 Repository 模式实现业务逻辑和数据访问的分离
- 实现数据安全 企业用户最爱这10款加密产品
- C#实现大批量转移数据到SQl SERVER DB.
- 新增10万亿美元的挑战_打造中国企业竞争力,实现世界一流生产力
- 游戏业务逻辑和DB无阻塞实现
- 对Riak Core的探索 (5) 业务逻辑的实现:数据如何处理