We are creating an OLTP economic climate. it will have the ability to support 10.000 transactions per second and also have confirming features.
Therefore we have started to the thought of using:
- a NoSQL DB as our primary storage
- a MySQL DB (Percona server really) making some ETLs in the NoSQL DB for store confirming data
We are thinking about MongoDB and Riak for that NoSQL job. we now have read that Riak scales more easily than MongoDB. And we wish to listen your opinion.
- Which NoSQL DB can you use for any OLTP economic climate?
- How continues to be your experience scaling MongoDB/Riak?
There's no imaginable circumstance where I'd make use of a NOSQl database for anything related to finance. You just not have the data integrity needed or even the internal controls. Dow Johnson uses SQL Server to complete its transactions and when they are able to correctly design a higher performance, high transaction Relational datbase you can as well. You'll have to purchase many people who know what they're doing though.
I'm able to answer regarding my knowledge about scaling Riak.
Riak scales easily towards the extreme. Scaling is as simple as adding nodes towards the cluster, the industry quite simple operation by itself. You are able to achieve near linear scalability simply by adding nodes. Our knowledge about Riak so far as scaling is worried continues to be amazing.
The switch side is it is missing people. Some good examples:
- You cannot make a move like
list keyson the production cluster. That will need a deal with if you wish to do ETL from Riak into MySQL - or wouldso would guess what happens to (E)xtract? (One possible deal with is always to conserve a bucket having a known key sequence that map to values which contain the secrets you placed to your other containers).
- The free version of Riak includes no management console that allows you realize what are you doing, and also the one that is incorporated within the Enterprise version is not a lot of a noticable difference.
- You will need the Enterprise version of you are searching to duplicate your computer data over WAN (e.g. for DR / high availability). That's okay if you do not mind having to pay, but bear in mind that Basho prices is extremely high.
The worldwide-storage based NoSQL databases - Cache from InterSystems and GT.M from FIS - are utilized extensively in financial services and also have been for several years. Cache particularly can be used for the core database as well as for OLTP.
Sometimes using the Starcounter (so I’m biased), however i think I'm able to securely state that for any system processing financial transactions you need to bother about transaction consistency. Regrettably, this is exactly what the engines employed for Twitter and facebook needed to quit allow their scale-out technique to offer performance. This isn't because engines for example MongoDb or Cassandra are poorly designed rather, the result is naturally in the CAP theorem (http://en.wikipedia.org/wiki/CAP_theorem). To put it simply, changes you are making inside your database will overwrite other changes when they occur near the coast time. Suitable for status updates and new tweets, but disastrous should you cope with money or any other amounts. The amounts only will finish up wrong when many reads and creates are now being completed in parallel. So for that throughput you'll need, a memory centric NoSQL database with Acidity support is most likely what you want.