The Simba Engineering team has been hard at work on the new and vastly improved SimbaEngine X —the engine that powers all Simba’s ODBC and JDBC drivers, and numerous drivers built by our partners. SimbaEngine X is the most robust, feature-rich, and easy-to-use ODBC & JDBC driver development environment that has been validated and endorsed by top Hadoop and NoSQL vendors.
Today we are proud to share with you the cool new features and improvements of SimbaEngine X.
With this release, we focussed on two major areas: improved support for the Java development stack and a vastly improved Simba Client-Server feature.
Pure Java SQL Engine Option
If you develop a JDBC or ODBC driver for a data source that doesn’t natively support SQL or supports only a subset of the ANSI SQL standard, you need to use the Simba SQL Engine component of the SDK. Simba SQL Engine is a high-performance, standard-compliant SQL parser and execution engine. It consumes SQL-92 queries emitted from the ODBC interface, parses them and creates an optimized execution plan. Then it determines which parts of the plan can be executed natively by the data source, which need to be performed by the driver’s SQL Engine, and then executes them accordingly.
Previous versions of SimbaEngine SDK relied on the C++ SQL Engine, which resulted in a non-native library dependency for JDBC drivers. SimbaEngine X adds support for a native Java SQL Engine, which allows for the development of pure Java JDBC drivers even for not (fully) SQL-aware data sources. The move to pure Java SQL Engine improves performance, portability, maintenance, and simplifies deployment. Many Simba-built JDBC drivers available on our website already use the new Java SQL Engine.
We also added support for the latest JDBC 4.2 standard, so end-users can now make use of the latest and greatest features of JDBC without any extra effort.
New Simba Client-Server Protocol
Our Simba Client-Server configuration turns your datastore interface (DSI) implementation into a full-featured, remote Relational Database Management System (RDBMS).
You can use the same DSI implementation that you developed for a stand-alone driver, and simply link in the Simba Server libraries to create a database server. Simba Clients from any platform supported by SimbaEngine X will be able to access your new database server. What this means for you is that you can now build one implementation of your driver and get ODBC, JDBC, ADO.NET, and OLEDB for free. Use of Simba client-server deployment reduces your implementation and maintenance costs, decreases your time to market, and gets you the fastest performing drivers without additional effort.
The Simba Client uses the same components as used in your stand-alone driver, so your customers will see the same behavior whether they use the stand-alone driver or a client-server solution.
In this release, we significantly simplified the client-server configuration and achieved some significant performance improvements.
Massive Performance Improvements
The client-server wire protocol has been updated, resulting in an order of magnitude improvements in data transfer rates. The performance improvement in our tests across the range of different data set sizes, types, and the number of clients ranged from 1000% to 10000%. These improvements alone make it over twice as fast as the Postgres wire protocol.
We simplified the configuration of the Simba Client-Server by making it more self-tuning. Self-tuning allows the server to optimize performance when serving the large numbers of clients while releasing system resources when client requests are minimal. Self-tuning also reduces the number of required configuration parameters making the client-server configuration easier to manage.
High Precision Library
The SimbaEngine X can now handle exact numeric numbers with a substantially expanded precision, up to 134 decimal digits compared to 72 digits previously. In the process of expanding the number of digits that are handled, we took the opportunity to optimize our internal code handling exact numerics, increasing the performance of common operations.
In keeping up with the latest platforms, we’ve added support for Visual Studio 2015, Windows 10, and Xcode 7.2.
Other additions to the SimbaEngine X include data compression for improved disk and memory usage, better sample drivers for Mac OS X, and performance improvements to the C++ SQL Engine.