- confusion over the term "transaction" meaning different things to DBMS and Gigaspaces;
- no transaction capability that old men with an ACID database would recognise.
The more I looked for a solution to allow application programmers to easily write big, fast applications on the cloud using transactions, the more it seemed there wasn't one, and no appetite for one either. There were three stances from the cloud camp:
- "You don't understand" - you don't need to save in-memory data grid transactions to a database, because the grid is so reliable. Right - tell that to your CIO;
- "Eventual, non-consistent save is good enough". Well, that's at least got the 'D' part of ACID ... but nothing else;
- Junk the RDBMS - solve the scalability and consistency problem in a different paradigm. Shame about the databases and information feeds that drive commerce and decision-making today.
On the other hand, it seemed like a valuable approach, to provide a transaction layer :
- to match the speed and scalability of the cloud;
- matching up with all the existing data and add-ons around RDBMSs;
- in a way that normal developers can use.
Now we are on the point of launching CloudTran**, which supports as-fast-as-possible transactional applications in grids and clouds, with a scalable, fast and reliable transaction mechanism. Our first performance tests showed around 300 (distributed cloud) transactions per second, and the key machine - a single Intel i7 920- was only at 8% CPU utilization, which implies we'll get 1000's of transactions per second.
This series of blogs will explain some of the assumptions that make this possible - i.e. define the space for CloudTran**, compared with native and distributed transactions - and describe its unique aspects.
**Previously known as CloudSave.
Interesting - look forward to coming blog posts. BTW when you're referring to ACID is that new or old: atomic, consistent, isolated and durable or associative, commutative, idempotent and distributed? Or both ?
ReplyDeleteI'd have to say both ... but it's a longish story.
ReplyDeleteFor deposits into my bank account, I prefer consistent and durable transactions.
For withdrawals, idempotent would suit me just fine.