Reputation: 2685
I have a specific requirement for storing financial related transactions. This requires transaction support, high availability, fault tolerance and horizontal scalability. I am looking for an open source solution.
Now as I understand none of the free RDBMS (the likes of Postgres or MySql) provide this. I have used cassandra for a previous project which had great amount of convenience in terms of replication & sharding. Wow, I love it for its performance as well. But unfortunately there is no ACID transactions support from Cassandra because it was built with CAP theoram in mind.
Now, I am not even particular about great/blazing fast performance. I am looking for a performance little more than or equal to an RDBMS, but with replication & sharding. The reason is we are looking for putting many servers for handling the load and each instance should be capable of serving some x client at any point in time.
Can any one think of either a free(or very cost-effective sub 500 dollar) RDBMS database or No sql store with - transaction support (commit/rollback) - replication - sharding.
Currently we have ravendb in the choices list. Do you think this would fit?
PS: I've taken a look at the following links Can you recommend a database that scales horizontally? - was discussed in 2008 and very old.
Upvotes: 4
Views: 778
Reputation: 6469
You can try scaling using several instances/copies of the same DB and keep them in sync with JTA which provides distributed ACID, useful for easy ACID horizontal scaling. In spite of writes are linearly expensive, reads can be distributed between nodes and usually reads are by far more frequent than writes.
This article shows an example of this approach, code is based on a specific Java ORM tool (JEPLayer) but the core principle, JTA, can be applied to different database JTA compatible tools.
Upvotes: 0
Reputation: 22956
RavenDB would be a good batch. It can scale horizontally, support sharding and replication out of the box. It has ACID transactions and automatic failover.
See here for more details: http://ravendb.net/features
Upvotes: 2