Forum: VoltDB Architecture

Post: Question about Performance with many connection in parallel and ...

Question about Performance with many connection in parallel and ...
Mar 3, 2014
Please let me know about VoltDB deeper.

Q1 VoltDB has good performance with many connection in parallel. How can VoltDB deal with many connections?
I suppose “no locking or latching” makes it possible.

Q2 Via JDBC connection, will the performance be down compared to using stored procedures?
Or VoltDB is optimized for JDBC?

Q3 VoltDB supports Active/Active replication(inside cluster) and Active/Stand-by Replication(between clusters such as DR site).My understanding is that it does not support Active/Stand-by (inside cluster) and Active/Active(between clusters). Is this correct?

Thanks in advance
Mar 3, 2014

The high level of performance in VoltDB is due to the parallelism introduced by partitioning of data and each partition having its own query execution engine. Since each partition is guaranteed to have everything pertinent to a given partition key, there is no need for locking or latching. In addition, we have an internal connection context management module that takes care of managing the connections to queries and queueing mechanism. We have tested to 500K+ concurrent client connections.

Our JDBC driver is based on our Java Native Client with a JDBC compliant interface to interact with. So while store procedures will be faster than AdHoc, JDBC carries the minimal overhead of translating between VoltDB wire protocol compatible structures to JDBC compatible structures.

You are correct about your understanding in broad terms. If you have two clusters in the same data center and you want Active/Active it is equivalent to having a single cluster in highly available state which is Active/Active inherently. Clusters across a WAN are not Active/Active since we don't want to introduce the network latency into your operational transactions. Having Active/Stand-by inside a cluster can lead to inconsistency between the copies inside a single cohesive unit of a database cluster.

Please let me know if this answered your questions. If not feel free to reply here or reach me directly at

Thanks and best regards