Next Previous Contents

8. PostgreSQL 支持超过 200 Gig 的超级资料库

早已有很多大公司将 PostgreSQL 用于大型的资料库。在此提供以下技考︰

8.1 中央处理器种类 32 位元或 64 位元

32 位元处理器的电脑在资料库超过 5 GigaByte 时表现会迅速下降。你可用 32 位元处理器执行 30 gig 的资料库,但表现会下降。32 位元机器受到最多 2 GB 内存、2 GB 文档系统及操作系统其他方面的限制。使用 SGI、IBM、或 HP 为 Linux 特制的文档系统或 ext3-fs 来在 32 位元机器上支持大过 2 GB 的文档大小。

对极大型的资料库来说,我强烈建议你使用 64 位元处理器,如 Digital Alpha、Sun Ultra-sparc 64 位元处理器、SGI 64 位元处理器、Intel Mercel IA-64 处理器、HPUX 64 位元电脑、IBM 64 位元电脑。使用 64 位元的处理器来编译 PostgreSQL,它就可以处理大型的资料库及查询。查询大型表格和资料库的速度会比 32 位元的电脑快数倍。64 位元电脑的优点是你有很大的记忆位址 (memory addressing space) 和操作系统可处理很大的文档系统、为大型资料库提供较佳表现、 支持更多内存、能力更强……

(译按︰2.4 的 Linux 核心已突破 2 GB 文档大小的限制,并支持最多 64 GB 内存。)

8.2 多处理器

要使用大型的资料料,你最好使用内有 4、16 或 32 伙处理器的 SMP 电脑。另一方面,你也可使用 4 至 5 部单处理器电脑,而把你的资料库分割 (partition) 为 4 至 5 个分开的资料库,每个在一部电脑运行。每个处理器都以高速 (100MBits)的乙以太网络卡连接。例如,你的资料库中有二百个表格, 你可把它们分为四个资料库,每个有五十个表格。这样,你把工作平均分配给 4 部分开的电脑。这是一个比四处理器电脑便宜的方案。 你可使用?跨资料库的查询'、在区域网络使用 NFS、为唯读表格?CREATE VIEW'来完成这工作。每个处理器都可“见到”所有资料库,即全部 200 个表格。在未来,PostgreSQL 会支持?跨资料库的查询'(已经在 TODO 名单),在将推出的 7.1 版出现。例如,使用代号 a、b 作表格名称作的跨资料库查询会类似  


select a.col1, a.col2, b.col4, b.col7
from
    database1.my_tablea a, database2.my_tableb b
where
    a.col1 = b.col3 and
    a.col4 = b.col9;

update my_tablea
set
    col1 =  b.col2
from
    database1.my_tablea a, database2.my_tableb b
where
    a.col4 = b.col9;

8.3 复制 (Replication) 伺服器

为大型企业/商业公司而设的复制伺服器由 PostgreSQL Inc 作商业贩卖。你可使用复制伺服器来提供重覆的资料及高度可得性 (availability)。复制伺服器是一件复杂、先进的产品,因此需要金钱。


Next Previous Contents