如何扩大postgresql存储空间

如何扩大postgresql存储空间,第1张

1 概述
cstore_fdw实现了 PostgreSQL 数据库的列式存储。列存储非常适合用于数据分析的场景,数据分析的场景下数据是批量加载的。
这个扩展使用了Optimized Row Columnar (ORC)数据存储格式,ORC改进了Facebook的RCFile格式,带来如下好处:
压缩:将内存和磁盘中数据大小削减到2到4倍。可以扩展以支持不同压缩算法。
列投影:只提取和查询相关的列数据。提升IO敏感查询的性能。
跳过索引:为行组存储最大最小统计值,并利用它们跳过无关的行。
2 使用
cstore_fdw的安装和使用都非常简单,可以参考官方资料。
thubcom/citusdata/cstore_fdw
注)注意cstore_fdw只支持PostgreSQL93和94 。
下面做几个简单的性能对比,看看cstore_fdw究竟能带来多大的性能提升。
21 数据加载
211 普通表
CREATE TABLE tb1
(
id int,
c1 TEXT,
c2 TEXT,
c3 TEXT,
c4 TEXT,
c5 TEXT,
c6 TEXT,
c7 TEXT,
c8 TEXT,
c9 TEXT,
c10 TEXT
);
注:要和普通表的全表扫描作对比,所以不建主键和索引。
[postgres@node2 chenhj]$ time psql -p 40382 -At -F, -c "select id,id::text,id::text,id::text,id::text,id::text,id::text,id::text,id::text,id::text,id::text from generate_series(1,10000000) id"|time psql -p 40382 -c "copy tb1 from STDIN with CSV"
COPY 10000000
156user 100system 6:4239elapsed 0%CPU (0avgtext+0avgdata 7632maxresident)k
776inputs+0outputs (17major+918minor)pagefaults 0swaps
real 6m42402s
user 0m15174s
sys 0m14904s
postgres=# select pg_total_relation_size('tb1'::regclass);
pg_total_relation_size
------------------------
1161093120
(1 row)
postgres=# \timing
Timing is on
postgres=# analyze tb1;
ANALYZE
Time: 11985070 ms
插入1千万条记录,数据占用存储大小116G,插入耗时6分42秒,分析耗时12秒。
212 cstore表
$ mkdir -p /home/chenhj/data94/cstore
CREATE EXTENSION cstore_fdw;
CREATE SERVER cstore_server FOREIGN DATA WRAPPER cstore_fdw;
CREATE FOREIGN TABLE cstb1
(
id int,
c1 TEXT,
c2 TEXT,
c3 TEXT,
c4 TEXT,
c5 TEXT,
c6 TEXT,
c7 TEXT,
c8 TEXT,
c9 TEXT,
c10 TEXT
)
SERVER cstore_server
OPTIONS(filename '/home/chenhj/data94/cstore/cstb1cstore',
compression 'pglz');
[postgres@node2 chenhj]$ time psql -p 40382 -At -F, -c "select id,id::text,id::text,id::text,id::text, >公元前271年,赵奢担任当时赵国的最高税务长官。赵奢在中国赋税思想史上的主要贡献,是他坚持以法治税。他认为,以法治税是以法治国的一项重要内容,破坏税法会导致国家法制削弱,而国家的法制一旦遭到破坏,社会就会陷入混乱,国家就会衰弱,诸侯就会乘机进攻,政权就会灭亡。他指出:“不奉公则法削,法削则国弱,国弱则诸侯加兵,诸侯加兵是无赵也。”赵奢有法律面前人人平等的民主思想。他认为,税法不仅平民百姓必须遵守,贵族官僚也必须履行其纳税义务,这就是执行公平。做到了执行公平,国家就会强盛,政权就会巩固。赵奢掌管赵国赋税期间,“国赋大平,民富而府库实”,也为后世树立了一个极为难得的执法如山的税官形象。
朱元璋为了严肃茶叶专卖制度,增加赋税,执法如山,就是附马犯法,也是严惩不贷。
洪武末年,附马都尉欧阳伦(安庆公主的丈夫)奉使至川、陕,眼见川茶私运出境销售,可赚大钱,便利令智昏,自恃皇亲国戚,不顾茶禁之严,派管家周保大做起私茶生意。对欧阳伦这种明目张胆的犯法行径,边疆大吏不敢过问,陕西布政使(相当于省长),还趁机巴结,要下属为其"开放绿灯",并提供运茶车辆等种种方便。某次周保贩私茶至兰县渡河,河桥司巡检依法前往稽查,反被辱打。这位河桥小吏气愤不过,便大着胆子向朱元璋告发了欧阳伦的不法行为。虽然欧阳伦是朱元璋的爱婿,但朱元璋懂得"有法必行,无信不立"的道理,知道不能私废公法,便将欧阳伦赐死,将周保等诛杀,茶货没收入官。
唐太宗是唐王朝的主要开创者,也是我国封建社会中少有的一代明君,在位23年,实现了为后世称道的“贞观之治”。细读史藉,就可看出他的文治武功,比秦皇汉武更加辉煌。唐朝的治国方略,典章制度,多是在他执政时制定的。唐朝享国290年之久,与他所奠定的基础有着重要关系。他在治理赋税力役方面值得称道。
他看到隋炀帝在赋役法之外横征暴敛,以致国亡身死的悲剧,非常注意坚持依法征收,不准去外征敛。贞观二年,他对朝集使说:“根据土地生产情况确定贡赋,已记载在从前的典章制度里,要用本州生产的物品来献给朝廷。近来,听说各州的都督、剌史追求名声,本地物产,有的嫌其不好,越境到外地去寻求,互相仿效,成了风气,很是扰民。应当改掉这种弊病,不得再这样做。”按照当时的规定,男丁16岁以上至21岁为中男,不算成丁,不服兵役,成丁才服兵役。

测试方法:
1、 dd bs=64k count=4k if=/dev/zero of=test
没有加任何参数,dd默认的方式不包括“同步(sync)”命令。也就是说,dd命令完成前并没有让系统真正把文件写到磁盘上。所以以上命令只是单纯地把这128MB的数据读到内存缓冲当中(写缓存[write cache])。所以你得到的将是一个超级快的速度。因为其实dd给你的只是读取速度,直到dd完成后系统才开始真正往磁盘上写数据,但这个速度你是看不到了。所以如果这个速度很快,没有什么作用。
2、dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
加入这个参数后,dd在执行时每次都会进行同步写入 *** 作。也就是说,这条命令每次读取64k后就要先把这64k写入磁盘,然后再读取下面这64k,一共重复128次。这可能是最慢的一种方式了,因为基本上没有用到写缓存(write cache)。这种方法是最严格的,可以模拟数据库的插入 *** 作,所以很慢,也是用来测试vps硬盘性能标准的一条标杆,一般来说测试结果,如果超过10M,对正常建站就无影响。超过50M,就是非常给力状态。
腾讯云
[root@VM_37_104_centos ~]# time dd if=/dev/zero of=testdbf bs=8k count=300000
300000+0 records in
300000+0 records out
2457600000 bytes (25 GB) copied, 998703 s, 246 MB/s
real 0m10027s
user 0m0071s
sys 0m4413s
[root@VM_37_104_centos ~]# time dd if=/dev/zero of=test bs=64k count=16k oflag=dsync
16384+0 records in
16384+0 records out
1073741824 bytes (11 GB) copied, 203013 s, 529 MB/s
real 0m20308s
user 0m0014s
sys 0m2724s
天互数据 为你解答,希望能帮到你


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12965446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存