Mimer SQL Engine 9 Highlights
Category: Database features

This article describes some of the highlights introduced in Mimer SQL Engine 9. As always, we have a mission to constantly improve performance and to keep up with the latest in database standardization.

Binary and Character Large Objects (BLOBs/CLOBs/NCLOBs)

Mimer SQL Engine 9 has an efficient implementation of the SQL-99 data types BINARY LARGE OBJECT (BLOB) and CHARACTER LARGE OBJECT (CLOB). The data type NATIONAL CHARACTER LARGE OBJECT (NCLOB) was introduced in Mimer SQL 9.2. NCLOB is a data type where Unicode character data can be stored in standardized format, thus enabling a true portability between different platforms (e.g. in a client/server application with a heterogeneous client environment, for example, both Linux and Windows clients). All BLOBs, CLOBs and NCLOBs are stored in the Mimer SQL Engine database and are included in the same transaction control, access control and backup/restore system as more traditional business data.

The maximum size of a BLOB/CLOB/NCLOB is in practice unlimited (the only limitation is the maximum table size in Mimer SQL Engine; 8 TBytes!).

Mimer SQL Engine implements several functions for optimizing the performance for insert, select, update, and delete of BLOBs/CLOBs/NCLOBs. When retrieving a BLOB/CLOB/NCLOB over a network, the large object is transferred directly from Mimer SQL Engine's communication buffers to the application requesting the BLOB/CLOB/NCLOB without any intermediate temporary storage.

When large objects are accessed from Mimer SQL Engine, the objects are split into packages optimized for best possible performance e.g. over a network. The objects are also accessed asynchronously; the application can read the first packages of the BLOB/CLOB/NCLOB while Mimer SQL Engine delivers the rest of the object.

Distributed Transaction Support

Mimer SQL Engine 9 has support for distributed transactions according to the Open Group's XA standard. This makes it possible to have atomic transactions spanning multiple database systems.

Any Mimer SQL Engine 9 database manager may be included in a distributed transaction, but also database managers from other DBMS vendors may participate in a distributed transaction as long as the participating DBMSes support the XA standard. An application server administers a distributed transaction.

The distributed transaction support in Mimer SQL Engine 9 includes the two-phase commit protocol as defined in the XA standard, where the application server first is demanding all the participating database managers to do the "prepare-to-commit"-phase, to be followed by the "commit"-phase. This guarantees that the distributed transaction is atomic ("everything or nothing") and that the distributed database is kept consistent.

Mimer SQL Engine 9 can interact with the transaction monitor modules in e.g. Microsoft's Distributed Transaction Coordinator (DTC), IBM's WebSphere and BEA's WebLogic. The distributed transaction functionality is accessible from all application programming interfaces in Mimer SQL Engine (e.g. Java, ODBC and Embedded C/Fortran/Cobol).

Distributed transaction support is included in the free developer's edition of Mimer SQL Engine 9, but when deployed, this functionality is licensed separately.

Multilingual Character Support (Unicode)

Mimer SQL Engine 9 has full support for the Unicode 3.2 standard for representing multilingual characters. Unicode is a character-encoding standard for processing and display of written text in any language.

The 8-bit ASCII standard for character representation can only cover 256 characters, thus making it impossible to have a standardized representation of most national characters. With the Unicode representation, more than 100,000 characters are uniquely standardized, covering all the world's languages.

Mimer SQL Engine 9 implements the new Unicode 3.2 standard as defined by the Unicode consortium (ISO/IEC 10646. in March 2002.

The external representation of Unicode characters in Mimer SQL Engine 9 is the full UTF-32 format, but internally in the database are the Unicode characters stored using a very efficient compressed format.

Full support for ISO SQL:1999 Collations was introduced in Mimer SQL Engine 9.2. SQL:1999 Collations is a standard for multi-lingual sorting. Additional to the support for Chinese, English, French, German, Japanese, Russian, Spanish and many other larger languages. Mimer SQL 9.2 Engine also includes support for the European Committee for Standardization's (CEN) European Ordering Rules (EOR). There are also pre-defined support for many minority languages such as Catalan, Sami, Sorbian and Welsh. It is simple to add user-defined Collations.


Mimer SQL 9 conforms to the Java 2 Platform, Enterprise Edition (J2EE) specification and can be used in an Enterprise Java Beans (EJB) application server. Mimer SQL 9.2 introduces support also for the Java 2 Platform, Micro Edition (J2ME), suitable for embedded and mobile devices.

With Mimer SQL 9, the application server can handle distributed transactions and persistent storage completely transparent for the application developer. The Mimer SQL 9 J2EE environment has support for native connection pooling and the data source handling is integrated with the Java naming and Directory service (JNDI). Distributed transaction support in Mimer SQL 9 makes it possible to have a single transaction spanning several databases and/or application servers.

Distributed transactions are implemented using the XA specification from the Open Group and this functionality is also available from the Mimer SQL 9 JDBC Type 4 driver. The JDBC driver, with all the above functionality, is written entirely in Java making it totally platform independent.

Mimer SQL Engine 9 supports the following JDBC Data Access API features:
  • full support for the JDBC Technology Core
  • JNDI support (JDBC Optional Package)
  • Connection pooling (JDBC Optional Package)
  • Distributed transactions (JDBC Optional Package)


For further details, please see the Mimer SQL 9 home page.

You can download Mimer SQL 9 here

Last updated: 2010-02-03


Powered by Mimer SQL

Powered by Mimer SQL