2014年postgres中国用户大会记录

Day1

议题1:腾讯大数据平台 赵伟(腾讯)

腾讯把postgres引入大数据平台,主要是用来处理在线计算(TRC)与离线计算(TDW)的结果,目前腾讯共有大概90多台左右的pg集群。

TDBank:数据源接入 在线消息 离线文件  BinLog

              数据缓存处理    数据传输缓存分类    格式分配与加密传输(加密传输是为了解决公网传输,因为业务遍布全球的原因)

              数据处理            TRW(实时计算)    TDW(离线计算)

               数据存储                            postgreSQL

TDW分布式数据仓库:

                集成开发环境                        任务统一调度

   TDBank                 Hive/Pig查询处理引擎(Hive:http://baike.baidu.com/subview/699292/10164173.htm)

                计算引擎 MapReduce Spark

                                                                         Hadoop集群        PG小数据处理        HBase实时计算

                 存储引擎   HDFS(http://baike.baidu.com/view/3061630.htm)

TDW项目地址:https://code.csdn.net/Tencent/tdw

TDW详情介绍:http://code.csdn.net/news/2819892

Hive项目地址:http://hive.apache.org/

TDW:Hive优化

TDW:计算优化,大集群内任务归属不同业务间影响。上千并发,使用Hyperloglog基数估值算法优化count distinct操作性能估值.

论文《HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm》,解读Cardinality Estimation算法(第四部分:HyperLogLog Counting及Adaptive Counting)

功能扩充:基于角色的权限管理、兼容Oracle的分区功能、窗口函数、多维分析功能、公用表达式:CTE、DML-delete/update入库数据校验.

易用性:命令行工具、DB存储引擎、SQL语法细节、TDW集成开发环境

性能优化:Hash Join、按行Split、Oracle by limit优化、查询计划并行优化、元数据重构

Oracle窗口函数:http://www.blogjava.net/pengpenglin/archive/2008/06/28/211334.html

多维分析:http://www.cnblogs.com/jinspire/archive/2011/11/23/2259718.html

元数据:http://zh.wikipedia.org/zh-cn/%E5%85%83%E6%95%B0%E6%8D%AE

TDW存储优化:减少TDW Hive元数据压力、减少HDFS NamePlace压力、增强HDFS Raid效果

HDFS Raid:http://wiki.apache.org/hadoop/HDFS-RAID

List分区转换为Range分区——Range分区历史合并——分区合并之后HDFS文件合并

TDW实时计算:数据接入TDBank——实时计算应用——SQL/Pig-latin,Jstorm集群(Storm通过java改写)

作者的开源项目zhparser(是一个PostgreSQL中文分词的插件,通过它,可以使PostgreSQL支持中文的全文检索,详情请看http://amutu.com/blog/zhparser/)、https://github.com/amutu/zhparser/


Postgres-XC 的简介及最新进展 铃木幸一(NTT Intellilink Fellow)

What is Postgres-XC? http://francs3.blog.163.com/blog/static/4057672720125315352442/

项目地址:http://sourceforge.net/projects/postgres-xc/

Wiki:http://postgresxc.wikia.com/wiki/Postgres-XC_Wiki

Postgres-XC 1.0.1 Documentation:http://postgres-xc.github.io/1_0/index.html

根据错误去源码找:把错误的提示复制出来去源码里面找,然后看对应的上下文代码。

高性能Postgres的实践 朱贤文

CPU:cache越大越好,More Cache == more better

less CPUs,more core 1*12 core better than 2*6 cores

RAM:多多益善,越多越好;尽量使用ECC内存

IO:IOPS-band width:延迟低的硬件、有后备电池或电源;BBU。尽量使用本地存储设备,避免使用远程设备(no nfs and cifs)

如何分割IO: $PGDATA/pg_xlog:SSDs(SLC)、EXT2;$PGDATA/pg_log:syslog、$PGDATA/pg_stat_tmp:TMPfs(索引是多读少写:TMPfs);$PGDATA/base:ZFS、EXT4、xfs(推荐),不推荐Btrfs,不要使用ext3。

表空间(应该使用),相似的对象,索引/SSD(MLC),历史表/报表,ZFS/ext4/xfs;应该避免基于硬件的重复数据删除,SSD/HD不要混用(应该使用表空间来隔离),NFS,GlusterFS,FUSE,remote* storage.

存储子系统:DAS:JBOD、local disk;NAS:NFS、CIFS;SAN:FC SAN、IP SAN

Server:cpu,memory,少disk

Storage system:cpu,memory,多disk

DAS:开放系统的直连式存储,延迟小,速度快;

NFS/CIFS:不是考虑的选项,也不应该用于pg数据库

SAN:storage area network:速度快,IOPS;容量大,高级功能

文件系统:Ext4/ZFS/XFS/NTFS/VXFS

Mount option:noatime、Nodiratime、data=writeBack

Disk Cache:Need disabled

Filesystem block:8KB match db block

应用程序行为:DDS/OLAP非常少量运算量巨大的长连接,设置work_mem多些,先满足effective_cache,再满足shared_buffers

OLTP:大量短连接,考虑使用connection pool、将shared_buffer设置大些。

读写特性:如果读多autovacum不要太频繁,如果写多check point做快一点

升级策略:postgreSQL版本:xx.yy.zz;xx.yy主版本(8.4,9.2,9.3),zz次版本(9.1.4)

升级到最新版本:9.3.*——9.3.5;9.2.*——9.2.9

主版本升级:数据结构不再向后兼容;Dump/load;pg_upgrade;

富版本升级:替换二进制/可执行程序;启动数据库

 14:00 - 17:00   Postgre DBA 管理  萧少聪 (神州立诚 CTO)

PostgreSQL术语:

通用数据库对象名称:

table or index:relation

row:Tuple

colcumn:attribute

存储对象名称:

data block:page(when block is on disk)

Page:buffer(when block is in memory)


你可能感兴趣的:(PostgreSQL,postgres)