0

I am curious whether VoltDB compresses the data on disk/at rest.

If it does, what is the algorithm used and are there options for 3rd party compression methods (e.g. a loss permitted proprietary video stream compression algorithm)?

Jeffrey Bosboom
  • 13,313
  • 16
  • 79
  • 92
Arthur
  • 1,441
  • 1
  • 13
  • 17

1 Answers1

2

VoltDB uses Snappy compression when writing Snapshots to disk. Snappy is an algorithm optimized for speed, but it still has pretty good compression. There aren't any options for configuring or customizing a different compression method.

Data stored in VoltDB (e.g. when you insert records) is stored 100% in RAM and is not compressed. There is a sizing worksheet built in to the web interface that can help estimate the RAM required based on the specific datatypes of the tables, and whatever indexes you may define.

One of the datatypes that is supported is VARBINARY which stores byte arrays, i.e. any binary data. You could store pre-compressed data in VARBINARY columns, or use a third-party java compression library within stored procedures to compress and decompress inputs. There is a maximum size limit of 1MB per column, and 2MB per record, however a procedure could store larger sized binary data by splitting it across multiple records. There is a maximum size of 50MB for the inputs to or the results from a stored procedure. You could potentially store and retrieve larger sized binary data using multiple transactions.

I saw you posted the same question in our forum, if you'd like to discuss more back and forth, that is the best place. We'd also like to talk to you about your solution, so if you like I can contact you at the email address from your VoltDB Forum account.

BenjaminBallard
  • 1,482
  • 12
  • 11
  • Just to clarify about your question of data on disk/at rest, VoltDB is an all data in memory database and doesn't compress the data in memory. – Dheeraj Mar 12 '15 at 20:28
  • Arthur, I may have misunderstood your question. I'm going to edit this answer to explain further. – BenjaminBallard Mar 13 '15 at 13:45