Search Postgresql Archives

Re: Replication and coding good practices

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

 



On Mon, Jun 29, 2009 at 07:11:43PM +0800, Craig Ringer wrote:
> On Sun, 2009-06-28 at 09:01 -0700, David Fetter wrote:
> > > Are there any rules of thumb to consider for making an application
> > > easier to work with a "general" replication solution?
> > > 
> > > The applications I mostly deal with are e-commerce sites.
> > 
> > It really depends on what replication solution you choose, along with
> > the environment you're deploying into.
> 
> ... and why you need replication. Reliability/Availability? Data storage
> redundancy? Performance? And if performance, read-mostly performance or
> write-heavy performance?

It's this kind of discussion that you might want to hire experts to
help with :)  Commandprompt, Endpoint, OmniTI and the outfit I work
for, PostgreSQL Experts <http://www.pgexperts.com> would be examples.

> > That said, I've noticed that the things that are generally good
> > practice help you even more when you're doing replication.
> > 
> > Practices I've seen help directly:
> > 
> > * Separate read users and code from write users and code.
> > 
> > * Separate DDL from both of the above.
> > 
> > * Make DDL changes part of your deployment process and only allow them
> >   in files which track in your SCM system.
> 
> Version your schema, storing the schema version in a 1-row table or
> even as a stable function.  This makes it much easier for deployment
> tools or staff to easily see what needs to be done to get the schema
> and app to the latest version - there's no "what the hell is the
> current state of this thing, anyway?"  to worry about.

When versioning schemas, make sure your deployment tools are always
atomic and that the schema version can't be modified by anything but
those tools.

Cheers,
David.
-- 
David Fetter <david@xxxxxxxxxx> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@xxxxxxxxx

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[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