2014/05/10

ProtoStore UUID Storage Under MySQL

Over the last year or so using ProtoStore to handle object serialisation has saved me a huge amount of time and countless SQL related bugs. Obviously this is why technologies like EJB exist!

One thing that I have been thinking about for a while is the performance of the UUID based keying due to wasteful storage of the UUID as a string. I have finally found some good data on this UUID storage benchmark.

The headline seems to be that on insert you can get a 4X insert speed-up and a 10X select speed-up by using binary storage of the UUID when using InnoDB engine.

The question is can this be achieved without breaking anything in the way that the current system works? The short answer seems to be YES! By detecting the column type it should be OK to just add this as a 'feature'...

As an aside the protobuf jar is still only 39K but I am going to see if I can further reduce it's size, obviously it doesn't have the features of hibernate core but it does still solve my CRUD storage needs for a fraction of the 5MB cost....

No comments:

Post a Comment