阿里云ACP認證-數據倉庫

數據倉庫

Kappa架構:將實時和離線代碼統一(優化lambda架構),但是不好修正數據,開發周期長,成本浪費,對于歷史數據的高吞吐量力不從心
原一代數據倉庫:

  • 離線:hive+maxcompute
  • 實時:clickhouse+driud
  • 整合離線和實時:drill+presto
  • 保存:mysql+redis
  • 最后API

下一代:

  • 要實時,很實時
  • 離線和實時一體化,減少數據移動
  • 通用性,要解耦
  • 云原生,標準且生態
特點數據庫缺點
支持事務+ACIDMysql+presetSQL彈性伸縮難做到PD級別,且不能做復雜查詢
分析加速,分布式presto+druid+hive+clickhouse…面向分析師
面向服務產品,高并發,查詢簡單hbase+redis+casandra

既可以支持分析也可以支持事務:HTAP混合事務分析系統

  • 需要事務機制保證ACID + 適合模型簡單,簡單分析場景,TP解決AP問題

既可以分析也可以服務:HSAP服務/分析一體化:Hologres

  • 無事務開銷(分布式鎖、同步)
  • 以數據倉庫模型(抽象、服用、標準)解決數據服務問題

下一代架構

Hologres

產品特性:

  • 分析服務一體化:point(點查詢hbase/redis遇到的) /Ad-hoc(即席分析clickhouse)/OLAP(聯機分析) 分析
  • 以實時為中心:很快,數據實時寫入和更新,與Flink原生集成,寫入即可見
  • 計算存儲分離:存儲資源和計算資源分離部署并獨立擴展+和Maxcompute無縫打通
  • 開放生態:兼容PF生態+對接PG開發工具+對接BI

Flink+hologres組合:實時大屏等
在這里插入圖片描述
hologres:報表等離線加速
在這里插入圖片描述

Flink+hologres+maxcompute:數據中臺+精準營銷+多維分析
在這里插入圖片描述

Hologres架構原理

計算和存儲相分離
邏輯架構圖
計算:

  • 接入節點Frontend(FE):SQL認證解析和優化,可以包含多個,兼容postgres11
  • worker:執行引擎HQE(hologres query engine,極致查詢)/PQE(postgres query engine,兼容postgres)/SQE(對接maxcompute,本地兼容訪問maxcompute)+存儲引擎(SH,shard,CURD)+緩存+調度(HOS輕量級)
  • MetraService(管理元數據信息,同時提供給FE)+Holo Master(拉起Worker)

存儲:

  • 盤古文件系統
  • 數據湖

SQL發送請求-frontend解析分發-worker執行-走不同路徑-SE存儲獲取數據,合并后返回給FE
(點查直接搜Fixed FE)
在這里插入圖片描述

HSAP挑戰和Hologres應對策略
特點

存儲計算分離:三種
存儲使用盤古
hologres存儲
流批統一:底層支持行(PK)、列(OLAP)、行列共存
在這里插入圖片描述
執行引擎+優化器
在這里插入圖片描述
名詞解釋:
在這里插入圖片描述

hologres開發工具:
在這里插入圖片描述

PSQL客戶端
在這里插入圖片描述
JDBC連接hologres
在這里插入圖片描述

數據同步

支持多種異構數據源的離線、實時寫入
在這里插入圖片描述

實時寫入數據到hologres
進入hologres控制臺–建庫建表(1)-進入實時計算Flink控制臺-作業開發-新建作業-創建原表和目標表(2)-執行-上線-運維-進入作業運維可以看到提交的作業-啟動作業即可-在holoweb控制臺查看是否成功(3)
(1)create table if not exists test1(a int ,b bigint ,c text,d timestamp);
(2_1)create temporary table datagen_source(a int ,b bigint,c string,proctime as proctime()) with ('connector'='datagen')flink隨機源
(2_2)create temporary table holo_sink(a int,b bigint,c varchar,d timestamp) with ('connector'='hologres','endpoint'='XXX(hologres實例列表控制臺查看)','username'='XX','password'='XX','dbname'='XX','tablename'='test1(上面建的表)')holo目標表
(2_3)insert into holo_sink select * from datagen_source;數據實時寫入目標表
(3)select * from test1 order by d limit 2;/select count(1) from test1;
在這里插入圖片描述

Maxcompute離線加速查詢

單表創建/批量外表創建
在這里插入圖片描述
dataworks控制臺

  • 數據開發
  • 臨時查詢-新建數據源
  • 創建表并插入數據
create table if not exists odps_test(
shop_name string,
customer_id string,
total_price int
)
partitioned by (
sale_date string
)
#插入數據
insert into odps_test partition(sale_date='20221111') values('a','張三',50),('b','李四',55);# 查看數據
read odps_test;
  • 創建holoweb外部表(元數據管理可視化創建/sql創建)
create foreign table t_odps(shop_name text,customer_id text,total_price int8,sale_date text
)
server odps_server
options(project_name 'XXX項目空間名',table_name 'odps_test');# 驗證是否創建,相應會很快,dataworks慢,hologres加速查詢!
select * from t_odps;
  • 外表完成加速查詢完成

COPY命令導入導出數據

在這里插入圖片描述
在psql里面,連接后測試copy命令

#\d查看數據表
#建表
create table copy_test(
id int,
age int,
name text
);
# 從控制臺(stdin)輸入數據并復制到表
copy copy_test from stdin with delimiter as ',' null as '';
# 驗證
select * from copy_test;#從txt文件導入數據
cmd
psql -U XXX -p 80 -h XX -d X數據庫名X -c "copy copy_test from stdin with delimiter ','; " < X文件路徑X#COPY N,代表寫入了多少條數據# 下載數據到本地
psql
\copy (select * from copy_test) to '本地路徑/寫入OSS';#下載數據到OSS
psql/HoloWEB SQL編輯器
\copy (select * copy_test limit 2) to program '
hg_dump_to_odd
--AccessKeyId XX
--AccessKeySecret XX
--BucketName XX
--DirName X路徑X
--FileName X文件名X
--BatchSize X多少記錄X
'
# 最后到OSS查看驗證即可

Hologres數據開發

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85758.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85758.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85758.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WebRTC(五):TURN協議

TURN&#xff08;Traversal Using Relays around NAT&#xff09;協議是一個網絡協議&#xff0c;旨在解決 NAT&#xff08;網絡地址轉換&#xff09;和防火墻 環境下的 UDP/TCP通信問題。它通常與 STUN 和 ICE 協議一起使用&#xff0c;廣泛應用于 WebRTC、SIP 和視頻會議等實…

Python 的內置函數 hasattr

Python 內建函數列表 > Python 的內置函數 hasattr Python 的內置函數 hasattr() 用于檢查一個對象是否具有指定的屬性或方法。該函數的語法為&#xff1a; hasattr(object, name)參數說明&#xff1a; object&#xff1a;要檢查的對象&#xff0c;可以是任何 Python 對象…

docker使用技巧之把擴展卷命名變成有意義

背景 之前使用別人的鏡像之后&#xff0c;啟動docker后發出現了一堆看不懂名稱的擴展卷 eg&#xff1a;集群查看 擴展卷查看 這個時候如果有很多集群需要清理擴展卷就很麻煩&#xff0c;不知道是哪個集群的 操作步驟 可以實現的分析&#xff1a;這個擴展卷的信息應該是和…

《博物通書》《博物新編》與滿清歷史篡改

《博物新編》作為近代西方科技輸入中國的首部著作&#xff0c;其問世猶如一顆投入平靜湖面的巨石&#xff0c;在 19 世紀中期的中國激起層層漣漪&#xff0c;對中國近代科學發展產生了多維度、深層次的影響。它不僅是知識傳播的載體&#xff0c;更是推動中國科學從傳統走向近代…

【入門】【例18.1】 睡眠

| 時間限制&#xff1a;C/C 1000MS&#xff0c;其他語言 2000MS 內存限制&#xff1a;C/C 64MB&#xff0c;其他語言 128MB 難度&#xff1a;中等 分數&#xff1a;100 OI排行榜得分&#xff1a;12(0.1分數2難度) 出題人&#xff1a;root | 描述 一個人只有每天睡眠時間到達 8…

DAY 38 Dataset和Dataloader類

知識點回顧&#xff1a; Dataset類的__getitem__和__len__方法&#xff08;本質是python的特殊方法&#xff09;Dataloader類minist手寫數據集的了解 作業&#xff1a;了解下cifar數據集&#xff0c;嘗試獲取其中一張圖片 import torch import torch.nn as nn import torch.o…

【Kubernetes】以LOL的視角打開K8s

前言 對于大部分后端程序員乃至于非后端程序員來說&#xff0c;在當前的云原生時代&#xff0c;Kubernetes&#xff08;后稱K8s&#xff09;都是繞不開的一項技術&#xff1b;同時&#xff0c;對于這個時代的程序員來說&#xff0c;“英雄聯盟”&#xff08;后稱LOL&#xff0…

UE5 游戲模板 —— FirstShootGame

UE5 游戲模板 —— FirstShootGame 前言一、GameMode二、組件1.ShooterPickUpComponent單播多播 2.ShooterWeaponComponent附著武器開火 3.小結4.ShooterProjectile初始化碰撞受擊檢測 三、Character初始化輸入移動 總結 前言 有了前兩個俯視角游戲的基礎讓我們來看看相對復雜…

國家級與省級(不含港澳臺)標準地圖服務網站匯總

在先前的文章中&#xff0c;介紹了部分省級的標準地圖服務網站可以下載各個區縣近幾年、不同要素的標準地圖&#xff08;鏈接&#xff1a;國家與省市縣 標準地圖服務網站 審圖號地圖下載&#xff09;&#xff0c;但是當時只匯總了部分省級的標準地圖服務網站。 這兩天看到了一個…

前端開發面試題總結-vue3框架篇(一)

文章目錄 Vue3高頻問答一、vue2/vue3中常用的構建工具和腳手架分別是什么? 有什么區別?二、請說一說vue2和vue3的區別&#xff1f;三、請說一說vue2和vue3響應式原理的區別&#xff1f;四、vue3 如何定義響應式數據?五、說一說你對vue3中的setup函數?六、說一說vue3中的路由…

【LLM06---相對位置編碼】

文章目錄 相對位置編碼經典式XLNET式T5式DeBERTa式 相對位置編碼 上一節我們介紹了絕對位置編碼&#xff0c;這一節我們來看相對位置編碼&#xff0c;也就是用相對位置信息來表示&#xff0c;之前每一個token的位置式通過一個絕對的位置向量來表示的&#xff0c;現在我們在計算…

純跟蹤算法本質解密:航向角偏差=預瞄角?數學證明與工程實踐

定義關鍵問題 在深入純跟蹤算法核心前&#xff0c;必須澄清一對容易被混淆但至關重要的概念&#xff1a; 概念坐標系物理意義計算方式航向角偏差(α_global)全局坐標系車輛航向與預瞄點方向的夾角預瞄點方位角 - 車輛航向角預瞄角(α_body)車身坐標系預瞄點相對于車輛縱軸的夾…

自動駕駛叉車在倉庫環境中是否安全?

隨著自動駕駛叉車的興起&#xff0c;倉庫運營持續演進。叉車自動化技術的引入使倉庫設施變得更快、更安全且更具成本效益。然而一個關鍵問題依然存在&#xff1a;它們在繁忙的倉庫環境中是否安全&#xff1f; 一 、什么是自動駕駛叉車&#xff1f; 自動駕駛叉車&#xff0c;也…

Neo4j操作指南:修改節點數據與新增節點屬性

Neo4j操作指南&#xff1a;修改節點數據與新增節點屬性 引言 Neo4j作為領先的圖數據庫&#xff0c;提供了靈活的數據操作方式。在實際應用中&#xff0c;我們經常需要修改已有節點的數據或為節點添加新屬性。本文將詳細介紹如何使用Cypher查詢語言在Neo4j中完成這些操作&…

AI大模型學習之基礎數學:微積分在AI大模型中的核心-梯度與優化(梯度下降)詳解

微積分在AI大模型中的核心:梯度與優化(梯度下降) 人工智能(AI)大模型的訓練和優化依賴于數學基礎,其中微積分、線性代數和概率統計構成了其理論核心。微積分在AI中的核心作用在于提供優化工具,尤其是通過梯度和梯度下降方法,幫助模型在高維參數空間中找到損失函數的最…

記錄tweenjs踩坑

初次上手tweenjs&#xff0c;試了很多示例代碼都不生效&#xff0c;結果在html中生效&#xff0c;在vue3的項目中怎么都不生效 <!DOCTYPE html> <html lang"en"><head><title>Tween.js / simplest possible example!</title><meta…

PINA開源程序用于高級建模的 Physics-Informed 神經網絡

?一、軟件介紹 文末提供程序和源碼下載 PINA 是一個開源 Python 庫&#xff0c;旨在簡化和加速科學機器學習 &#xff08;SciML&#xff09; 解決方案的開發。PINA 基于 PyTorch、PyTorch Lightning 和 PyTorch Geometry 構建&#xff0c;提供了一個直觀的框架&#xff0c;用…

一種對外IP/MAC地址收斂的軟硬件系統

----------原創不易&#xff0c;歡迎點贊收藏。廣交嵌入式開發的朋友&#xff0c;討論技術和產品------------- 今天發一篇五年前的文章&#xff0c;不調單板。對以太網和交換片的較多理解&#xff0c;對系統級的優化。 大部分的網絡設備&#xff0c;都由多種單板組成&#x…

【flink】 flink 讀取debezium-json數據獲取數據操作類型op/rowkind方法

flink 讀取debezium-json數據獲取數據操作類型op/rowkind方法。 op類型有c&#xff08;create&#xff09;,u&#xff08;update&#xff09;,d&#xff08;delete&#xff09; 參考官網案例&#xff1a;此處的"op": "u",就是操作類型。 {"before&qu…

某手游cocos2dlua反編譯

一、獲取加載的luac文件 通過frida hook libccos2dlua.so 的luaL_loadbuffer函數對luac進行dump js代碼如下&#xff0c;得到dump后的lua文件 // 要加載的目標庫名 var targetLibrary "libcocos2dlua.so"; var dlopen Module.findExportByName(null, "dlope…