OceanBase Database V4.3.5 is the first Long-Term Support (LTS) version tailored for analytical processing (AP) scenarios. Building upon V4.3.4, this release enhances product capabilities by introducing support for nested materialized views, improving full-text and vector indexing features, and strengthening data import and export functionality. New capabilities include direct load for specific partitions, support for external tables to read ORC format files, and the ability for the SELECT INTO OUTFILE statement to export data in Parquet and ORC formats. In terms of optimizer improvements, V4.3.5 advances SQL Plan Management (SPM) with baseline-prioritized evolution strategies, enhances the row estimation system, optimizes the inline cost validation of recursive common table expressions (CTEs), and further improves query range extraction capabilities.
In terms of compatibility, OceanBase Database enhances support for XA transactions in MySQL-compatible tenants and improves the Latin1 character set. For Oracle-compatible tenants, it introduces support for complex parameter types in remote procedure calls between tenants, facilitating the smooth migration of workloads between Oracle and MySQL.
From a performance perspective, V4.3.5 introduces enhancements to table-level recovery performance, direct load performance, DML performance, and DDL performance. The new version supports online conversion between row-based storage and columnar storage, enables quick middle column addition, and extends parallel DDL operations. To strengthen resource isolation, it integrates statistical information and clog submission into resource isolation mechanisms and extends isolation to the I/O layer. This release also introduces SQL-level memory usage limits, optimizes memory usage in stored procedures, and reduces tenant memory consumption through a shared thread pool, improving stability across various scenarios. In terms of usability, V4.3.5 enhances diagnostic capabilities for Active Session History (ASH) and Workload Repository (WR), supports parallel migration optimization for log stream replicas, and improves observability of log synchronization links by adding monitoring views for log transmission. These improvements make OceanBase Database more user-friendly. Additionally, the new version supports richer ARRAY and XML expressions, optimizes memory usage during the execution of JSON, XML, and GIS data types, and enhances compatibility with OBKV-HBase and HBase. It also introduces monitoring for P95 and P99 metrics in OBKV, further improving its usability and monitoring capabilities.
This topic describes the key features and major performance improvements of OceanBase Database V4.3.5.
Key features
Support for nested materialized views
In versions prior to V4.3.5, only materialized views could be built on regular user tables. In data warehouse scenarios, materialized views are used for data processing. To support lightweight real-time data warehouses, V4.3.5 allows you to create a nested materialized view based on an existing one. Nested materialized views support the same refresh methods as non-nested materialized views, including complete refreshes and incremental refreshes. Therefore, V4.3.5 supports clogs for materialized views. The data freshness of a nested materialized view is related to that of its base tables. To ensure the freshness of data in upper-level materialized views, users must refresh the underlying materialized views first.
For more information, see Create a materialized view (MySQL mode) or Create a materialized view (Oracle mode).
Direct load support for specific partitions
V4.3.5 allows you to specify partitions in the
LOAD DATAandINSERT INTO SELECTstatements to perform direct load. However, you cannot specify partitions whose last-level partitioning type is hash or key.For more information, see Full direct load or Incremental direct load.
Enhanced full-text index functionality
V4.3.5 continues to enhance the functionality of full-text indexing, with the improvements including:
Support for creating full-text indexes using the
CREATE FULLTEXT INDEXorALTER TABLE ADD FULLTEXT INDEXstatements.Support for cost-based full-text index plan selection. For SQL queries containing multiple filters with
MATCH AGAINST, the system can choose the index with the lowest cost for scanning based on cost estimation.Support for functional lookup:
- Allows queries to include multiple
MATCH AGAINSTexpressions. - Supports using full-text indexes with other indexes in the same query.
- Enables
MATCH AGAINSTexpressions without filter semantics to be used as projection columns for output. - Allows
MATCH AGAINSTexpressions with filter semantics to use<=or<operators for filtering. - Supports combining
MATCH AGAINSTexpressions with filter semantics and other filter conditions using logicalANDorORoperations.
- Allows queries to include multiple
For more information, see MATCH AGAINST.
Enhanced SELECT INTO OUTFILE functionality
V4.3.5 enhances the
SELECT INTOexport functionality by adding support for exporting files in Parquet and ORC formats, enabling the specification of compression algorithms for CSV exports, and introducing new syntax options to improve flexibility and usability.- Use the format syntax to set export options.
- Specify a compression algorithm when exporting CSV files.
- Export Parquet files.
- Export ORC files.
For more information, see Export data by using the OUTFILE statement.
External tables
In V4.3.5, external tables can read ORC files.
For more information, see Create an external table (MySQL mode) or Create an external table (Oracle mode).
Middle column addition
For MySQL compatibility, V4.3.5 improves the performance of adding columns in the middle of a table by changing the DDL operation from offline DDL to online DDL. It supports two scenarios for online DDL: adding a column in the middle (
ADD COLUMN) and combining middle column addition with column modification (ADD COLUMNandMODIFY COLUMN).
Performance improvement
Asynchronous online DDL supported for row-to-column storage conversion
V4.3.0 introduced support for three storage formats: row-based storage, columnar storage, and hybrid row-column storage. Previously, converting a rowstore table to a hybrid row-column table or a columnstore table required Offline DDL, which could disrupt customer operations. To address this, V4.3.5 introduces asynchronous online DDL for converting rowstore tables to columnstore tables. By specifying the
delayedkeyword in DDL statements, users can update table schemas in real time without blocking data writes. Additionally, baseline data reorganization for columnar storage is now performed asynchronously during baseline data major compaction. V4.3.5 fully supports online DDL for converting rowstore tables to both columnstore tables and hybrid row-column tables.For more information, see Online DDL and Offline DDL operations and Modify table settings.
Vectorization enabled for direct load
Prior to V4.3.5, the direct load process lacked vectorization, with write functions handling data row by row, leading to significant function call overhead. Additionally, the process of writing to SSTables was performed in the background without targeted optimizations. In V4.3.5, the direct load path has been vectorized, and columnar storage encoding has been optimized, resulting in enhanced performance for direct load operations. Tests show that the performance of direct load for columnstore tables without primary keys has improved by approximately 2 times.
Reliability improvement
Backup support for parameters and tenant resources
V4.3.5 introduces support for backing up both cluster-level and tenant-level parameters. Cluster-level parameters can be backed up separately by specifying the path in the
ALTER SYSTEMstatement. Tenant-level parameters are included in backup datasets and are automatically backed up along with the data. When performing a physical restore for a tenant, it is recommended that the resource configurations and replica distribution of the target tenant match those of the source tenant. This ensures a higher success rate for physical restore and maintains the stability of subsequent business operations. To facilitate this, V4.3.5 also supports backing up tenant resource configurations and replica distribution details for reference during recovery.
Security enhancement
- Full support for Rocky Linux 9.
Usability improvement
Optimization of parallel migration for log stream replicas
Starting from V4.3.5, log stream replicas can be migrated in parallel across different zones. This enhancement accelerates scaling operations, improves load balancing efficiency, and reduces the likelihood of replica rebuilds in standby databases. The requirements for parallel migration differ between primary and standby tenants. For primary tenants, parallel migration is mainly used in PoC scenarios to speed up scaling operations. In regular use, however, it may not be enabled, as migrating multiple replicas simultaneously can result in significant data copying, potentially impacting the I/O performance of the primary replica. On the other hand, standby tenants have a strong need for parallel migration, as it significantly reduces the probability of replica rebuilds in standby environments. To manage this feature, the tenant-level parameter
replica_parallel_migration_modeis introduced, allowing control over the parallel migration mode for log stream replicas.For more information, see replica_parallel_migration_mode.
OBKV/Multimodel
JSON multi-valued indexes support complex DML statements
In V4.3.5, JSON multi-valued indexes have been enhanced to support complex DML statements. Multi-valued predicates are now supported in operations such as
UPDATEandDELETE, and complex DML statements involving table access through multi-valued index lookups are also supported.Support for more ARRAY expressions OceanBase Database introduced the
ARRAYdata type in V4.3.3. To better accommodate business applications using theARRAYtype, V4.3.5 adds support for a wider range ofARRAYexpressions, addressing diverse business needs. The new version introduces expressions such asarray_append,array_distinct,arrayMap,array_remove,cardinality,element_at,array_contains_all,array_overlaps,array_to_string,array_agg,unnest, andrb_build.For more information, see Overview of array functions.
Enhanced vector index functionality In V4.3.5, OceanBase Database not only improves the stability of existing vector index features but also increases the maximum supported vector dimension from 2,000 to 4,096. Additionally, support for the cosine distance algorithm has been introduced. Users can specify the cosine distance algorithm when creating or enabling vector indexes on tables and use the
cosine_distanceexpression as a filter condition inSELECTstatements.Improved OBKV-HBase compatibility
OceanBase Database further enhances compatibility with HBase 1.x/2.x in V4.3.5. The improvements include support for multiple namespaces, ColumnRangeFilter, ColumnValueFilter, CheckAndMutateBuilder, hybrid batch operations, and CheckAndMutateBuilder.
Histogram of OBKV response time
Building on the response time histogram feature introduced in V4.3.4, the new version adds OBKV-related statistics categories to the
[G]V$OB_QUERY_RESPONSE_TIME_HISTOGRAMview. The categories areTABLEAPI SELECT,TABLEAPI INSERT,TABLEAPI DELETE,TABLEAPI UPDATE,TABLEAPI REPLACE,TABLEAPI QUERY AND MUTATE,TABLEAPI OTHER,HBASE SCAN,HBASE PUT,HBASE DELETE,HBASE APPEND,HBASE INCREMENT,HBASE CHECK AND PUT,HBASE CHECK AND DELETE, andHBASE HYBRID BATCH.