Thread: Re: question/suggestion Message-id: <493823B5.1030400@hogranch.com>

Re: question/suggestion Message-id: <493823B5.1030400@hogranch.com>

From
"chris wood"
Date:
> yet you propose dumbing down the database even farther, without any hope
of ACID

> compliance, without any transactional integrity, indeed, without even
really being

> relational ?

> at least, thats what I get from my first read of it.



OK so you are a theorist/perfectionist, I can respect that.  Perhaps what I
meant to say instead of "dumbing down the database" was "dumbing down the
use of SQL to the point where it is not much better that indexed-style reads
and writes".



Is my idea perfect? No, far from it, and if there are better ideas out there
then great, I hope they get pushed forward.



But I do believe my idea is far better than the alternative of sticking our
heads in the sand and hoping that cloud computing goes away and in the mean
time web developers are stuck using databases that only support very "dumbed
down" SQL sub-sets/derivatives like Google's GQL or  Amazon's SimpleDB query
syntax.



At a detailed level (which is NOT the direction I want this thread to go) I
do not agree with your statement that my proposal has no "hope of ACID
compliance or transactional integrity".  When the "slices" are stored back
to the cloud, this is the equivalent of a commit and the integrity thereof
is as good as what ever the underlying technology is.  Is the concurrency as
good as native Postgres?  Of course not. Is the commit/rollback flexibility
as good as native Postgres? Again no. But what's the alternative? Watch
cloud computing take off leaving Postgres with the reputation of "great
database software in yesterday's era of monolithic servers"?

Re: question/suggestion Message-id: <493823B5.1030400@hogranch.com>

From
John R Pierce
Date:
chris wood wrote:
> At a detailed level (which is NOT the direction I want this thread to=20
> go) I do not agree with your statement that my proposal has no =93hope=20
> of ACID compliance or transactional integrity=94. When the =93slices=94 a=
re=20
> stored back to the cloud, this is the equivalent of a commit and the=20
> integrity thereof is as good as what ever the underlying technology=20
> is. Is the concurrency as good as native Postgres? Of course not. Is=20
> the commit/rollback flexibility as good as native Postgres? Again no.=20
> But what=92s the alternative? Watch cloud computing take off leaving=20
> Postgres with the reputation of =93great database software in=20
> yesterday=92s era of monolithic servers=94?

even something as simple as a SERIAL sequence would be a nightmare in a=20
distributed cloud environment without a complex centralized arbitrer.=20
the same goes for most any other sort of update/query that depends on=20
consistency of data.

How do you reconcile a bank account when the money has been=20
simultaneously withdrawn from several ATMs at different locations at the=20
same time? "Please, sir, give us our money back?" ? I don't think the=20
banks would be happy with that implementation.

If the data is partitioned across the cloud ('one version of the=20
truth'), things like JOINs are very very difficult to implement=20
efficiently. take away JOINs and you might as well be doing simple ISAM=20
like we did back in the 70s before Codd and his Relational Database=20
concepts upon which SQL is based.

no, IMHO, the cloud people are better off inventing their own data=20
models and their own proprietary query languages suited to the=20
architecture. maybe SQL and its concepts of 'one version of the truth'=20
and 'data integrity' are quaint relics of another age, so be it.

Re: question/suggestion Message-id: <493823B5.1030400@hogranch.com>

From
Mark Kirkwood
Date:
John R Pierce wrote:
> chris wood wrote:
>> At a detailed level (which is NOT the direction I want this thread to
>> go) I do not agree with your statement that my proposal has no “hope
>> of ACID compliance or transactional integrity”. When the “slices” are
>> stored back to the cloud, this is the equivalent of a commit and the
>> integrity thereof is as good as what ever the underlying technology
>> is. Is the concurrency as good as native Postgres? Of course not. Is
>> the commit/rollback flexibility as good as native Postgres? Again no.
>> But what’s the alternative? Watch cloud computing take off leaving
>> Postgres with the reputation of “great database software in
>> yesterday’s era of monolithic servers”?
>
> even something as simple as a SERIAL sequence would be a nightmare in
> a distributed cloud environment without a complex centralized
> arbitrer. the same goes for most any other sort of update/query that
> depends on consistency of data.
>
> How do you reconcile a bank account when the money has been
> simultaneously withdrawn from several ATMs at different locations at
> the same time? "Please, sir, give us our money back?" ? I don't think
> the banks would be happy with that implementation.
>
> If the data is partitioned across the cloud ('one version of the
> truth'), things like JOINs are very very difficult to implement
> efficiently. take away JOINs and you might as well be doing simple
> ISAM like we did back in the 70s before Codd and his Relational
> Database concepts upon which SQL is based.
>
> no, IMHO, the cloud people are better off inventing their own data
> models and their own proprietary query languages suited to the
> architecture. maybe SQL and its concepts of 'one version of the truth'
> and 'data integrity' are quaint relics of another age, so be it.
>
>

Objecting to an idea because it is difficult to implement is not
necessarily a clincher - there are projects trying to adapt Postgres to
more cloud-like capabilities (e.g Greenplum, Netezza) - neither of these
are open source however. There is also Pgcluster, however I'm not sure
that counts as cloud-like in its architecture...

regards

Mark