云计算之大数据(下)

目录

一、Hologres

1.1 产品定义

1.2 产品架构

1.3 Hologres基本概念

1.4 最佳实践 - Hologres分区表

1.5 最佳实践 - 分区字段设置

1.6 最佳实践 - 设置字段类型

1.7 最佳实践 - 存储属性设置

1.8 最佳实践 - 分布键设置

1.9 最佳实践 - 聚簇键设置

1.10 最佳实践 - 分段键设置

1.11 最佳实践 - 数据生命周期管理

1.12 最佳实践总结

2.1 产品定义

2.2 Flink架构

2.3 技术架构

2.4 功能架构

2.5 Flink任务自动调优

2.6 最佳实践 - Flink+Hologress实时数仓

2.7 最佳实践 - Flink任务反压

2.8 最佳实践 - Flink任务数据正确性问题处理

2.8.1 场景一:去重

2.8.2 场景二:filter

2.8.3 场景三:结果表主键Update结果不符合预期

2.8.4 场景四:维表JOIN

总结


一、Hologres

1.1 产品定义

        阿里云Hologres是一款实时数仓产品,它融合了OLAP和OLTP的能力,能够支持用户进行实时的分析处理。

1.2 产品架构

  • Frontend:认证、解析、优化
  • Worker Node:计算资源
  • HOS:轻量级调度框架
  • Shard:数据分片
  • Cache:分层精细化缓存
  • Resource:容器资源管理
  • Store:元数据管理 

1.3 Hologres基本概念

名词

定义

实例

在Hologres中,实例(Instance)是您使用和管理数据库存储服务的实体,一个实例可以看作是多个数据库的合集,您对数据库的操作都是在该实例下完成。

数据库

一个模式的合集,用户所有的操作,包括表、函数等都是在数据库里完成。系统会在用户完成实例申请后默认创建一个“postgres”的数据库,该DB仅用于运维管理,实际业务需要新建DB

SCHEMA

schema为数据库对象的集合,类似一个文件系统中的目录,实例内的对象如表、函数等都存放于各个schema下,创建数据库成功后,会默认创建一个名叫public的schema

表是数据存储单元,分为内部表和外部表

内部表

指数据存储在Hologres中的表,表中的数据类型可以是Hologres支持的任意一种类型。

外部表

指在Hologres不存储数据只做字段映射的表,外部数据表都是只读的,因此在外部表不能够执行DML操作,也不能创建索引

分区表

被分割的表称为分区表,表通过明确列出每个分区中出现的键值进行分区,可以理解为分类,通过分类把不同类型的数据放在不同目录。

1.4 最佳实践 - Hologres分区表

  • 父表按分区键(Partition Key)的值划分为不同的子表,子表对外可见。
  • 分区表在使用时,需要提前创建子表。
  • 分区表的不同分区子表采用不同的文件存储,查询时带上分区条件,指定所需查询的分区,避免全表扫描,快速定位存储文件,提高处理效率。通常将事实表按照日期划分为不同的分区表。

1.5 最佳实践 - 分区字段设置

使用建议:

  • 单表的数据总量较⼤(超过1亿条)时,就需要考虑使用分区表
  • 子表下的数据量要适中,通常在3亿~ 10亿条记录之间
  • 整个集群的子表总数控制在10万个以内
  • 如果您需要经常对某日数据进行整体替换,执行truncate操作,建议使用分区表

使用说明:

  • 分区表的创建依然兼容Postgres语法,分区表方便用户管理数据,并能通过分区裁剪加快数据的查找。
  • 不能向父表插入任何数据。
  • 只有 TEXT/VARCHAR/INT 类型才能作为分区键。如果按天/小时分区要把日期存为TEXT格式。
  • partition by 类型仅支持 list,切分 partition list 只能有一个值。
  • 分区父表和子表必须要在同一个Schema。
  • 若是表有主键,分区键必须是主键的一个子集。
  • 分区表的数据不会自动删除,需要用户自己管理生命周期。
  • 分区表太小,查询加速效果不明显,可以选择较大粒度的分区。

1.6 最佳实践 - 设置字段类型

  • 尽量选用存储空间小的类型。
  • 优先使用INT类型,而不是BIGINT类型。
  • DECIMAL的精度尽量小。
  • Group By的列不建议使用Float类型。
  • 优先使用TEXT,而不是VARCHAR(n)和CHAR(n),n的取值尽量小。
  • 日期类型使用TIMESTAMPTZ、DATE,避免使用TEXT。
  • 使用一致的数据类型。
  • 进行多表关联时,不同列尽量使用相同的数据类型。避免Hologres将不同类型的列进行隐示类型转换,造成额外的开销。
  • UNION或Group By等操作使用DECIMAL类型。
  • UNION或Group By等操作暂不支持DOUBLE PRECISION和FLOAT数据类型,需要使用DECIMAL类型。

1.7 最佳实践 - 存储属性设置

  • 在Hologres中表默认为列存(column store)形式。列存对于OLAP场景较为友好,适合各种复杂查询、数据关联、扫描、过滤、统计。
  • 行存对于key-value场景比较友好,适合基于primary key的点查和扫描scan。
  • 列存会默认创建更多的索引,包括对字符串类型创建bitmap索引,这些索引可以显著加速查询过滤和统计,因此列比较多的表,会占用更多的存储空间,您可以通过关闭这些默认创建的索引,释放空间。
  • 行存默认仅对主键创建索引,仅支持主键的快速查询,因此使用的存储空间更少,但使用场景也受到限制。
  • 从HologresV1.1版本开始支持行列共存的格式。行列共存是同时具备了上述的能力,即支持高效点查也支持OLAP分析,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/873755.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AT3340-6T杭州中科微BDS定位授时板卡性能指标

AT3340-6T是一款高性能多系统卫星定位安全授时板卡,可通过配置支持各个单系统的定位授时。 外观尺寸: 电气参数 应用领域: 通信基站授时 电力授时 广播电视授时 轨道系统授时 金融系统授时 其他授时应用 注意事项: 为了充分发挥…

Linux入门攻坚——31、rpc概念及nfs和samba

NFS:Network File System 传统意义上,文件系统在内核中实现 RPC:函数调用(远程主机上的函数),Remote Procedure Call protocol 一部分功能由本地程序完成 另一部分功能由远程主机上的 NFS本质…

软件部署-Docker容器化技术

开始前的环境说明 VMware 17 Pro Centos release 7.9.2009(防火墙已关闭) Docker 26.1.4 Docker镜像加速器配置:"https://do.nark.eu.org", "https://dc.j8.work", "https://docker.m.daocloud.io", "https://dockerproxy.com", &…

2. c#从不同cs的文件调用函数

1.文件目录如下&#xff1a; 2. Program.cs文件的主函数如下 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms;namespace datasAnalysis {internal static class Program{/// <summary>…

HUAWEI华为MateBook B5-420 i5 集显(KLCZ-WXX9,KLCZ-WDH9)原装出厂Windows10系统文件下载

适用型号&#xff1a;KLCZ-WXX9、KLCZ-WDH9 链接&#xff1a;https://pan.baidu.com/s/12xnaLtcPjZoyfCcJUHynVQ?pwdelul 提取码&#xff1a;elul 华为原装系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、华为浏览器、Office办公软件、华为…

网络传输的基本流程

目录 0.前言 1.TCP/IP四层协议模型的认识 2.数据传输的大致流程 3.局域网通信的原理 4.同一网段下两台主机之间的通信 5.不同网段下两台主机之间的通信 0.前言 不知道你有没有这样的疑问&#xff0c;为什么不同的设备之间能够进行数据的发送和接收&#xff1f;不同的通信…

计算机毕业设计选题推荐-农家乐综合服务系统-乡村游乐购系统-田园休闲生活系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

基于微信小程序+Java+SpringBoot+Vue+MySQL的网上花店/鲜花销售小程序

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的网上花店/鲜花销售…

【计算机网络】socket编程 --- 实现简易TCP网络程序

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

【北京迅为】《STM32MP157开发板使用手册》- 第十二章 编译Linux内核

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

java黑马微项目

1 飞机票 代码实现&#xff1a; import java.util.Scanner; public class F1 {public static void main(String[] args) {Scanner input new Scanner(System.in);System.out.print("请输入票价&#xff1a; ");double jia input.nextDouble();System.out.print(&…

数据完整性常见缺陷以及对尘埃粒子计数器选择关注点!

数据完整性缺陷的全面回顾性评估 在评估工厂数据完整性缺陷时&#xff0c;首先需要系统地回顾和识别各个环节中可能存在的数据问题。以下是一些常见的与数据完整性相关的缺陷及其描述&#xff1a; 数据遗漏&#xff1a; 记录不全&#xff1a;生产过程中关键步骤或参数的记录…

chatglm4部署以及集成langchain

1.魔塔社区下载glm4 https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat 2.jupyter下载&#xff0c;自己修改下载模型位置 3.环境安装&#xff1a; 本机已经安装了conda,使用conda虚拟环境隔离&#xff0c;就不重复演示了 新项目新激活一个环境&#xff1a;conda create -…

vue3 ts语法在index.ts中vue有红色波浪线

vue.js - Vue 3 with Typescript Could Not Find A Declaration File - Stack Overflow 只要在 vue文件中 写上就好 <script setup lang"ts">

IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)

需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 对于需要临时放公网访问的应用&#xff0c;直接运行127.0.0.1的开发环境&#xff0c;然后通过反向代理访问127.0.0.1就可以了&#xff0c;省去麻烦的iis设置。 IIS 实现反向代…

Java | Leetcode Java题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; class Solution {static final int MASK1 1 << 7;static final int MASK2 (1 << 7) (1 << 6);public boolean validUtf8(int[] data) {int m data.length;int index 0;while (index < m) {int num data[index];…

科研绘图系列:R语言差异基因四分图(Quad plot)

文章目录 介绍加载R包导入数据数据预处理画图参考介绍 四分图(Quad plot)是一种数据可视化技术,通常用于展示四个变量之间的关系。它由四个子图组成,每个子图都显示两个变量之间的关系。四分图的布局通常是2x2的网格,每个格子代表一个变量对的散点图。 在四分图中,通常…

安卓framework美化手势导航侧滑返回UI

文章目录 手势导航的侧滑返回效果图原生效果如下:要实现的功能,: 实现代码1. 初始化代码2. 修改绘制的代码,进行箭头与退出UI的显示3. 拖动的时候手指上下移动时,箭头ui跟着移动 以下是一些其他可以美化安卓右滑手势拖动 UI 的方法&#xff1a;视觉效果方面形状和布局方面 安卓…

C++解决:求排列数

描述 输入两个整数m,n&#xff0c;求m个数字中选n个数的排列数。&#xff08;1<n<m<50&#xff09; 输入描述 两个正整数m和n。 输出描述 一个正整数表示排列数。 用例输入 1 6 5 用例输出 1 720 AC code #include<bits/stdc.h> using namespace s…

孩子用的台灯哪个牌子好?挑选护眼台灯先了解护眼台灯十大排名

孩子们的日常生活中有高达80%的时间是在阅读、做作业或面对电脑屏幕中度过的&#xff0c;因此对良好照明的需求显得尤为严格和精确。一些家长可能认为&#xff0c;只要孩子使用的是纸质材料&#xff0c;不像电子产品那样对眼睛有害&#xff0c;使用普通的台灯照明就足够了&…