2

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?

Neil Lunn
  • 148,042
  • 36
  • 346
  • 317
JonathanBristow
  • 1,066
  • 2
  • 13
  • 36

2 Answers2

1

VoltDB has a variety of client libraries available (java and JDBC is included, others are at http://voltdb.com/dev-center/libraries-and-tools/), 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.

BenjaminBallard
  • 1,482
  • 12
  • 11
  • Thank you Ben, this has cleared things up for me quite a lot. One other thing I wonder about is when I go to the database (VoltDB) to get data, if some of it is in MySQL will VoltDB get this for me automatically? Or do I need to write login to get part 1 from VoltDB and part 2 from MySql? – JonathanBristow Apr 28 '14 at 16:45
  • You would need to connect the application to both databases and query each one separately. VoltDB connects to MySQL for export only. – BenjaminBallard Apr 28 '14 at 20:34
0

ClustrixDB is another NewSQL solution that is MySQL compatible and supports the MySQL protocol, including replication to/from MySQL. You could very easily set up replication between ClustrixDB and MySQL and purge older data from ClustrixDB.

clieu
  • 148
  • 1
  • 9