開源數據庫 CUBRID 9.0 發布,3倍的性能提升和分片支持

jopen 13年前發布 | 22K 次閱讀 CUBRID

開源數據庫 CUBRID 9.0 發布,3倍的性能提升和分片支持

專為Web應用程序最大優化的數據庫CUBRID 9.0 發布,增加一個 Node.js driver for CUBRID 驅動,并更新了其它的驅動器和工具,提供擴展功能和更高的穩定性。其它還為用戶提供了大量有價值的功能,顯著提高了性能,并且原生支持的數據庫分片。

新的特性如下:

多種語言支持

CUBRID9.0提供了擴展的字符集,排序規則,日歷和數字符號,各種語言的支持。現在,除了英語和韓語,我們支持日本,中國,越南,柬埔寨,土耳其,德語,西班牙語,法語和意大利語。

擴展的SQL

在9.0版之前,CUBRID已經提供了超過90%的SQL兼容與MySQL。在這個新版本中,我們進一步擴展SQL語法,能夠更加與MySQL和Oracle數據庫的兼容。 添加如下:

  1. Analytics functions OVER aggregate functions
  2. MERGE statement support
  3. JOIN support in DELETE/UPDATE statements
  4. ENUM data type
  5. Pseudo columns (SYSDATE and USER) as DEFAULT values.
  6. Stand-alone VALUES clause
  7. OFFSET keyword in LIMIT clause
  8. LEVEL pseudo column in hierarchical queries
  9. </ol>

    Now when migrating data to the latest version of CUBRID, most of SQL statements written in your applications will stay intact. Moreover, CUBRID Migration Toolkit will automatically match most of MySQL/Oracle/CUBRID data types to the most appropriate one in CUBRID 9.0, thus provide seamless migration experience.

    To learn more about each of these extensions, refer to 9.0 Release Notes.

    高級索引

    我們已經增加了幾個非常重要的索引技術,顯著提高性能的讀取操作。

    1. Function based indexing allows to include function expressions in columns comprising an index.
    2. Filtered indexing allows to include search conditions in an index.
    3. Index skip scan optimization allows users to use a multi-column index from its second column even when the first column is not specified.
    4. </ol>

      This all add up to optimizations we have introduced in previous versions. They are:

      1. Index types
        1. Reverse Index
        2. Unique Index
        3. Primary Key
        4. Foreign Key
        5. </ol>

        6. Query Optimizations
          1. Multi-range limit optimization
          2. Key limit optimization
          3. Skip ORDER BY
          4. Skip GROUP BY
          5. Prefix Index
          6. Index range scan optimization
          7. Covering Index
          8. Descending Index
          9. Query Rewrites
          10. </ol>

          11. Server level optimizations
            1. Shared Query Plan Cache
            2. Locking Optimizations
            3. Transaction Concurrency
            4. Log compression
            5. </ol> </ol>

              數據庫分片支持

              數據庫分片是開源CUBRID RDBMS提供的一個非常重要和巨大的特性。上周在莫斯科舉行的Highload++會議中,我們提出了關于CUBRID分片。下面的演示幻燈片。

              Thus, with a native support for High-Availability (HA) with fail-over feature CUBRID provides the best set of RDBMS functionality for large scale Web applications. For further reading about CUBRID SHARD, refer to the following blog articles and CUBRID Manual:

              • Database Sharding the Right Way: Easy, Reliable, and Open source - HighLoad++ 2012
              • Database Sharding with CUBRID
              • Database Sharding Platform at NHN
              • Meet CUBRID Database Developers at Russian Internet Technologies 2012 Conference
              • CUBRID SHARD Manual
              • </ul>

                附加功能

                Some other new features in CUBRID 9.0 are:

                1. Cursor Holdability support
                2. Improved Error Messages
                3. </ol>

                  改進了穩定性和性能

                  引擎整體性能

                  In CUBRID 9.0 we have significantly improved the overall performance of the CUBRID Engine as well as its stability. The throughput and response time of CUBRID 9.0 have been improved for more than 300% when compared to a previous version.

                  開源數據庫 CUBRID 9.0 發布,3倍的性能提升和分片支持

                  Figure 1: The number of read/write requests per second of SysBench benchmark.

                  開源數據庫 CUBRID 9.0 發布,3倍的性能提升和分片支持

                  Figure 2: The average execution time per request of SysBench benchmark.

                  開源數據庫 CUBRID 9.0 發布,3倍的性能提升和分片支持

                  Figure 3: The accumulated number of transactions of SysBench benchmark.

                  提高讀取性能

                  To measure the effectiveness of new Indexing types and optimizations on READ performance, we have run a basic performance test on CUBRID 8.4.1 and 9.0. SELECT performance in the new version has increased for more than 160% while the performance of WRITE operations is remained on the same level.

                  開源數據庫 CUBRID 9.0 發布,3倍的性能提升和分片支持

                  Figure 4: Performance Comparison between R4.1 Patch 6 and 9.0 Beta (Linux 32-bit).

                  改進了穩定性和性能的分區

                  In CUBRID 9.0 we have fundamentally enhanced the Partitioning feature for better stability and performance. In addition, we have added support for PROMOTE statement which allows users to promote a specific partition from a partitioned table to a general table.

                  改進的HA穩定性和操作的便利性

                  HA is the flagship feature in CUBRID since version 8.2.0. In this new version we have fixed many stability issues in CUBRID HA. This version also provides a separate control for the HA management process and easier dynamic addition and deletion of nodes in the HA management process.

                  So CUBRID 9.0 is the best RDBMS we have ever released so far with tons of valuable features, significantly increased performance, and native support for database sharding. We have updated most of APIs that you can use to connect to CUBRID 9.0. You can download PHP, PDO, Python, Ruby, Perl, ADO.NET, OLEDB, ODBC, JDBC, C, and Node.js drivers from http://www.cubrid.org/downloads.

                  For more information about new features and improvements in CUBRID 9.0, refer to Release Notes.

                  If you have questions, feel free to ask on our dedicated Q&A site, forum, 推ter, 非死book, Google+#cubrid IRC channel, or contact us by email. We will be glad to answer you!

                  下面是CUBRID的簡介:

                  CUBRID 是一個全面開源,且完全免費的關系數據庫管理系統。CUBRID為高效執行Web應用進行了高度優化,特別是需要處理大數據量和高并發請求的復雜商務服務。通過提供獨特的最優化特性,CUBRID可以支持更多的并發請求,更少的響應時間。

                  CUBRID這個名稱,實際上是兩個單詞的組合:"Cube"(立方體)和"Bride"(橋梁)。對CUBRID而言,"Bride"代表"data bridge"(數據橋),而"Cube"代表密封盒子,可以為放在其中的數據提供安全。因此,CUBRID代表可以為機密信息提供安全保障。

                  CUBRID的服務器和官方程序庫是使用C/C++開發的,而數據庫管理工具的CUBRID Manager則是使用Java開發的。CUBRID支持Linux和Windows操作系統,并且提供JDBC、PHP、ODBC、C、Ruby和Python等相關API。

                  CUBRID被韓國IT業的領頭企業NHN公司大量的使用,該公司部署了超過一萬臺CUBRID服務器,看來它的確和MySQL有得一比。

                   本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
                   轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
                   本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!