Greenplum Database 管理员指南 6.2.1
....................................................................................... - 373 - 数据模型 .................................................................................................. 之间存储数据的,可以参考下图所示的简单 逻辑关系,主键(Primary Key)被使用黑体标记,外键(Foreign Key)关系通过连 线标明。 用数据仓库的术语来说,这种数据模型称为星型模型。在这种数据库模型下,Order 表通常被称为事实表(Fact Table),其他表(Customer、Vendor、Product)被称 为维表(Dimension Table)。不管是哪张表,虽然对于用户来说,看起来就是一张 COLUMN c4没有压缩。因为缺省列存储设置指定了压缩模式,COLUMN c4明确指定了 不压缩,其块尺寸从DEFAULT COLUMN ENCODING子句继承而来为65536。 =# CREATE TABLE T4 ( c1 int ENCODING (compresstype=zlib), c2 char, c3 text, c4 smallint0 码力 | 416 页 | 6.08 MB | 1 年前3Greenplum机器学习⼯具集和案例
generate_series(1,30:: bigint) AS ID) foo DISTRIBUTED BY (id); 2017.thegiac.com 2017.thegiac.com • 适合模型应用于数据子集的场景,并行执行效率非常高 • 如果节点间数据通讯,使用 适⽤用场景 2017.thegiac.com MADlib 2017.thegiac.com 强⼤大的分析能⼒力力 2017.thegiac.com ⽤用户案例例 1 Greenplum + MADlib 助⼒力力邮件营销 2017.thegiac.com 问题 ● 邮件⼴广告点击预测 模型不不够精准,需 要更更好的邮件营销 策略略 ● 现有数据分析流程 繁琐,速度慢,有 很多⼿手动步骤,易易 出错 客户 数据科学解决⽅方案 ● 某⼤大型跨国多元 化传媒和娱乐公 逻辑回归 计算 KS 分值 模型验证 ⼿手动预测 1 2 3 4 5 6 7 8 原始⼯工作流程 2017.thegiac.com 数据整理理 特征⽣生成 验证 预测 信息价值 ⽅方差膨胀 因⼦子 成对相关性 逻辑回归 Elastic Net 特征选择 模型 1 2 3 4 50 码力 | 58 页 | 1.97 MB | 1 年前3Greenplum 分布式数据库内核揭秘
Confidential │ ©2021 VMware, Inc. Greenplum 分布式执行器 QD/QE/火山模型/Gang Confidential │ ©2021 VMware, Inc. 25 Greenplum,或者说 PostgreSQL 是进程模型,而不是类似于 MySQL 的线程模型。 主进程 postmaster 是整个数据库实例的总控进程,负责启动和关闭数据库实例。当客户端和 Coordinator 发来的计划树,对每一个节点按照拉模型 (火山模型) 进行执行。 QD && QE Confidential │ ©2021 VMware, Inc. 26 QD && QE Confidential │ ©2021 VMware, Inc. 27 火山模型,或者说拉模型,是指从最顶层的输出节点开始,不断从下层节点拉取数据,一种自顶向 下的执行方式。最常见的拉模型是 Tuple-At-A-Ti Greenplum、PostgreSQL、MySQL 以及 Oracle 等主流数据库均采用拉模型。 拉模型的每个算子都实现了从下层节点获取一条元组的 GetNext 函数,每次调用该函数都会从下 层节点返回一条元组或者 EOF 的 NULL 指针。上层节点不断地调用 GetNext 函数从下层节点获 取数据,直至数据全部获取完毕。 火山模型 postgres=# explain select * from t order0 码力 | 31 页 | 3.95 MB | 1 年前3Greenplum 架构概览
和 Master- Slave 有何区别? 在 Master-Slave 模型下,Master 和 Slave 拥有相同的数据,并且 Master 是存储和处理数据的唯⼀⼊⼝,Slave 仅复制 Master 的 数据。⽐如 MySQL 的主从模型、Redis 的主从模型 在 Master-Segment 模型下,⾸先 Master 节点不存储数据,其次就是数据将会以分⽚的⽅式存储在多个 Segment 节点中。这⾥可以 类⽐ Redis Cluster,只不过 Redis Cluster 是去中⼼化的。在 Master-Segment 模型中通常也会包含 Master-Slave 模型,也就是增 加数据副本,以实现⾼可⽤ 简单地来说,Master-Slave 主要进⾏数据复制(冗余),⽽ Master-Segment 则会同时进⾏数据分区(⽔平扩展)和复制(冗余) 分区与分⽚ 基于⾏的存储⽅式,也可以选择基于列的存储⽅式,并且⽀持诸如 S3、HDFS 等外部存储 GP 基本查询流程 PostgreSQL 进程模型 PostgreSQL(以下简称 PG)采⽤的是经典的 C/S 模型,即 Client-Server 模型,同时使⽤多进程的⽅式⽀持并发查询与写⼊。也就是说, 每当有⼀个客户端连接⾄ PG 时,就会有⼀个⼦进程被创建出来。postmaster 进程和0 码力 | 1 页 | 734.79 KB | 1 年前3Greenplum 精粹文集
Append-only 的特性,SQL-On-Hadoop 大多不 支持数据局部更新和删除功能 (update/delete);例如 Spark 计算时, 需要预先将数据装载到 DataFrames 模型中; 基本上都缺少索引和存储过程等特征 除 HAWQ 外,大多对于 ODBC/JDBC/DBI/OLEDB/.NET 接口的支持 有限,与主流第三方 BI 报表工具的兼容性不如 MPP 数据库 的任务和用于少数次 的访问,而且主要用于 Batch(不需要交互式),对计算性能不是 很敏感,那 Hadoop 也是不错的选择,因为 Hadoop 不需要你花费 较多的精力来模式化你的数据,节省数据模型设计和数据加载设计 方面的投入。这些系统包括:历史数据系统、ETL 临时数据区、数 据交换平台等等。 切记,千万不要为了大数据而大数据(就好像不要为了创新而创新一 个道理),否则,你项目最后的产出与你的最初设想可能 可扩展 该客户单个 Greenplum 集群,从最初的 50 节点,经历了两次扩展, 最终扩展到了上百节点。每次扩容,数据库的数据容量不但得到提升, 业务人员更能直观的感受到相同模型运行速度得到提升,尤其是大机 构的大模型更为明显。 第一次扩容是从 50 节点到 74 节点,完成 30TB 业务数据的导出、传输、 导入,以及 70TB 左右的索引数据创建,实际停机时间大约 3 天左右。 第二次0 码力 | 64 页 | 2.73 MB | 1 年前3Greenplum 6: 混合负载的理想数据平台
Confidential–Internal Use Only 卓越的OLAP特性 列式存储 分区、压缩 高级特性 递归查询、窗口函数 集成分析 多格式、多语言 Madlib: 机器学习 数据库内并行模型训练和预测、分类 ORCA 复杂查询优化器 成熟稳定 完备生态、支撑核心生产系统 13 Pivotal Confidential–Internal Use Only 列式存储 表‘SALES’ 优化分布式大数据系统中特别复杂的查询 18 Madlib: 迭代并行模型训练 Master model = init(…) WHILE model not converged model = SELECT model.aggregation(…) FROM data table ENDWHILE 模型存储过程 … 广播 Segment 2 Segment Segment n … Transition 函数 操作一小批数据并更新 模型状态 1 Merge 函数 2 Final函数 3 Segment 1 19 Madlib: PageRank性能 Greenplum集群: ● 1 master ● 4*6 segment 50亿条链接 (1K) (10K) (100K) (1M) (10M) (100M) Note: log-log0 码力 | 52 页 | 4.48 MB | 1 年前3Greenplum数据仓库UDW - UCloud中立云计算服务商
的表格创建类似于 postgresql,由于 udw 采⽤ mpp 数据,创建表格的时候可以选择不同的数据分布策略,不同的存储⽅式等等。创建表格的时候可以定义下⾯信息: 数据类型 表约束 数据分布策略 表存储模型 分区策略 外部表:udwfile、udwhdfs 下⾯分别根据上⾯的可选信息对表格设计进⾏分析。 4.1 数据类型 数据类型 开发指南 Greenplum数据仓库 UDW Copyright 2012-2021 UCloud 优刻得 85/206 备注:更多关于分区策略的的使⽤可以通过命令⾏执⾏\h create table 或者 \h alter table 查看 4.4 表存储模型( 表存储模型(heap表和 表和appendonly表) 表) UDW ⽀持两种类型的表:堆表(heap table)和追加表(Appendonly table)。默认创建的是堆表。 堆表(heap CREATE TABLE heapTable( a int, b text ) DISTRIBUTED BY (a); 创建⼀个追加表(CREATE TABLE 命令的 WITH ⼦句来指定表存储模型): CREATE TABLE aoTable( a int, b text ) WITH (appendonly=true) DISTRIBUTED BY (a); 4.5 表存储⽅式(⾏存储、列存储)0 码力 | 206 页 | 5.35 MB | 1 年前3Pivotal Greenplum 最佳实践分享
点时间会很长 – 系统表(pg_class,pg_attribute)太大,影响系统工作效率 – 系统元数据检查pg_checkcat等工具运行时间比较长 物理模型经验分享 物理模型对于系统性能有很大影响,因此需要我们特别关注。 以下来自于在某大型银行的使用经验: 行存储和列存储: • 避免过多使用列存储的原因是防止小档数过多。 • 列存储能够提升查询性 户号,这个可以提高关联条件的命中率,减少关联时数据重分布 (主要对大表) • 选用分布键同时考虑数据平均分布(一个例子,日志号不是最好的分布键,大量的空值导致资料倾斜) 物理模型经验分享(续) 分区表使用: • 不建议使用二级分区,二级分区不便于管理,而且Parser效率较低; • 二级分区可以用一级分区+Bitmap方式替代,例如按照“发生日期”做分区,然后在机构字段上将bitmap索引0 码力 | 41 页 | 1.42 MB | 1 年前3并行不悖- OLAP 在互联网公司的实践与思考
继续建设多样化的postgresql数据集市,满足不同需求 • 优化现有业务的调度实现 Ø 时间周期的考量 Ø 并发与功能实现的权衡 Ø 增强任务可控性和可度量性 • 支持符合条件的新业务 Ø 抽象业务模型,整合使用分类 Ø 简化上线模型,优化上线方式 40 Greenplum扩展规划 新业务上线流程 • 把握三个方面,解决三个问题 Ø 确认数据来源与传输,解决原始数据从那里来的问题 Ø 确认数据如何计算,解决数据存储和计算加工的问题0 码力 | 43 页 | 9.66 MB | 1 年前3完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum
集成分析:改进后的全新分析接口 一直以来,客户都能在 Greenplum 中做高级分析,无论是提供将应用逻辑向下推送至数据所在位置的方法,执行分 析功能,还是以大规模并行方式构建数据模型,都可以实现。Greenplum 支持适用于数据挖掘和数据科学工作的最 全面、最先进的分析程序包和扩展。Greenplum 还针对最受欢迎的 Python 和 R 语言算法库提供简单易用的安装程 等 R 语言算法库和程序包。 此外,Greenplum 还支持最新版 Apache MADlib(可用 SQL 进行机器学习、深度学习和图分析),它支持高并行 和基于 GPU 的深度学习模型训练,内置于集群硬件中的 GPU,能帮助 Greenplum 6 的用户获得超过 CPU 2 个数量 级的性能加速,尤其对于可预测的分析用例和图像识别,这些功能将展现奇效。支持在 Apache Solr0 码力 | 17 页 | 2.04 MB | 1 年前3
共 24 条
- 1
- 2
- 3