Forum: Building VoltDB Applications

Post: Can I save Avro serialized data in voltdb

Can I save Avro serialized data in voltdb
gideon caller
Oct 14, 2015
Hi everyone,

I'm writing a VoltDB application using a Java client and I was wondering if it's possible to store Avro serialized data in VoltDB? And if so, whats the recommended way of doing that? (serialize each field separately and just insert each field? serialize the entire data and somehow split it during insertion? is there another way?)

Thanks in advance!
Oct 14, 2015
First I would ask a bit more about what you're trying to accomplish. That might be helpful.

You can certainly store full Avro serialized messages in a varbinary column in VoltDB.

You can also send Avro messages to a VoltDB stored procedure using a byte[] parameter and deserialize them in the procedure body.

Finally, you can build Avro messages from within a stored procedure and return them to a caller in a single-row table with a single varbinary column.

There is no declarative mapping between avro fields and voltdb. If the fields are 1-1 with a voltdb table or procedure, I don't expect this would be too hard to wire up.

Hopefully that's helpful. If you have more questions, or can be more specific about your goals, we'll try to help more.