Re: postgresql versus riak for a global exchange - Mailing list pgsql-general

From Bill Moran
Subject Re: postgresql versus riak for a global exchange
Date
Msg-id 20150105114258.9a68639f6cf0edd573cfa441@potentialtech.com
Whole thread Raw
In response to postgresql versus riak for a global exchange  (xu xiut <xiut.xu@gmail.com>)
List pgsql-general
On Mon, 5 Jan 2015 11:37:37 -0500
xu xiut <xiut.xu@gmail.com> wrote:

> Hello, I am looking at creating a toy project which may turn into an actual
> business if I'm lucky, the ideal is generally just an exchange for people
> to trade some type of asset.
>
> I'm looking at using either PostgreSQL or Riak, and I'm wondering if there
> are opinions and suggestions that someone would be willing to share with me
> when evaluating databases.
>
> This is the first time I've actually considered something besides
> PostgreSQL. Riak 2.0 now offers strong consistency and I really respect the
> community and the work that has gone into the project. It seems like it
> would be easy to replicate across multiple data centers.

The big difference between an RDBMS like Postgres and a document store like
Riak is data consistency. I'm talking about something completely different
than the "strong consistency" promise they are now making.

It's very easy to explain: Can you make foriegn keys in Riak? Check
constraints? Data type constraints (such as ensuring that a particular value
is a valid date)? PostgreSQL allows you to do all of these, and a properly
designed RDBMS will ensure that your data is always valid ... i.e. no orphaned
child records, or invalid dates, or negative numbers where there shouldn't be,
etc.

With Riak (or any other document store system I'm familiar with) the onus is
on the programmers to ensure this. It's certainly possible to write data
validation in the program logic to keep the data clean, but it's a lot more
work than doing it in the database. Furthermore, in my experience, software
developers don't do a good job of it -- but that's dependent on your software
team and the QA practices you enforce.

Summary: if data quality is important, PostgreSQL is probably the right choice.
If you are OK with some poor quality data, and really need the features of
Riak, then go that route.

--
Bill Moran
I need your help to succeed:
http://gamesbybill.com


pgsql-general by date:

Previous
From: xu xiut
Date:
Subject: postgresql versus riak for a global exchange
Next
From: "John Casey"
Date:
Subject: Re: bdr_init_copy fails when starting 2nd BDR node