Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Current Events
Join our developers event to win one of the valuable prizes!
posted last year
viewed 18835 times
Share this article

Announcing CUBRID 9.1 stable release with big improvements

cubrid_9_1_banner_blog.jpg

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.

Overview

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.

Backward Compatibility

Database compatibility

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.

Driver compatibility

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.

Major enhancements

New SQL functions and index hints

Performance improvements and optimizations

  • The performance of data replication in HA environment has been significantly improved in CUBRID 9.1.
    data_replication_performance_comparison.png
  • Improved multi-key range optimization.
  • Enhanced optimization of ORDER BY and GROUP BY clause.
  • Improved analytic function performance.
  • Improved performance of INSERT ON DUPLICATE KEY UPDATE and REPLACE statement.
  • 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 SELECT operations has been improved by nearly 20%.
    select_operation_result_of_ycsb_benchmark.png 
  • Based on the results obtained from the basic performance test, we have found that the performance of INSERT, DELETE, and UPDATE operations are almost same as that of 9.0 Beta.

Multi-language support

CUBRID SHARD

  • We have added cubrid shard getid command to verify the shard ID of the shard key.
  • CUBRID SHARD is now available on Windows as well.

Administration utility

  • cubrid applyinfo utility now also shows information about the replication delay.
  • cubrid killtran utility 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.

Behavioral Changes

  • CUBRID_LANG environment variable is no longer used.
  • CUBRID_CHARSET environment variable which sets the database charset instead of CUBRID_LANG and the CUBRID_MSG_LANG environment variable which sets the charset for utility and error messages.
  • Change array execution functions such as cci_execute_array, cci_execute_batch function and Statement.executeBatch and PreparedStatement.executeBatch method 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_array, cci_execute_batch and cci_execute_result function 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 CCI_QUERY_RESULT_* macros.
  • OFF is no longer supported for KEEP_CONNECTION broker parameter.
  • SELECT_AUTO_COMMIT broker parameter is no longer supported.
  • Change the allowed value range of a broker parameter APPL_SERVER_MAX_SIZE_HARD_LIMIT to 1 - 2,097,151.
  • Change the default value of a broker parameter SQL_LOG_MAX_SIZE from 100 MB to 10 MB.
  • Change the behavior of the call_stack_dump_activation_list parameter.

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.

For more details on changes, see the Release Notes in English or Korean.

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.



comments powered by Disqus