Back to Home

New CUBRID 8.4.0: Now Twice Faster / CUBRID Blog

cubrid · dbms · databases · mysql · performance · php

New CUBRID 8.4.0: now twice as fast

Original author: CUBRID
  • Transfer
Wait! The new version of DBMS CUBRID 8.4.0 is the most powerful of the previously released versions, and now with twice as fast database engine!

This release combines enhanced performance with many new features often requested by users. Test results based on the same scenario [link to a PDF report file in English], which we usually use to control the quality of new releases, show an almost three times higher engine performance for certain functions.

Linux version performance

Linux version performance

The performance of the insert operation (INSERT) in the Linux version increased by 260% compared to the previous version 8.3.1. Update operation performance (UPDATE) increased by 120%. The performance of the delete operation (DELETE) increased by 141%. The performance of a sampling operation (SELECT) decreased by 5%, the reason for which is the absence of a sample test in our scenario that would use a covering index.

Instead, we set ourselves the goal of testing on all sides the conversion of implicit types that were massively used in paste statements. Therefore, in real conditions where column indexing is widely used, the performance of the insert operation will be very high, more than 2 times compared with the previous version.

Windows version performance

Windows version performance

As indicated in the above table, the performance growth of the CUBRID version for Windows is even higher. The performance of insert and update operations increased by 190%. The performance of the delete operation increased by 228%, and the productivity of the selection operation increased by 140%.

Such a large increase in productivity of the new version was obtained due to a decrease in the size of the index structure, as well as the implementation of the covering index. To reduce the size of indexes, in CUBRID 8.4.0 we completely redesigned their structure. As a result, the size of indexes decreased by 70%, and the size of data volumes decreased by 20%.

Comparison of Using Database Volumes

Comparison of Using Database Volumes

After implementing the covering index [link to manual] in CUBRID 8.4.0, the approach to retrieving data during a search has changed. In previous versions, the index structure stored the value of the index keys, and the data itself was stored on the heap (HEAP). With this implementation, when a query was made to search for a record, CUBRID first found the record in the index, and then retrieved the data for this record from the heap. But starting with the new version 8.4.0, CUBRID stores both the key and the record data in the index structure. Thus, when a query is made to search for a record, the record data is returned immediately, bypassing the heap scan.

In this new version, we also increased the size and number of volume pages that are created by default when the database is created.[link to manual]. To date, we often monitor statistics on the use of databases of large corporations like NHN. (Maybe next time I’ll talk about one of them, about the volumes of data that are being operated on, and how they use CUBRID.) As a result, we noticed that the number of database volumes increases very quickly, each of which stores 20 MB of data. Therefore, in order to reduce the frequency of creating volumes starting from version 8.4.0, the page size of the volume was increased from 4K to 16 KB, and their number became 25,000 instead of 5,000. Thus, by default, the data volume will be 400 MB instead of 20 MB.

There is more news ... and I think you will like it!

Now the new CUBRID 8.4.0 has become even more noble! It now does not have strict restrictions in comparing and assigning data of different types, instead - expanded support for converting implicit types [link to the manual]. Now it is a paradise for developers. They are free to compare, use and assign values ​​of different types, and CUBRID will do the rest. This extension will allow users to quickly and easily get started with CUBRID.

In addition, now in CUBRID 8.4.0 we provide support for almost 90% of MySQL SQL syntax, which will really make life easier for the developer! There is no longer any need to modify SQL queries to comply with the CUBRID syntax. Almost all the operators used in MySQL queries are now implemented in the CUBRID system. You can find out more about the list of all extensions in the official blog [article in English].

In addition to SQL extensions, we have significantly improved the CUBRID PHP library, which also provides almost full support for all the functions of the MySQL PHP library. All that needs to be done is to replace the prefix “mysql_” with “cubrid_” in all functions except those related to the database (for example: mysql_select_db, mysql_drop_db). The entire list of CUBRID PHP functions and their comparison with MySQL can be found here .

In addition to all this, you have redesigned the two main tools for working with the CUBRID DBMS - these are CUBRID Manager and CUBRID Query Browser[official project pages]. We introduced many innovations, redesigned the graphical interface, and most importantly, significantly improved usability. Now everything is much more convenient and easier to use. More details about the new features in the official blog .

In the new CUBRID 8.4.0, the configuration of the High Availability feature has become much easier than before. We have made every effort to deliver more convenience and stability, as well as functionality, since High Availability is what distinguishes CUBRID from all other DBMSs. Now users can quickly configure High Availability and monitor sites directly in CUBRID Manager itself. If you want to learn more about the CUBRID High Availability feature, you can read about it here.in English (I can tell later here on Habr separately).

And finally, another improvement in the new CUBRID Manager regarding usability and functionality is nLucene support as a plugin. In this way, users can create, configure, and manage nLucene instances directly in CUBRID Manager. Great, isn't it !?

CUBRID 8.4.0 is a highly anticipated release. Now it is available! Until a stable version is released, you can download the beta version of CUBRID 8.4.0 from the official website http://www.cubrid.org/downloads and feel how it works.

For more detailed information on the changes in version 8.4.0, you can view the Release Notes for the current version (PDF).

Read Next