Progress DataDirect for ODBC for MongoDB Driver
An asterisk (*) indicates support that was added in a hotfix or software patch subsequent to a release.
- Certified with Debian Linux 7.11*, 8.5* (driver version 08.01.0115 (B0167, U0120))
- Certified with Ubuntu Linux 14.04*, 16.04* (driver version 08.01.0115 (B0167, U0120))
- MongoDB 3.2* (driver version 08.01.0102 (B0131, U0094, J000198))
- Certified with Red Hat Enterprise 7.1
- Certified with CentOS Linux 7.1
- Certified with Oracle Linux 7.1
- Certified with SUSE Enterprise Server 12
- Certified with Windows 10
- The driver has been enhanced to resolve naming conflicts that can occur when exposing native objects using unquoted, uppercase identifiers (the default behavior). To avoid conflicts, the driver appends an underscore separator and integer (for example, _1) to identifiers that differ only by case.
- The DefaultVarcharSize config option has been enhanced to generate dynamic default lengths for VARCHAR columns when specifying a multiplier value (for example, 2x) for the option. When specifying a multiplier value, the default length for a VARCHAR column is determined by multiplying the value specified by the size of the largest value detected in that column. This results in a default length that is proportionate to the size of the data within the column, which can improve the memory efficiency within the driver and application. The default value for this option has been updated to 1.5x.
In addition, you can further define the default length for VARCHAR columns by tuning the new MaxVarcharSize and MinVarcharSize config options. These options allow you to specify maximum and minimum size limits for the default length generated by the DefaultVarcharSize config option. When tuned for your data, MaxVarcharSize and MinVarcharSize can improve memory efficiency and avoid the undesired truncation of VARCHAR values.
- The new KeywordConflictSuffix config option allows you to specify the suffix that is appended to object and field names that conflict with SQL engine keywords.
- The driver includes a new Tableau data source file (Windows only) that provides improved functionality when accessing your MongoDB data with Tableau.
- The driver uses the MongoDB aggregation framework to improve performance in the execution of SQL queries using LIMIT, ORDER BY, or TOP clauses.
- The RELOAD MAP and REFRESH MAP commands have been added to the driver.
- RELOAD MAP reloads the schema definition and associated files. RELOAD MAP updates your relational view of native data while the driver is connected to the data store. RELOAD MAP does not discover changes made to the native data store.
- REFRESH MAP discovers native objects that have been added to the native data store since connection or since the last refresh. REFRESH MAP incorporates newly discovered objects into your relational view of native data. It also incorporates any configuration changes made to your relational view by reloading the schema definition and associated files. REFRESH MAP is an expensive query since it involves the discovery of native data.
- The driver has been enhanced to improve the handling of large result sets and reduce the likelihood of out-of-memory errors through the modification of the Fetch Size connection option and the introduction of the Result Memory Size connection option.
- The driver has been enhanced to further ensure data integrity when mapping inconsistent data types to a relational schema.
- MongoDB 3.0
- MongoDB WiredTiger Storage Engine
- When first connecting to a MongoDB server, the driver automatically creates a normalized schema of the data and generates a SchemaDefinition for housing and sharing the normalized schema.
- Native MongoDB data is fully normalized during the normalization process, regardless of the depth of nested arrays, documents, and objects.
- The driver uses the MongoDB aggregation framework to improve performance in the execution of SQL queries using aggregates, GROUP BY clauses, or HAVING clauses.
- The SQL Engine Mode connection option now supports Auto mode. When this setting is enabled, the driver automatically determines whether the SQL engine runs in server or direct mode based on availability.
- The new Min Long Varchar Size connection option allows you to fetch SQL_LONGVARCHAR columns whose size is smaller than the minimum imposed by some third-party applications, such as SQL Server Linked Server.
- The new Varchar Threshold connection option allows you to fetch columns that would otherwise exceed the upper limit of the SQL_VARCHAR type for some third-party applications, such as SQL Server Linked Server.
- The driver and Driver Manager have been enhanced to support UTF-8 encoding in the odbc.ini and odbcinst.ini files.
Schema Tool Enhancements
- The new Restart Wizard feature allows you to reset the relational view of your data from the Table Wizard menu.
- The new Update Schema feature allows you to map all new native objects to your schema definition with a single click.
- Support for selecting multiple objects in the Table Wizard for improved object management when customizing your schema.
- The driver no longer supports in-memory tables (also referred to as "local tables"). As a result, alters,creates, and drops are no longer supported.
- The driver’s SQL engine was upgraded for this release. Consequently, there are differences in how the driver handles some SQL queries. For more information, visit: https://documentation.progress.com/output/DataDirect/collateral/sqlengine.pdf.
- The Normalization Depth option is no longer available in the Schema Tool because native MongoDB data is now fully normalized, regardless of depth, during the normalization process.
- The 8.0.x version of the driver and Schema Tool does not support schema definitions created with previous versions of the product. Therefore, you should reproduce your 7.1.x schema definitions with the current release of the driver or Schema Tool.
- The 8.0 driver pushes down SQL queries to MongoDB whenever possible. Queries that cannot be pushed down to MongoDB in the 8.0 driver may be slower than comparable queries made with previous versions of the driver because data may be paged to disk while completing an operation. If you experience slow performance, please contact Technical Support: https://www.progress.com/support-and-services. Our team will quickly address any performance issues you may encounter.
- The default value for the SQL Engine Mode connection option has been updated:
- For Windows users, the default is 0 (Auto).
- For UNIX/Linux users, the default is 2 (Direct).
- The default value for the Server Port Number connection option has been updated:
- For the 32-bit driver, the default is 19932.
- For the 64-bit driver, the default is 19931.
- The default value for the Schema Definition connection option has been updated:
- Certified with Red Hat Enterprise 7.0
- Certified with CentOS Linux 7.0
- Certified with Oracle Linux 7.0
- Support for SSL encryption.
- The following configuration options have been introduced to increase flexibility
when mapping native data to a relational schema.
- DefaultVarcharSize determines whether native String data is mapped as VARCHAR or LONGVARCHAR.
- LeadingUnderscoreReplacement permits the replacement of leading underscores with a string.
Schema Tool Enhancements
- The Schema Tool has been enhanced to normalize native data to an arbitrary depth. When using the Schema Tool's Table Wizard to generate a relational schema, you can now specify that the data should be fully normalized, or you can specify to what depth your data should be normalized. These options are
available from the Table Wizard dialog with the selection of Normalized View.
- A Connection Options field has been added to the Schema Tool's Open Schema
Definition dialog for configuring SSL related connection options.
- MongoDB databases, versions 2.2, 2.4, and 2.6.
- The driver supports all ODBC Core functions.
- The driver supports the core SQL 92 grammar.
- The DataDirect Schema Tool, which:
- Enables you to flatten, normalize, or customize your view of MongoDB data.
- Allows you to decide which MongoDB objects are extracted into relational views.
- Provides information and statistics about your data.
- Exposes tabular relationships among your MongoDB collections.
- Enables you to define your column data types.
- Allows schema definitions to be shared across servers.