We released CUBRID 9.0 beta version in October last year. Since then we have been working hard on stabilizing the beta features, fixing bugs, and improving the overall engine performance. Today I am excited to announce the immediate availability of the CUBRID 9.1 stable release. You can download CUBRID Database Server from http://www.cubrid.org/?mid=downloads&item=cubrid&os=detect&cubrid=9.1.0.
I would also like to announce that we will give a talk about CUBRID Database Sharding at Percona MySQL Conference on April 24, 2013, in Santa Clara, CA. Join us there to meet CUBRID Engineers and get the first-hand insight into the new CUBRID 9.1.
Below I will provide an overview of the latest changes and improvements in CUBRID 9.1.
CUBRID 9.1 is an upgraded and stabilized version of CUBRID 9.0 Beta. To learn more about the biggest features introduced in 9.x family, refer to 9.0 official announcement. Issues found in the 9.0 Beta version have been fixed and stabilized in this new 9.1 stable release. With a variety of query-related functionalities, CUBRID 9.1 offers improved query processing performance as well as improved query optimization. In addition, its multi-language related functionalities have been further improved. This new 9.1 release is accompanied by new CUBRID Tools and Drivers releases.
As a database volume of CUBRID 9.1 is not compatible with the database of CUBRID 9.0 Beta, users of CUBRID 9.0 Beta or previous versions should migrate their database. We have created a migration instructions which you can find in Upgrade section of the Release Notes.
The JDBC and CCI driver of CUBRID 9.1 are compatible with CUBRID 9.0 Beta and CUBRID 2008 R4.x version. Some features that are fixed and improved for 9.1 are not supported when 9.1 drivers connect to the previous versions.
New SQL functions and index hints
- New SQL analytics functions like
LAGhave been introduced in CUBRID 9.1.
- WIDTH_BUCKET new SQL numeric function is also introduced.
ROUNDfunctions now also accept the date types.
- New SQL Hints:
Performance improvements and optimizations
- The performance of data replication in HA environment has been significantly improved in CUBRID 9.1.
- Improved multi-key range optimization.
- Enhanced optimization of
- Improved analytic function performance.
- Improved performance of
INSERT ON DUPLICATE KEY UPDATEand
- Improved search and delete performance for non-unique indexes with many duplicate keys.
- Improved delete performance when insert and delete operations are repeated.
- The overall performance of
SELECToperations has been improved by nearly 20%.
- Based on the results obtained from the basic performance test, we have found that the performance of
UPDATEoperations are almost same as that of 9.0 Beta.
- In CUBRID 9.1 we now support collation for tables.
SHOW COLLATIONstatement and new
COERCIBILITYfunctions are now supported.
- Support collation with expansion which sorts French with backward accent order.
- Improved and fixed restrictions and issues of 9.0 Beta version.
- We have added
cubrid shard getidcommand to verify the shard ID of the shard key.
- CUBRID SHARD is now available on Windows as well.
cubrid applyinfoutility now also shows information about the replication delay.
cubrid killtranutility now has the ability to show the query execution information of each transaction as well as the ability to remove transactions which executes a designated SQL.
- When a query timeout occurs, added a functionality to log the query execution information to the server error log and the CAS log files.
CUBRID_LANGenvironment variable is no longer used.
CUBRID_CHARSETenvironment variable which sets the database charset instead of
CUBRID_MSG_LANGenvironment variable which sets the charset for utility and error messages.
- Change array execution functions such as
PreparedStatement.executeBatchmethod of JDBC to commit whenever it executes an individual query under auto commit mode, while the previous versions commit once for entire execution.
- Change the behavior of
cci_execute_resultfunction when an error occurs while they are executing multiple statements. These functions now continue to execute the entire given queries while the previous versions stop execution and return an error. Users can access the results and identify the errors with
OFFis no longer supported for
SELECT_AUTO_COMMITbroker parameter is no longer supported.
- Change the allowed value range of a broker parameter
1 - 2,097,151.
- Change the default value of a broker parameter
100 MB to 10 MB.
- Change the behavior of the
Numerous Improvements and Bug Fixes
- Fix many critical issues of the previous versions.
- Improve of fix many issues of stability, SQL, partitioning, HA, Sharding, utilities, and drivers.
So far CUBRID 9.1 is our biggest release which we would like you to try. In fact we have released new improved drivers for Node.js, PHP, PDO, Python, Perl, JDBC, ODBC, OLEDB, ADO.NET, and C. So you should definitely try the new, more performant and stable CUBRID 9.1 Database.
If you have any questions, feel free to leave your comment below.