The DB has two storage engines: in-memory row tables, and on-disk column tables for efficient compression and permanent retention. Then, it becomes an easy task of INSERT/SELECT...FROM to move data from memory to disk very quickly.
Then at the end instead of writing to HBase you can write JDBC to do the insert.
But if you are writing row by row you will need to implement your own batching algorithm and connection pooling to get any decent performance.
You have a realtime write only database and you want to update a historical database from that write only database? Or do you just want to join data across the two sources on the fly? Those are two pretty different use cases.
Based on what you're asking, you might find these two articles interesting:
- http://blog.confluent.io/2015/03/04/turning-the-database-ins...
Sorry, I think maybe "integrating between" was the wrong way to phrase it.
On the other hand, I mean there's clean up and preprocessing I want to do on data that goes into the historical dataset, so hey, why not do that clean up/processing with Spark?
I've seen Lambda Architecture before, but it seems like it's kinda gone dark and unless I just totally overlooked it, I don't think there was a "Hey, this is the way to do it guys!"
In fact that is what a lot of people initially started using it for (as a replacement for Hive/Pig). You can write SQL against HCatalog tables, do some transformation work then write the results out to a different system. We have hundreds of jobs that do just this.
But Spark is mostly a computation engine replacing MapReduce (plus a standalone cluster management option). not an ETL tool.
I would look into other tools, such as https://projects.apache.org/projects/sqoop.html but I'm sure you know it already.
You can look at Cassandra which is historically known for exceptional write performance.
I've looked into using Spark Streaming, but I can't work out how you could seamlessly transition data from a streaming batch to the historical db in a reasonably tight time period.
I'd be willing to pay for training if it came to it, but I don't think I'm using the right search terms.