Search Postgresql Archives

Re: Partitioning Vs. Split Databases - performance?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2006-12-21 at 15:22 -0800, Benjamin Smith wrote:
> On Thursday 21 December 2006 14:41, Joshua D. Drake wrote:
> >You should read up on schemas and how they work. Plus the
> > addition of schemas and table spaces means you can infinite scaling
> > within the confines of your hardware itself.
> 
> Ok, so I'd like you to correct me if I'm wrong: 
> 
> 1) Schemas operate within a database. A schema is analogized as a filesystem 
> directory in the docs, except that you can't recurse schemas. 

Kind of... think of a schema as a database without a new connection :).

catalog/cluster
   ->[n] databases
      ->[n] schemas (of which public is default) 
         ->[n] objects (tables, functions, views etc..)

By default, your schema is public. You can create a new schema called
customer_one. Within public you could have table public.accounts and
within customer_one you could have customer_one.accounts. They are
isolated and contain seperate data sets.

You can set the schema based on the user connecting or as part of your
queries with set search_path. E.g;

set search_path =  customer_one;

select * from accounts;

Will only grab customer_one.accounts. 

Thus giving virtual multiple database access without multiple databases.

> 
> 2) A database runs on one machine, with the following addenda: 
> 	A) slony lets you copy that database to another system, 

Replicate, not copy (being pedantic but it is for good reason).

> 	B) pgtool lets you duplicate the database if you're real careful around 
> updating with unique IDs and aggregate functions, 

You mean pgpool? Yeah, but don't use it for that, use Slony or
replicator instead.

> 	C) you can essentially do cross-machine RAID so that if your primary DB gets 
> hosed, you can fire up the backup machine and continue working. 

With Slony, Replicator or PITR yes.

> 	D) pg-cluster, a synchronous clustering solution appears to be new/unstable, 
> doesn't appear to be current to 8.x, and takes a performance hit on writes. 

Yes.
> 
> 3) Thus, any service that splits up a database (EG: a schema) is subject to 
> all the limitations outlined in #2. 

Well and subject to your app understanding what to do, when.

Joshua D. Drake


> 
> Did I miss anything? 
> 
-- 

      === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
             http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux