怎么安裝和使用Greenplum開源的列式存儲zedstore-創(chuàng)新互聯(lián)

本篇內容介紹了“怎么安裝和使用Greenplum開源的列式存儲zedstore”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網站建設、域名、網絡空間、網站托管、服務器租用、企業(yè)網站設計、鄰水網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

安裝
從Github上下載源碼,與普通PG一樣,編譯安裝即可

[root@localhost postgres-zedstore]# ./configure --enable-debug --with-python --with-perl --with-tcl --with-gssapi --with-pam --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt --enable-dtrace --enable-depend --enable-cassert --with-systemd CFLAGS="-O0 -DOPTIMIZER_DEBUG -g3 -gdwarf-2" --prefix=/appdb/zedstore
checking build system type... x86_64-pc-linux-gnu
...
[root@localhost postgres-zedstore]# make -j4
...
[root@localhost postgres-zedstore]# make install
...
PostgreSQL installation complete.

Heap vs ZedStore
創(chuàng)建用戶,初始化數據庫

[zedstore@localhost ~]$ initdb -E utf8 -D /data/zedstore/testdb
The files belonging to this database system will be owned by user "zedstore".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.UTF-8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
creating directory /data/zedstore/testdb ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... PRC
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
    pg_ctl -D /data/zedstore/testdb -l logfile start

下面來對比一下head am和zedstore的性能差異
Heap

testdb=# create table t_heap(id int,c1 int,c2 varchar(20));
CREATE TABLE                           
testdb=# insert into t_heap select x,x,'c2'||x from generate_series(1,5000000) as x;
INSERT 0 5000000
testdb=#

執(zhí)行查詢

testdb=# explain analyze select avg(id),sum(c1),max(c2) from t_heap;
                                                                  QUERY PLAN                                      
------------------------------------------------------------------------------------------------------------------
----------------------------
 Finalize Aggregate  (cost=69209.94..69209.95 rows=1 width=72) (actual time=964.313..964.314 rows=1 loops=1)
   ->  Gather  (cost=69209.71..69209.92 rows=2 width=72) (actual time=963.978..966.938 rows=3 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=68209.71..68209.72 rows=1 width=72) (actual time=929.220..929.220 rows=1 loo
ps=3)
               ->  Parallel Seq Scan on t_heap  (cost=0.00..52584.55 rows=2083355 width=17) (actual time=0.094..25
6.014 rows=1666667 loops=3)
 Planning Time: 17.157 ms
 Execution Time: 968.461 ms
(8 rows)
testdb=#

執(zhí)行時間為968ms

空間占用

testdb=# select pg_size_pretty(pg_table_size('t_heap'));
 pg_size_pretty 
----------------
 248 MB
(1 row)

ZedStore

testdb=# create table t_zedstore(id int,c1 int,c2 varchar(20)) using zedstore;
CREATE TABLE                           
testdb=# insert into t_zedstore select x,x,'c2'||x from generate_series(1,5000000) as x;
INSERT 0 5000000
testdb=#

執(zhí)行查詢

testdb=# explain analyze select avg(id),sum(c1),max(c2) from t_zedstore;
                                                                   QUERY PLAN                                     
------------------------------------------------------------------------------------------------------------------
-------------------------------
 Finalize Aggregate  (cost=24917.50..24917.51 rows=1 width=72) (actual time=1341.238..1341.239 rows=1 loops=1)
   ->  Gather  (cost=24917.27..24917.48 rows=2 width=72) (actual time=1341.046..1343.387 rows=3 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=23917.27..23917.28 rows=1 width=72) (actual time=1328.432..1328.432 rows=1 l
oops=3)
               ->  Parallel Seq Scan on t_zedstore  (cost=0.00..18968.87 rows=659787 width=17) (actual time=0.702.
.837.075 rows=1666667 loops=3)
 Planning Time: 0.643 ms
 Execution Time: 1343.612 ms
(8 rows)
testdb=#

使用zedstore的時間是1343ms,比起heap方式要慢接近40%。

空間占用

testdb=# select pg_size_pretty(pg_table_size('t_zedstore'));
 pg_size_pretty 
----------------
 97 MB
(1 row)
testdb=#

不過使用zedstore,空間占用倒是只有原來的40%左右。

“怎么安裝和使用Greenplum開源的列式存儲zedstore”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)-成都網站建設公司網站,小編將為大家輸出更多高質量的實用文章!

網站名稱:怎么安裝和使用Greenplum開源的列式存儲zedstore-創(chuàng)新互聯(lián)
本文來源:http://muchs.cn/article6/ddddig.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供商城網站、軟件開發(fā)、關鍵詞優(yōu)化服務器托管App開發(fā)、小程序開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網站