Forum: Building VoltDB Clients

Post: Native Client vs JDBCTemplate Performance

Native Client vs JDBCTemplate Performance
tchan5
May 26, 2015
Hello,

Since the procedures need to be called using client.callProcedure mainly, how is the performance of native client call vs the queries/updates by JDBCTemplate? Which one is better to use ?

Also in the latest Maven repository jar at http://mvnrepository.com/artifact/org.voltdb/voltdbclient/5.2, certain classes like SQLStmt, ProcInfo and other java-procedure-apis aren't present. Would they be included in the future releases ?
jhugg
May 26, 2015
Since the procedures need to be called using client.callProcedure mainly, how is the performance of native client call vs the queries/updates by JDBCTemplate? Which one is better to use ?


The performance isn't much different between the native client in Java and JDBC. The native client may offer easier access to specific VoltDB statistics and more options for asynchronous calls into VoltDB. There are also additional callbacks in the native client that you can register to be notified of events like connection timeout. JDBC, on the other hand, may be more familiar and compatible.

Also in the latest Maven repository jar at http://mvnrepository.com/artifact/org.voltdb/voltdbclient/5.2, certain classes like SQLStmt, ProcInfo and other java-procedure-apis aren't present. Would they be included in the future releases ?


Right now, the maven-ized jar on the Maven central repository is just our native client and JDBC code. We are working on a maven-ized solution for procedure development. For the time being, you will need to maven-host the full VoltDB jar yourself, or use the VoltDB jar and its dependencies locally.