Forum: Building VoltDB Clients

Post: Priming Volt with data from Oracle

Priming Volt with data from Oracle
steviet1000
Dec 28, 2012
Hi. I'm a newbie to the site and excited to start using Volt. [that means go easy on me!] :)

We are planning to use VoltDB initially to supplement our Oracle database. We will use it initially to provide a cache of frequently accessed, infrequently modified data. I'd like to see if there are any apps/snippets that take data from an Oracle instance and populate Volt. I really want to avoid files flying around between the two if possible. Any help would be great... Thanks and Happy New year!
awilson
Jan 7, 2013
Hi. I'm a newbie to the site and excited to start using Volt. [that means go easy on me!] :)

We are planning to use VoltDB initially to supplement our Oracle database. We will use it initially to provide a cache of frequently accessed, infrequently modified data. I'd like to see if there are any apps/snippets that take data from an Oracle instance and populate Volt. I really want to avoid files flying around between the two if possible. Any help would be great... Thanks and Happy New year!


Hi,

Are you thinking of a lazy evaluation, application driven type of migration where if the data does not exist that you call volt, do not find a record and then go to the canonical Oracle instance and copy the record into Volt. Alternatively, are you thinking of doing more of an eager conversion where you copy the most active data over to Volt and age it out as it is less often used?
steviet1000
Apr 30, 2013
we're thinking that volt would be the first location we'd query against.. if it's not there then go to oracle, get it and then populate volt for the next user/query. So over time you're going less and less to Oracle for reference lookups. [sorry for the delay, I need to put an alert on, and thanks for the reply]
jpiekos
May 1, 2013
Hi Stevie,

This sounds like a solid use-case for VoltDB. What are the barriers to putting all of your data in VoltDB and remove Oracle from the equation?

John
zohaa3492
Dec 4, 2014
Hi all, i use the voltdb client in the storm, use "storm jar" to build the client,but " Exception in thread "main" java.lang.RuntimeException: java.io.NotSerializableException: org.voltdb.client.ClientImpl" happens .
The storm's code must be Serializable , the question may be that ClientImpl is not Serializabled ,what can i do for this ?
vtkstef
Dec 4, 2014
Hi Zoha,

you can make the Client field transient, add fields to your serializable object that allow you to build a Client instance (voltdb host names, credentials, ...). Then implement
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
that deserializes the object fields, which in turn you can use to create a new instance of Client. For more details read up on custom serialization

Ciao
Stefano
rmorgenstein
Dec 4, 2014
Zoha,

My colleague, Stefano, has answered how to hook up Storm, but I'm curious about why you want to do this? Can you just do the stream processing in VoltDB itself and get rid of one (or more) pieces of your stack? See http://www.infoworld.com/article/2853997/big-data/beyond-storm-for-streaming-data-applications.html for John Hugg's article on managing streaming directly in VoltDB.

If you let us know more about your use case we can help guide you in the implementation.

Ruth
Manager, QA & Support
VoltDB