I have a client app that will be coming online soon, and one of the
the requirements is that it generates non-repeating serial numbers
with no vacancies. There can NEVER, EVER be a repeated serial number.
If you are curious, it's financial transactions between countries that
are monitored by the FINRA (and others) and they use the serial
numbers to detect fraud.

So, let's say there is a one-in-a-billion chance that Heroku loses
some of my database, no matter how small. They, or we, can restore
from backups, but there is no possible way I can determine that
records could have been created after the last backup. I'm not so
concerned about system downtime, it's potential data loss.

As I understand, Heroku does not provide any form of replication for
its PostgreSQL offerings (psst, I would be willing to pay $$$). Until
then I need to come up with a fault tolerant scheme of data audit
trails.

First thought - just use Amazon RDS. But whoa, it's really expensive.
My clients won't float $3K per month just for data storage. But maybe
I'm pricing it wrong and don't understand their pricing model.

Second thought - Lotsa backups! Better, but still no guarantee.

Third thought - MongoDB or Cloudant. I could use either to write audit
logs, essentially duplicating my 'serialized documents', but not the
entire db. Since I only need to verify that every new document
generated is serialized, seem easy to hit MongoDB/Cloudant to find the
last document store and if it does not match the last one in
PostgreSQL shut the app down until I can manually restore from the
audit log.

Seem fairly easy and straightforward.

Has anyone else done this?
How successful were you? any gotchas?
Any gems out there that can do this?

Advice appreciated.

-- 
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.

Reply via email to