Hi, Ignite C++ indeed starts JVM process, but it is not just client, it is basically ordinary Ignite node, that can be client or server and can do in cluster almost anything, that Java Ignite node can, although, C++ still does not have all the features that Java API has. So, basically, C++ allows you to do much more than just SQL.
On the other hand, our ODBC driver is the classic thin ODBC driver, that uses TCP for connection to nodes, and only allows you to run SQL queries. If you only need client that will allow you to run SQL queries over the grid, then Ignite C++ indeed has some overhead compared to ODBC driver, though it is not that much about performance as about memory consumption and startup time. You also need to "warm up" C++ client to get good performance as it has significant JVM part. So if the only thing you need is DML and selects I'd suggest you to go with the ODBC. But you also have mentioned transactions, and currently, Ignite does not support transactional SQL, though it supports transactions for cache operations by a separate Transactions API. It is supported by Ignite C++, but you obviously can not use it through ODBC. Can you tell a little more what you need? Best Regards, Igor On Thu, Nov 16, 2017 at 9:31 AM, kotamrajuyashasvi < [email protected]> wrote: > Hi > > I have a C++ Application that needs to perform query operations(DML and > Select) and transactions on Ignite Server. Whats the best way to achieve > this ? There are two choices: 1. Ignite ODBC driver and 2. Ignite C++ > Driver. > > I would like to what would be right choice to use from the point of > scalability and performance. > > From the docs its mentioned that Ignite ODBC used TCP to communicate to > Ignite server. On the other hand Ignite C++ Driver starts the JVM in the > same process and communicates with it via JNI and this JVM process > communicates with the Ignite Server. So Ignite C++ Driver has an additional > JNI/JVM hop before communicating to the Ignite Server. Does this affect > performance ? What are pros and cons of using each of the above choices > available ? Apart from above two choices are there any better choices? > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
