显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL research

公益是一辈子的事, I'm 德哥@Digoal, Just Do it!

 
 
 
 
 
 
为了让跟多的朋友了解PostgreSQL, 我将这些年对PG的使用和研究做成了一些体系的培训视频和一些专题视频.(免费观看和下载)

希望通过这些视频帮到一些朋友, 同时对视频中的错误点烦请读者指出以更正, 谢谢.

目前在更新的视频是<PostgreSQL 数据库管理 5天>和<PostgreSQL 性能优化 3天>.

在线观看地址 :

http://www.tudou.com/home/digoal/

培训视频源文件以及文档下载地址 : 

http://pan.baidu.com/share/home?uk=1982970774#category/type=0

转载请注明出处.

针对一些网友的反馈, 重新设计的培训内容如下, 由浅入深, 适合不同的人群. 包含

<PostgreSQL发展历程,社区介绍,资源介绍 2小时>

<PostgreSQL SQL基础 2天>

<PostgreSQL 数据库管理 3天>

<PostgreSQL 数据库备份与恢复, 数据复制, 负载均衡与高可用 3天>

作者  | 2014-2-22 10:19:30 | 阅读(4091) |评论(24) | 阅读全文>>

[置顶] 给PostgreSQL爱好者的参考资料

2011-8-21 8:32:39 阅读49126 评论16 212011/08 Aug21

推荐书籍:

概念书籍:

《PostgreSQL Introduction and Concepts》

开发书籍:

《PostgreSQL开发必备参考手册》

管理类书籍:

《PostgreSQL 9 Administration Cookbook》

《PostgreSQL 9.0 High Performance》

《PostgreSQL Server Programming》

《How PostgreSQL Processes a Query》

了解内核 :

http://www.postgresql.org/developer/backend/

http://wiki.postgresql.org/wiki/Backend_flowchart

《数据库查询优化器的艺术:原理解析与SQL性能优化》 - 海翔老师

《 PostgreSQL 内核分析》 - 彭老师

官方手册:

作者  | 2011-8-21 8:32:39 | 阅读(49126) |评论(16) | 阅读全文>>

[置顶] 佛说摩诃般若波罗蜜多心经

2013-7-26 18:04:09 阅读3068 评论3 262013/07 July26

转载自<菩提树下>

http://www.djier.com

般若波罗蜜多心经

观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。

舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。

舍利子,是诸法空相,不生不灭,不垢不净,不增不减。

是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。

无无明,亦无无明尽,乃至无老死,亦无老死尽。

无苦集灭道,无智亦无得。

以无所得故,菩提萨埵,依般若波罗蜜多故,心无挂碍,无挂碍故,无有恐怖,远离颠倒梦想,究竟涅磐。

三世诸佛,依般若波罗蜜多故,得阿耨多罗三藐三菩提。

故知般若波罗蜜多,是大神咒,是大明咒,是无上咒,是无等等咒,能除一切苦,真实不虚。

故说般若波罗蜜多咒,即说咒曰:

揭谛揭谛 波罗揭谛 波罗僧揭谛 菩提萨婆诃。

作者  | 2013-7-26 18:04:09 | 阅读(3068) |评论(3) | 阅读全文>>

instagram use solr instead postgresql gis

2014-10-31 17:28:44 阅读17 评论0 312014/10 Oct31

instagram的技术点可参考 :

http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of

从文章来看, 在地理位置搜索方面, 他们使用了solr.

也算专车专用吧.

For our geo-search API, we used PostgreSQL for many months, but once our Media entries were sharded, moved over to using Apache Solr. It has a simple JSON interface, so as far as our application is concerned, it’s just another API to consume.

作者  | 2014-10-31 17:28:44 | 阅读(17) |评论(0) | 阅读全文>>

mongo_fdw enhanced by enterprisedb

2014-10-31 16:57:50 阅读18 评论0 312014/10 Oct31

主要增加了可写功能, 连接池功能, 更新了最新的C驱动.

有需要的朋友可以一试.

MongoDB Foreign Data Wrapper for PostgreSQL

This MongoDB extension implements the PostgreSQL's Foreign Data Wrapper.

Please note that this version of mongo_fdw only works with PostgreSQL Version 9.3 and greater.

Installation

The MongoDB FDW depends on the official MongoDB C Driver version 0.8 and includes it as a git submodule. If you are cloning this repository for the first time, be sure to pass the --recursive option to git clone in order to initialize the driver submodule to a useable state.

If have checked out this project

作者  | 2014-10-31 16:57:50 | 阅读(18) |评论(0) | 阅读全文>>

mysql_fdw enhanced by enterprisedb

2014-10-31 16:52:47 阅读13 评论0 312014/10 Oct31

在enterprisedb的github下找到的mysql_fdw, 有一些增强.

例如添加了连接池, 增加了可写功能, 还增加了where, column的下发. 以及prepared statement.

有兴趣的朋友可以试一试.

MySQL Foreign Data Wrapper for PostgreSQL

This PostgreSQL extension implements a Foreign Data Wrapper (FDW) for MySQL.

Please note that this version of mysql_fdw only works with PostgreSQL Version 9.3 and greater, for previous version support please download from PG_92 branch.

We have added a number of significant enhancements to the mysql fdw, some of the major enhancements are listed in the “enhancements” section of this document.

1. Installation

To compile the 

作者  | 2014-10-31 16:52:47 | 阅读(13) |评论(0) | 阅读全文>>

EnterpriseDB pg_hibernator like combined pg_prewarm & pg_buffercache

2014-10-31 16:45:42 阅读14 评论0 312014/10 Oct31

类似pg_prewarm和pg_buffercache的结合产品, pg_prewarm用于将指定的对象对应的数据块加载到shared buffer,

pg_buffercache记录当前sharedbuffer的使用情况, 包括filenode, blockid等信息.

pg_hibernator则是结合了两者的一个独立extension, 可以在关闭数据库时将block id的信息保存到文件, 在启动时读这个文件并将block加载到shared buffer.

与pgfincore不同的是, pg_hibernator是将block加载到shared buffer, 而不是os cache.

Postgres Hibernator

This Postgres extension is a set-it-and-forget-it solution to save and restore the Postgres shared-buffers contents, across Postgres server restarts.

It performs the automatic save and restore of database buffers, integrated with database shutdown and startup, hence reducing the durations of database maintenance windows, in effect increasing the uptime of your applications.

作者  | 2014-10-31 16:45:42 | 阅读(14) |评论(0) | 阅读全文>>

PostgreSQL database reliability & high availability in cloud thinking

2014-10-31 16:13:02 阅读13 评论0 312014/10 Oct31

我前面写了一篇关于基于docker的云环境思考, 现在问题来了, 如果用作云数据库的话, 还要考虑更多的事情.

例如数据库的可靠性如何来保障.

RDS ON AWS提供了很好的例子.

1. 一种方法是依靠存储的高可靠, 假设云存储是可靠的(例如存储多份拷贝, 挂载点冗余).

将数据文件存放在云存储, 当宿主机挂掉时, 在其他宿主机启动数据库.

这种方法的注意事项, 必须确保数据的一致性, 例如数据库调用fsync接口时, XLOG必须持久化到云存储里面.

如果云存储无法保证这点, 那么应该把XLOG放在宿主机本地, 同时将归档写入云存储. 并且云存储应该提供快照功能, 在宿主机挂掉时, 可以在其他宿主机将数据文件回退到以前的快照, 并使用归档恢复数据库并激活. (这样做会丢失未归档的事务)

2. 另一种方法是使用本地存储来存储数据文件(假设云存储是不可靠的), 同时依靠数据库自身的同步流复制来实现高可用.

这个方法也存在缺陷, 例如不写归档的操作(如HASH索引)无法被复制, 如果主节点DOWN机, 以同步STANDBY节点激活的话, 需要重建HASH索引.

作者  | 2014-10-31 16:13:02 | 阅读(13) |评论(0) | 阅读全文>>

docker based cloud thinking

2014-10-31 14:38:07 阅读11 评论0 312014/10 Oct31

关注Docker有段时间了, 最近在搞去存储的事情, 会有一堆的小数据库脱离存储, 使用流复制来做HA.

对于小型数据库来说, 可以考虑放到云环境去, 但是以前考虑到虚拟化带来的性能损耗有点大, 所以一直未考虑过在虚拟化中使用数据库.

docker刚好解决了性能损耗这块的问题, 利用了Linux的cgroup和chroot特性来实现namespace的隔离, 将性能损耗降到几乎为0.

在云环境中, 数据库和其他应用的显著差别是数据存储这块.

数据库要求数据存储的可靠性, 持久化, 原子性, 一致性. 所以对存储的要求比较高.

另一方面, 数据库对CPU的要求也比较高, 在处理高并发的请求或者复杂的查询时, 耗费的CPU是比较多的.

网络方面, 当数据库有大量的数据进出时, 要求也比较高.

最后是数据的安全, 虚拟机和虚拟机之间的资源隔离也是很重要的.

下面假设我们要以docker 为基础部署云环境, 大概需要考虑哪些因素, 大致的框架如何, 谈一点个人想法, 如图 :

现在大多数的IaaS云产品可能和这个类似, 例如openstack, Eucalyptus, opennebula, cloudstack, kubernetes.

对于openstack产品来说docker 和KVM这类虚拟化也差不多, 只是docker只能运行Linux, kvm可以允许windows, freebsd, linux等.

几大模块的功能 :

作者  | 2014-10-31 14:38:07 | 阅读(11) |评论(0) | 阅读全文>>

PostgreSQL column based storage extension - IMCS

2014-10-30 16:55:27 阅读15 评论0 302014/10 Oct30

IMCS是PostgreSQL的一个列存储扩展插件, 它并没有改变PostgreSQL的核心代码.

IMCS使用共享内存来存储数据, 所以使用IMCS后, 数据量受到内存大小的限制.

IMCS不能使用普通的SQL操作列存储的数据, 只能使用imcs定义好的函数, 或者你自己写扩展函数.

IMCS允许某些查询使用多核, 所以对某些查询的效率非常高.

因为使用低级的MVCC, 所以IMCS的并发能力相比PG普通的表操作差很多.

优缺点 :

Advantages and disadvantages of IMCS approach:

+ Fast execution based on vector operations

+ Parallel execution of query (for some operations)

+ No changes in PostgreSQL core (just standard extension)

+ No MVCC overhead (MURSIW isolation level)

+ No disk IO (in-memory store)

+ Optimized for timeseries (massive operations with time slices)

- Requires special queries (standard SQL queries can not be executed for IMCS data)

作者  | 2014-10-30 16:55:27 | 阅读(15) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

浙江省 杭州市 狮子座

 发消息  写留言

 
Free PostgreSQL Support.
 
QQ276732431
E-Mail digoal@126.com
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 

FlagCounter

 
 
模块内容加载中...
 
 
 
 
 

新浪微博

 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2014

创建博客 登录  
 加关注