Live data from Hacker News

VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

highscalability.com

1–10 of 39 posts

Re: VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

#3
post #2

Voltdb = memory only database, thus unfair comparision...

I think this could be a worthwhile comparison if tested on a platform where the in-memory store is as safe as traditional hard-disk storage, say a machine with some form of static (non-volatile) RAM for main memory.

Thus the question would be, does the performance advantage of VoltDB's approach outweigh the penalty of static RAM performance?

Re: VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

#4
post #2

Voltdb = memory only database, thus unfair comparision...

Even if it is fair I only get two points from this article (and their product page):

* A system which holds all data in memory is faster than a system which uses memory and disks. True, but not really news.

* If you leave out features your implementation can be faster (e.g. they only support transactions which span a single stored procedure). Again .. no news here.

Something else I've missed?

Re: VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

#6
post #2

Voltdb = memory only database, thus unfair comparision...

RAM is cheap and 32+GB is a lot of data so for a wide range of real world workloads can fit the database in memory. (You can get a server with 96GB on a PowerEdge R710 for less than $6,066$ today if it's 20x faster than a traditional database you will save money.)

The problem is MySQL etc doesn’t are not designed for this so while they become a lot faster they are still relatively slow. Also, RAM is only getting larger so once you make the transition to a RAM based DB you are unlikely to need to transition back. PS: I suspect most real world workloads revolve around small datasets that connect to big blobs of data. Think Users/Projects linking to Pictures, Documents, and Video etc. You don't edit documents in your database but you do want to track version information, users, permissions timestamps, approval etc. It's often a good idea to mix a Key Value style data store with a front end SQL database.

Re: VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

#7
post #2

Voltdb = memory only database, thus unfair comparision...

RAM is the new disk. See http://www.stanford.edu/~ouster/cgi-bin/papers/ramcloud.pdf does a nice job of looking at the practicality. See also the April 14, 2010 video at http://ee380.stanford.edu. The Stanford RAMCloud project page, http://fiz.stanford.edu:8081/display/ramcloud/Home, tracks recent activity in the area.

Re: VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

#8
- VoltDB stores all its data in RAM

- Run transactions to completion –single threaded –in timestamp order [will use multiple cores, with each having a single thread]

- Only data changed within a single invocation of a stored procedure is in a transaction, transactions can't span multiple rounds of communication with a client.

- You are also discouraged from doing SUM operations because it would take a long time and block other transactions.

I don't see how this is different than a NoSQL database. You cut a number of features (some critical to certain applications) from a relational database and get a bastardized version of a major database. It's a NoSQL database that uses a subset of the SQL standard and an enforced schema!

I find these discussions extremely annoying. I'm currently using MongoDB for my application because:

1. I don't need join support

2. I prefer my current schema to be denormalized.

3. Documents store better than rows for my data.

I could have used a relational database just fine. My data will fit with a little nudging.

The point is, you use the technology that best fits your problem. My current problem fits well into MongoDB but it could be solved less nicely with a different database.

All VoltDB is is another option if you have corners you can cut from the normal relational database model.

Re: VoltDB. Speed = 100x MySQL & 13x Cassandra & 45x Oracle

#9
post #2

Voltdb = memory only database, thus unfair comparision...

I think this could be a worthwhile comparison if tested on a platform where the in-memory store is as safe as traditional hard-disk storage, say a machine with some form of static (non-volatile) RAM for main memory. Thus the question would be, does the performance advantage of VoltDB's approach outweigh the penalty of static RAM performance?

What would that static ram device be, and how would you scale it out?
Post reply on HN