Jonathan Bristow Jonathan Bristow - 1 year ago 77
MySQL Question

Using MySQL alongside NewSQL?

Is it possible to use a NewSQL platform such as VoltDB along side MySQL?

The website which will be making use of this a is social based website where people are constantly posting items and comments etc. I like the fact that VoltDB will be very quick but as the website fills up with years worth of data I don't want it to clog up the system.

Is there a way of combining the two technologies?

Maybe 365 days worth of data is on VoltDB but anything older gets put in to MySQL as an archive?

Answer Source

VoltDB has a variety of client libraries available (java and JDBC is included, others are at, so chances are there is a library that could work with your application.

VoltDB includes an "Export" feature that integrates with other databases using JDBC. Records can be committed in VoltDB to in-memory export tables, and then VoltDB will hand off efficient batches to a downstream database. The export process will ensure records are committed downstream before removing them from the export table. You can read more about the Export feature in Using VoltDB, Chapter 13. Exporting Live Data.

It is up to you when to insert records into an export table. It could be done in a series of transactions lazily running in the background of your application to collect and delete data that has aged more than 365 days. You might also export data as it is ingested, so that MySQL can hold essentially all of the data almost immediately, but doesn't have to stand up to the firehose of incoming requests. Data could then be retained in VoltDB for whatever duration your application requires and then deleted (rather than exported) as it ages.