Search Postgresql Archives

Re: 'Official' definition of ACID compliance?

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

 



I think there is a reason that there is no mention at all of ACID in the
ANSI/ISO SQL standard.  It is incredibly hard to achieve.  Transactions
are not enough and primary + foreign keys are not enough and check
constraints are not enough.  You can have all these things operating
correctly but if there is some flaw in the database model, it still
fails to maintain integrity.

And you may have a wonderful model that is 100% correct and all the
relationships defined correctly with every needed constraint in place.
And then someone comes along and truncates a table or does a bulk import
of crappy data and you have lost it.

I think that ACID is a goal that is impossible to guarantee.  But we
should design with that goal in mind.

Anyway, Codd's 12 rules are a much better and far clearer definition of
relational database integrity.  ACID is some sort of nebulous goal.
Codd's 12 rules are a clear definition of how to have relational
integrity.

For instance, if you fail to define a primary key for a table, you have
broken one of Codd's rules and you deserve the bad things that are going
to happen to you down the road.

> -----Original Message-----
> From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-
> owner@xxxxxxxxxxxxxx] On Behalf Of Scott Ribe
> Sent: Friday, January 06, 2006 11:11 AM
> To: Russ Brown; pgsql-general@xxxxxxxxxxxxxx
> Subject: Re: [GENERAL] 'Official' definition of ACID compliance?
> 
> > ACID
> > compliance requires that either all or none of the operations in the
> > transaction happen. In this case one of them does not.
> 
> So maybe it's Durability that's violated in your example or Atomicity
;-)
> 
> --
> Scott Ribe
> scott_ribe@xxxxxxxxxxxxxxx
> http://www.killerbytes.com/
> (303) 665-7007 voice
> 
> 
> 
> ---------------------------(end of
broadcast)---------------------------
> TIP 4: Have you searched our list archives?
> 
>                http://archives.postgresql.org


[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