Print E-mail

iAuxSQL_small>> SQL DB interface engine


iAuxSQL provides unified interface for the popular SQL database hosts: MySQL, PostgreSQL, Oracle, and SQLite. iAuxSQL allows to switch from one database host to another even during run-time of an application! iAuxSQL abstracts all the peculiarities of each database host from the user providing own, unified and convenient API design.

 

iAuxSQL has fully asynchronous core and supports separate data flow directions that is valuable for a modern multi-threaded applications. Making a SELECT query and waiting for result set does not block INSERT queries made from other threads. Moreover iAuxSQL’s internal core abstracts application from host client’s API interaction and queues all data processing asynchronously.

 

Scalable Architecture

iAuxSQL is designed in consideration of being able to process extremely large data amounts. Its core is capable of handling execution queries asynchronously in a separate thread without affecting data collection requests. Although if asynchronous operations are not of big concern and large data amounts are not expected then iAuxSQL can be run in threadless mode.

   

Unified API

One of the main goals for iAuxSQL's API is to provide one single approach for database operations which hide specifics of each host API from the user. Whether it is MySQL or PostgreSQL or Oracle or file-based SQLite - a programming interface must have no differences with any supported database type! Such unified interface provides ability to switch from one database host to another even during run-time of an application.

  

Host native & Home-brew Transactions

iAuxSQL offers single mechanism to issue a transactions with queries to a database. It supports native host transactions and also has own homebrew transaction core which provides more extended functionality, such as non-global, named transactions, thread-safe transactions. Transactions are fully asynchronous and executed in a separate thread.

  

Proxy Service

iAuxSQL offers unique feature of database communication re-routing known as Proxy service. It is a server-client model that allows to communicate with any supported database through iAuxSQL's special highly secure network protocol. Proxy operation allows to communicate with a database from any environment where native client libraries do not exist. iAuxSQL proxy service can also be used to increase security of database communication process.

  

Mobile Platform

iAuxSQL supports mobile platforms - Windows Mobile 6/6.5, iOS (iPhone/iPad/iPod) and Android. Its built-in SQLite core allows to make a phone, or any other portable device - a database storage. Proxy service allows to access any supported database even if native database client library is not supported for the mobile platform.

  

Features

arrowSupports databases: MySQL (4.1, 5.0, 5.1, 5.4, +), PostgreSQL (8.2+), Oracle (10.2+), SQLite (built-in: latest).

arrowHost native transactions.

arrowHome-brew extended transactions: named, non-global and thread-safe.

arrowProxy service, as database communication re-routing for portability and higher security.

arrowAsynchronous multi-threaded core with ability to operate in threadless mode.

arrowSerialization of binary data into:

- Base 16;

- Base 32;

- Base 64;

- Zip + Base 64 (inflates/deflates data on the fly).

arrowCryptographic services:

- Block ciphers: TwoFish, BlowFish, GOST 28147-89;

- Stream ciphers: OFB mode for block ciphers, CFB mode for block ciphers, Alleged RC4 (for Proxy only).

arrowMobile platform support.

arrowInterface language: C++ (C optional).

arrowCompiler/IDE support: Microsoft Visual Studio for C++, XCode, GCC 4.x (Windows/Linux/Mac).

arrowAdvanced API design with rich inline documentation.

arrowOS: Windows XP/Vista/7 (32/64 bit), Windows Mobile 6 (ARMv4), Windows Mobile 6.5.3 (ARMv5), Linux (32/64 bit), MacOSX 10.5+ (x86 32/64 bit, ppc), iOS (iPhone/iPad/iPod-Device/Emulator), Android (Device/Emulator)