Jump to Navigation

Database

MySQL, PostgreSQL数据库

centos6.2源码安装couchbase

首先,couchbase依赖的组件很多,一般的系统不会自动安装,

并且许多依赖包都是官方repo中没有的,需要从第三方rpm下载站点下载安装。

这些情况导致couchbase全编译比较麻烦,下面需要一步步仔细操作,

预装包:

pyrex

repo-1.15版本

snappy 数据压缩/解压缩库

libtoolize

libcurl, libcurl-devel

erlang, 版本r14+

v8, v8-devel, 版本为v8 3.8+

icu, icu-devel

python-2.x

其中, erlang和snappy需要手动安装,无相应的rpm包。

下载编译工作源代码:

cd /serv/sources/

git clone https://github.com/membase/manifest.git

mkdir couchbase-git

cd couchbase-git

对数据库的VIEW机制的一点疑问

现在多数关系数据库都支持VIEW,但却对它们的实现机制有一点疑问。

假如有一个表table_1,然后创建一个视图,view_1,
create view as select * from table_1;

那么在使用view的时候与使用table_1时完全没有区别,那么在效率上有否有区别呢?

因为在使用view查询的时候,这个查询条件是给view的,view的处理有两种可能,

一种是把这个where条件转给table_1,那么,查询的时候,不需要读取不符合条件的记录。这种情况下效率与直接查询原有理论上相同。但问题是是否view一定能把这个查询条件传递给它所用的查询SQL上去?

第二种可能,相当于子查询方式使用给view的条件,
差不多像这样,
select * from (select * from table_1) where name='567';
这种情况,任何数据库都会对子查询有所优化,但这种优化是否能达到直接查询table_1的效率呢?

想到这个问题是因为像dblink和我之前写的mylink模块,从远程获取数据时,这两种情况应该有很大不同,需要考虑view在这种情况是否可用,使用的代价有多大。

Category:

PostgreSQL模块mylink

mylink模块已经提交到PostgreSQL专用开源项目站点, http://pgfoundry.org/projects/mylink/

Postgresql是一扩展性非常好的数据库,支持使用多种语言编写扩展模块,像C/C++, perl, python等。

mylink是在postgresql数据库中连接mysql,并执行mysql数据库查询的异构数据库扩展模块。

mylink实现了多个mysql连接,不同语句可指定不同连接功能。

实现执行过程切换mysql数据库功能。

实现有返回记录的查询

实现无返回记录的查询。

实现当前连接列表查询。

安装方法,下载mylink-1.0.tar.bz2

解压到postgresql-x.x.x/contrib/,并命名为mylink

cd mylink

简洁强大的pgbouncer

最近在项目上用到了postgresql数据库,并且需要的数据库连接数量相当大,需要达到1000个连接的数量级,甚至更多。如果直接在postgresql服务器上开这么多连接,会影响到它的性能吧。所以需要在应用与postgresql数据库之间添加一个代理。目前有两个比较好的代理,pgpool-2和pgbouncer,经过测试比较,发现只能pgbouncer 符合这个要求:能够模拟扩大数据库的最大连接数,如,pgsql开最大连接数为100,而pgbouncer开最大连接数为1000,那么在应用程序端看来,数据库提供了一个1000连接的功能。实际上,pgbouncer的1000个连接中,有些是共享pgsql连接的。

安装pgbouncer非常简单,

下载最新的pgbouncer-1.4版本,

./configure

make && make install

配置文件位于,INSTALL_PREFIX/etc/

另一个要注意的是,pgbouncer有一套自己的用户模式,需要自己设置。

ostgreSQL Performance and Maintenance (postgres 优化与维护)

转: http://ruimemo.wordpress.com/2010/03/31/postgresql-performance-and-maint...

PostgreSQL Performance and Maintenance (postgres 优化与维护)

每次看postgresql的设定,好像每次都忘记。过一段时间又要看。今天终于决定,开始blog吧。

postgresql 优化与维护

1. 硬件

数据库最重要的就是 I/O了。所以一切从I/O开始。

RAID: 这个基本不用说,数据库放RAID10上面,只读的备份数据库可以放RAID0,反正挂了没关系。谨记:数据库是Random Read

关系数据库开发共享库 HailDB

HailDB 是一个用来嵌入 InnoDB 数据存储引擎的开发共享库,提供非常棒、高质量和可靠的 InnoDB 数据库引擎的集成。你可以用它来开发数据库。

HailDB 刚刚发布了 2.0 版本(2010-8-3),详情请看这里

授权协议: GPLv2
开发语言: C/C++
操作系统: Mac OS UNIX BSD Linux

Category:

PostgreSQL 9.0新功能示例

PostgreSQL 9.0 release notes

This document showcases many of the latest developments in PostgreSQL 9.0, compared to the last major release – PostgreSQL 8.4. There are more than 200 improvements in this release. While all the important advances are explained and demonstrated, some of the more esoteric changes are not covered, but these are unlikely to be known issues for most users.

页面

订阅 RSS - Database


Main menu 2

by Dr. Radut