360doc--北漂二號(hào)的文章 http://www.ahfyzs.com/rssperson/77773606.aspx 360doc (http://www.ahfyzs.com) zh-cn 360doc--個(gè)人圖書館 HTAP能夠取代OLAP嗎? http://www.ahfyzs.com/content/22/0804/09/77773606_1042526007.shtml 2022/8/4 9:54:03
HTAP能夠取代OLAP嗎?我們了解了OLAP 數(shù)據(jù)庫和 OLTP 數(shù)據(jù)庫之后,我們?cè)賮砜紤]:HTAP=OLTP+OLAP,是這樣嗎?現(xiàn)實(shí)情況是,對(duì)HTAP的需求,日常還是以O(shè)LTP為主,但也需要對(duì)數(shù)據(jù)進(jìn)行加工,以保證偶爾的OLAP工作負(fù)載,這里說的OLAP場(chǎng)景并不是真正意義上的OLAP,它只為了提升在OLTP系統(tǒng)中執(zhí)行復(fù)雜查詢的性能。所以大部分的HTAP并不完整包含OLAP的完整功能,且他們的OLAP功能整體比較弱,只是滿足偶爾提取一些需要用于分析的少量數(shù)據(jù)。
OushuDB 用戶指南類型轉(zhuǎn)換之函數(shù) http://www.ahfyzs.com/content/21/1223/17/77773606_1010023505.shtml 2021/12/23 17:23:55
OushuDB 用戶指南類型轉(zhuǎn)換之函數(shù)。函數(shù)類型解析。c. 遍歷所有候選函數(shù),保留那些需要類型轉(zhuǎn)換時(shí)接受(屬于輸入數(shù)據(jù)類型的類型范疇的) 首選類型位置最多的函數(shù)?,F(xiàn)在拋棄不接受選定的類型范疇的候選函數(shù),然后,如果任意候選函數(shù)在那個(gè)范疇接受一個(gè)首選類型, 則拋棄那些在該參數(shù)位置接受非首選類型的候選函數(shù)。如果用一個(gè)未聲明類型的字符串常量調(diào)用它, 系統(tǒng)將選擇接受string類型范疇的首選類型 (也就是text類型)的候選函數(shù)。
OushuDB 用戶指南類型轉(zhuǎn)換之操作符 http://www.ahfyzs.com/content/21/1223/17/77773606_1010023426.shtml 2021/12/23 17:23:29
操作符類型解析。c. 遍歷所有候選操作符,保留那些需要類型轉(zhuǎn)換時(shí)接受(屬于輸入數(shù)據(jù)類型的類型范疇的)首選類型位置最多的操作符。然后, 如果任意候選操作符在某個(gè)給定的參數(shù)位置接受一個(gè)首選類型, 則拋棄那些在該參數(shù)位置接受非首選類型的候選操作符。因?yàn)椴樵冎袥]有聲明任何類型,所以本例中對(duì)類型沒有任何初始提示,因此,分析器查找所有候選操作符,發(fā)現(xiàn)既存在接受字符串類型范疇的操作符也存在接受位串類型范疇的操作符。
OushuDB 用戶指南類型轉(zhuǎn)換之概述 http://www.ahfyzs.com/content/21/1223/17/77773606_1010023337.shtml 2021/12/23 17:22:48
OushuDB 用戶指南類型轉(zhuǎn)換之概述概述。因此,OushuDB 中大多數(shù)類型轉(zhuǎn)換是由通用規(guī)則來管理的, 而不是由專門的試探法分析的,這種做法允許使用混合類型的表達(dá)式, 即便是其中包含用戶定義的類型也如此。因?yàn)镺ushuDB 允許函數(shù)重載, 所以函數(shù)名自身并不唯一地標(biāo)識(shí)將要調(diào)用的函數(shù), 分析器必須根據(jù)函數(shù)提供的參數(shù)類型選擇正確的函數(shù)。在混合類型表達(dá)式中,本地類型總應(yīng)該轉(zhuǎn)換為用戶定義的類型(當(dāng)然,只要轉(zhuǎn)換是必要的)。
OushuDB 用戶指南之類型轉(zhuǎn)換值存儲(chǔ) http://www.ahfyzs.com/content/21/1222/19/77773606_1009882602.shtml 2021/12/22 19:28:33
OushuDB 用戶指南之類型轉(zhuǎn)換值存儲(chǔ)。值存儲(chǔ)數(shù)據(jù)類型解析。檢查一下看看目標(biāo)類型是否有長(zhǎng)度轉(zhuǎn)換。然后操作符的text結(jié)果轉(zhuǎn)換成bpchar(“空白填充的字符型”, character類型內(nèi)部名稱)以匹配目標(biāo)列類型。(因?yàn)閺膖ext 到bpchar的轉(zhuǎn)換是二進(jìn)制兼容的,這樣的轉(zhuǎn)換是隱含的并且實(shí)際上不做任何函數(shù)調(diào)用。)最后,在系統(tǒng)表里找到長(zhǎng)度轉(zhuǎn)換函數(shù)bpchar(bpchar, integer, boolean) 并且應(yīng)用于該操作符的結(jié)果和存儲(chǔ)的字段長(zhǎng)。
OushuDB 用戶指南之類型轉(zhuǎn)換 http://www.ahfyzs.com/content/21/1222/19/77773606_1009882557.shtml 2021/12/22 19:28:12
OushuDB 用戶指南之類型轉(zhuǎn)換概述。因此,OushuDB 中大多數(shù)類型轉(zhuǎn)換是由通用規(guī)則來管理的, 而不是由專門的試探法分析的,這種做法允許使用混合類型的表達(dá)式, 即便是其中包含用戶定義的類型也如此。因?yàn)镺ushuDB 允許函數(shù)重載, 所以函數(shù)名自身并不唯一地標(biāo)識(shí)將要調(diào)用的函數(shù), 分析器必須根據(jù)函數(shù)提供的參數(shù)類型選擇正確的函數(shù)。在混合類型表達(dá)式中,本地類型總應(yīng)該轉(zhuǎn)換為用戶定義的類型(當(dāng)然,只要轉(zhuǎn)換是必要的)。
OushuDB 用戶指南之編程接口 http://www.ahfyzs.com/content/21/1222/19/77773606_1009882511.shtml 2021/12/22 19:27:47
可以參見如下連接:# - 創(chuàng)建用戶:http://www.oushu.com/docs/hawq/reference/sql/create-user/# - 分配權(quán)限:http://www.oushu.com/docs/hawq/reference/sql/grant/# - 修改pg_hba.conf: https://www.postgresql.org/docs/8.2/static/auth-pg-hba-conf.html# 注意修改pg_hba.conf后master節(jié)點(diǎn)需要重新加載pg_hba.conf,可以使用命令:hawq stop --reloadconn = DriverManager.getConnection(url, "ChangLei", "");
OushuDB 管理指南之資源管理(下) http://www.ahfyzs.com/content/21/1216/18/77773606_1009007348.shtml 2021/12/16 18:07:21
OushuDB 管理指南之資源管理(下) 設(shè)置查詢最大和最小并發(fā)度。NVSEG_UPPER_LIMIT/NVSEG_LOWER_LIMIT:這兩個(gè)值可以在創(chuàng)建資源隊(duì)列時(shí)指定。NVSEG_UPPER_LIMIT_PERSEG/NVSEG_LOWER_LIMIT_PERSEG:這兩個(gè)值可以在創(chuàng)建資源隊(duì)列時(shí)指定。hawq_rm_nvseg_perquery_limit是一個(gè)硬性限制,NVSEG_UPPER_LIMIT/NVSEG_LOWER_LIMIT和NVSEG_UPPER_LIMIT_PERSEG/NVSEG_LOWER_LIMIT_PERSEG的設(shè)置也不能突破hawq_rm_nvseg_perquery_limit的限制。
OushuDB 管理指南之資源管理(中) http://www.ahfyzs.com/content/21/1216/18/77773606_1009007274.shtml 2021/12/16 18:06:42
OushuDB 管理指南之資源管理(中) 1、資源管理配置。MEMORY_LIMIT_CLUSTER:資源隊(duì)列可以使用的父隊(duì)列內(nèi)存的比例。比如一個(gè)資源管理隊(duì)列可以使用的資源是8GB,如果VSEG_RESOURCE_QUOTA為256MB,則這個(gè)資源管理隊(duì)列可以分配的最大virtual segment數(shù)為8GB/256MB = 32個(gè)。VSEG_RESOURCE_QUOTA=''''''''mem:{128mb | 256mb | 512mb | 1024mb | 2048mb | 4096mb | 8192mb | 16384mb | 1gb | 2gb | 4gb | 8gb | 16gb}’
Oushu DB 管理指南之資源管理(上) http://www.ahfyzs.com/content/21/1216/18/77773606_1009007218.shtml 2021/12/16 18:06:17
CREATE RESOURCE QUEUE ceo_report WITH (PARENT=''pg_root'', ACTIVE_STATEMENTS=20,MEMORY_LIMIT_CLUSTER=30%, CORE_LIMIT_CLUSTER=30%);CORE_LIMIT_CLUSTER:資源隊(duì)列可以使用的父隊(duì)列CPU的比例。
OushuDB 管理指南 備份恢復(fù)(下) http://www.ahfyzs.com/content/21/1215/17/77773606_1008848313.shtml 2021/12/15 17:27:38
OushuDB 管理指南 備份恢復(fù)(下)1、備份空間估計(jì)。在備份你的數(shù)據(jù)庫之前,需要保證你有足夠的磁盤空間來存儲(chǔ)備份文件。如果待備份表是壓縮的,這個(gè)查詢給出的大小是壓縮后的大小,如果你的備份是沒有壓縮的,需要乘上一個(gè)壓縮比來計(jì)算所需空間?;跀?shù)據(jù)庫使用空間評(píng)估完壓縮比的影響后,如果使用hdfs外部表備份,則獲得的數(shù)據(jù)庫大小需要乘hdfs存儲(chǔ)副本個(gè)數(shù)評(píng)估總大小,通常該副本個(gè)數(shù)為3,即所需空間為databasesize * 3 * 3;
OushuDB 管理指南 備份恢復(fù)(中) http://www.ahfyzs.com/content/21/1215/17/77773606_1008848209.shtml 2021/12/15 17:26:56
pg_dump和pg_restore是一種串行備份和恢復(fù)方式,對(duì)大數(shù)據(jù)庫來說從運(yùn)行時(shí)間和空間來看都不適合。使用pg_dump和pg_restore的備份和恢復(fù)方式可以使用如下命令:$ pg_restore -d new_db mydb.dump2、備份原始數(shù)據(jù)?;趆dfs外部表和gpfdist外部表的備份方式滿足大部分需求,在有些需要增量備份的情況下可以使用備份ETL產(chǎn)生的原始數(shù)據(jù)的方式進(jìn)行備份。
OushuDB 管理指南 備份恢復(fù)(上) http://www.ahfyzs.com/content/21/1215/17/77773606_1008848127.shtml 2021/12/15 17:26:26
使用gpfdist外部表進(jìn)行備份的步驟:?jiǎn)?dòng)gpfdist并創(chuàng)建使用gpfdist的writable外部表。具體命令可以參考gpfdist外部表導(dǎo)出數(shù)據(jù)。啟動(dòng)gpfdist并創(chuàng)建基于gpfdist的外部表。具體命令可以參考gpfdist外部表導(dǎo)入數(shù)據(jù)2、使用hdfs外部表。使用hdfs外部表進(jìn)行備份的步驟:檢查hdfs文件系統(tǒng)可用空間的大小,確定將使用的hdfs文件系統(tǒng)有充分的空間。
OushuDB 管理指南 集群高可用(4) http://www.ahfyzs.com/content/21/1214/18/77773606_1008702859.shtml 2021/12/14 18:36:59
如果已配置備用主節(jié)點(diǎn)并與主節(jié)點(diǎn)同步, 則會(huì)看到與以下內(nèi)容類似的輸出:summary_state | detail_state | log_time | error_message---------------+--------------+------------------------+---------------Synchronized | | 2018-03-30 21:53:47+00 |(1 row)重新同步備用主節(jié)點(diǎn)。如果主節(jié)點(diǎn)和備用主節(jié)點(diǎn)之間的日志同步進(jìn)程已停止或有延遲, 則備用主節(jié)點(diǎn)不能和主節(jié)點(diǎn)同步。要將備用主節(jié)點(diǎn)與主節(jié)點(diǎn)重新同步, Oushu Database 主節(jié)點(diǎn)上執(zhí)行以下命令:此命令停止并重新啟動(dòng)主節(jié)點(diǎn), 然后同步備用主節(jié)點(diǎn)。
OushuDB 管理指南 集群高可用(3) http://www.ahfyzs.com/content/21/1214/18/77773606_1008702808.shtml 2021/12/14 18:36:35
請(qǐng)登錄到 Oushu Database 備用主節(jié)點(diǎn)并激活:激活備用主節(jié)點(diǎn)后, 它將成為 Oushu Database 群集的活躍的主節(jié)點(diǎn)。這是為了保證 Oushu Database 主節(jié)點(diǎn)與備用主節(jié)點(diǎn)使用相同的 zookeeper 服務(wù),以避免本地 zookeeper 服務(wù)無法使用而導(dǎo)致 Oushu Database 無法自動(dòng)切換或者發(fā)生錯(cuò)誤切換。5. 在 zookeeper 服務(wù)能正常訪問時(shí)(半數(shù)以上zookeeper節(jié)點(diǎn)存活),Oushu Database 的備用主節(jié)點(diǎn)能在主節(jié)點(diǎn)故障后 2~3 分鐘內(nèi)完成自動(dòng)激活。
OushuDB 管理指南 集群高可用(2) http://www.ahfyzs.com/content/21/1214/18/77773606_1008702741.shtml 2021/12/14 18:36:00
可以在 Oushu Database 的安裝過程中配置備用主節(jié)點(diǎn), 也可以向現(xiàn)有集群中添加。請(qǐng)確保備用主節(jié)點(diǎn)的主機(jī)已安裝了 Oushu Database 并相應(yīng)地進(jìn)行了配置:初始化 Oushu Database 備用主節(jié)點(diǎn):請(qǐng)登錄到 Oushu Database 主節(jié)點(diǎn)并重新初始化 Oushu Database 備用主節(jié)點(diǎn):oushu_master$ hawq config -c hawq_standby_address_host -v <new_standby_master>
OushuDB 管理指南 集群高可用(1) http://www.ahfyzs.com/content/21/1214/18/77773606_1008702683.shtml 2021/12/14 18:35:27
(重要)當(dāng)管理員在主節(jié)點(diǎn)修改用戶權(quán)限控制文件 pg_hba.conf 時(shí),必須手動(dòng)把更新后的該文件同步到備用主節(jié)點(diǎn)上,以避免主節(jié)點(diǎn)故障時(shí),切換后的新主節(jié)點(diǎn)無法識(shí)別用戶權(quán)限而導(dǎo)致的集群服務(wù)不可用。當(dāng)客戶端使用 jdbc 鏈接 Oushu Database 時(shí),如果沒有配置虛擬 IP 地址,建議同時(shí)將主節(jié)點(diǎn)地址與備用主節(jié)點(diǎn)地址加入到 jdbc 連接的 url 地址中,以便客戶端程序在 Oushu Database 集群主節(jié)點(diǎn)發(fā)生切換時(shí)仍保持可用。
OushuDB創(chuàng)建和管理模式(中) http://www.ahfyzs.com/content/21/1207/16/77773606_1007564633.shtml 2021/12/7 16:38:23
OushuDB創(chuàng)建和管理模式(中) 1、模式搜索路徑。系統(tǒng)通過查找一個(gè) 搜索路徑 來判斷一個(gè)表究竟屬于哪個(gè)模式, 這個(gè)路徑是一個(gè)需要查找的模式名列表。在搜索路徑中的第一個(gè)模式叫做”當(dāng)前模式”。如果在其它環(huán)境中引用對(duì)象且沒有模式修飾,那么系統(tǒng)會(huì)遍歷搜索路徑,直到找到一個(gè)匹配的對(duì)象。除了public和用戶創(chuàng)建的模式之外,每個(gè)數(shù)據(jù)庫都包含一個(gè)pg_catalog模式, 它包含系統(tǒng)表和所有內(nèi)置數(shù)據(jù)類型、函數(shù)、操作符。
OushuDB創(chuàng)建和管理模式(上) http://www.ahfyzs.com/content/21/1207/16/77773606_1007564490.shtml 2021/12/7 16:37:27
OushuDB創(chuàng)建和管理模式(上)一個(gè)數(shù)據(jù)庫包含一個(gè)或多個(gè)已命名的模式,模式又包含表。和數(shù)據(jù)庫不同,模式不是嚴(yán)格分離的:只要有權(quán)限,一個(gè)用戶可以訪問他所連接的數(shù)據(jù)庫中的任意模式中的對(duì)象。要?jiǎng)?chuàng)建一個(gè)模式,使用CREATE SCHEMA命令。CREATE SCHEMA myschema;要?jiǎng)?chuàng)建或者訪問在模式中的對(duì)象,寫出一個(gè) 受修飾 的名字,這個(gè)名字包含模式名以及表名, 它們之間用一個(gè)句點(diǎn)分開:你甚至可以省略模式名字,這時(shí)模式名將和用戶名同名。
OushuDB 創(chuàng)建和管理表空間 http://www.ahfyzs.com/content/21/1207/16/77773606_1007564365.shtml 2021/12/7 16:36:33
OushuDB 創(chuàng)建和管理表空間。OushuDB 里的表空間允許數(shù)據(jù)庫管理員在文件系統(tǒng)里定義那些代表數(shù)據(jù)庫對(duì)象的文件存放位置。此外,如果在創(chuàng)建對(duì)象時(shí)未給出TABLESPACE子句(顯式或通過default_tablespace),則它是為在數(shù)據(jù)庫內(nèi)創(chuàng)建的表和索引選擇的缺省表空間。pg_default是template1和template0數(shù)據(jù)庫的缺省表空間 (因此,這個(gè)表空間也將是任何其它數(shù)據(jù)庫的缺省表空間,除非在CREATE DATABASE 中通過TABLESPACE子句重寫)。