Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Postgresql: split database between different machines

I want to partition a very large PostgreSQL 8.3 database. Quoting the manual,

Partitioning can provide several benefits:

...

Seldom-used data can be migrated to cheaper and slower storage media.

What's the right way to relocate tables to another media or computer? Adam

like image 868
Adam Matan Avatar asked Mar 01 '10 17:03

Adam Matan


1 Answers

What you are talking about is commonly referred to as Replication or Clustering, depending on how the system is set up.

What you want to do specifically is clustering, and you can do it on PostgreSQL.

The wiki lists some of the existing solutions:

  • Greenplum Database (formerly Bizgres MPP), proprietary. Not so much a replication solution as a way to parallelize queries, and targeted at the data warehousing crowd. Similar to ExtenDB, but tightly integrated with PostgreSQL.
  • GridSQL for EnterpriseDB Advanced Server (formerly ExtenDB)
  • sequoia (jdbc, formerly known as c-jdbc)
  • PL/Proxy - database partitioning system implemented as PL language.
  • HadoopDB - A MapReduce layer put in front of a cluster of postgres back end servers. Shared-nothing clustering.
like image 200
Esteban Küber Avatar answered Oct 27 '22 10:10

Esteban Küber