This topic describes the new features and changes of OceanBase Database Community Edition V3.1.2 based on the previous version.
Overview
OceanBase Database Community Edition V3.1.2 provides users with GUI-based OceanBase Developer Center (ODC), OceanBase Cloud Platform (OCP), OceanBase Migration Service (OMS), and OBLOADER and OBDUMPER free of charge.
OceanBase Database supports online cross-version rotating upgrades. You can use OceanBase Deployer (OBD) to upgrade OceanBase Database from this version to the specified later version. OBD automatically identifies the best upgrade path and performs the upgrade with zero business interruption. The update of hotspot rows is optimized, and the update performance is improved by 300%. The eviction mechanism of SQL execution plans for partitioned tables is optimized. The underlying communication code is optimized. Multiple SQL modes and system functions are provided.
New features
ODC
ODC is a database development platform tailored for OceanBase Database. It provides multiple features for database developers to manage database objects, intelligent syntax, sessions, recycle bins, resources, and permissions, and import and export data.
Core features of ODC:
Multi-window development mode
ODC supports development in SQL windows, anonymous block windows, and command-line windows. You can choose the window for development as needed. SQL windows and anonymous block windows support advanced features, such as intelligent input prompt, syntax highlighting, and formatting.
Comprehensive result set management
ODC supports interactive operations on tabular result sets and allows you to export all or part of the query result sets in an SQL window.
Flexible data import and export
ODC supports many file formats, such as SQL and CSV. You can import and export the data of one or more tables or the database at a time. You can also specify whether to import or export objects and table data separately or together.
Collaboration management
The built-in ODC console allows you to edit the roles and permissions of user groups and manage connection resources to improve the collaboration management efficiency of your enterprise.
OCP
OCP is a database cluster O&M and management platform tailored for OceanBase databases of enterprises. OCP helps you with the O&M and management of resources such as hosts, networks, and software packages throughout the lifecycle of clusters and tenants at lower costs.
Core features of OCP:
Cluster management
OCP supports many cluster O&M features. For example, you can install, monitor, configure, upgrade, and delete a cluster, and add a host to or remove a host from a cluster.
Tenant management
OCP provides management features for OceanBase tenants, including tenant creation, tenant topology, performance monitoring, session management, and parameter management.
Monitoring and alerts
OCP supports monitoring and alerting of clusters, tenants, and hosts. You can use default or custom alert items, and specify whether to push alert messages by using HTTP or scripts.
System management
OCP allows you to view and manage tasks in the Running state. You can customize parameters based on your business.
Security
OCP allows you to create, modify, or delete database users and roles. You can grant permissions to and revoke permissions from roles. You can manage the personal settings, passwords, and alert subscriptions of OCP users in User Center.
OMS
OMS allows you to migrate data from heterogeneous databases to OceanBase Database with zero service interruptions. After applications are switched to OceanBase Database, OMS synchronizes all changes in the destination database to the source database. You can create data migration projects, customize task settings, and monitor and manage migration components on the OMS console.
Core features of OMS:
OMS supports the migration of database objects, such as the automatic export, conversion, and creation of tables, constraints, and indexes.
OMS supports full data migration.
OMS supports incremental data migration and migrates the real-time incremental data from the source to the destination by parsing logs.
OMS supports full data verification. It compares all fields of the data tables in the source with those in the destination and provides revised SQL statements for inconsistent data.
OMS supports reverse incremental migration: After you switch your business applications to the destination data source, OMS synchronizes the incremental data in the destination data source back to the source data source in real time.
OMS supports MySQL 5.6 and 5.7.
OMS supports custom alert settings.
OMS supports host monitoring, component monitoring, and component O&M.
OBLOADER and OBDUMPER
OBLOADER and OBDUMPER allow you to import data to and export data from OceanBase Database.
You can specify the concurrency, number of records on each query result page, and batch size of data processing based on the load capacity of the kernel to improve the concurrency performance of data import and export.
OBLOADER and OBDUMPER support data preprocessing and are compatible with multiple file formats such as SQL, CSV, and CUT. OBLOADER allows you to import data based on field mapping. OBDUMPER allows you to export data from one or more tables or the database by partition, specified filter, or custom SQL statement.
Online cross-version rotating upgrades
You can run the obd cluster upgrade command to upgrade an OceanBase database. OBD automatically identifies the matching upgrade path and performs rotating upgrades for each zone. Sample command:
obd cluster upgrade <deploy name> -c <component name> -V <version> [tags]
The deploy name parameter specifies the name of the cluster. A cluster can have only one name, and the cluster name must be unique.
Hotspot row processing
The lock-for-write logic is optimized and row locks are released before logs are populated. This improves the maximum update concurrency of hotspot rows from 3,000 TPS to 9,000 TPS in OceanBase Database.
Eviction of SQL execution plans for partitioned tables
OceanBase Database of an earlier version cannot obtain the exact number of rows of partitions on remote nodes when it evaluates a distributed plan. This may result in plan degradation.
This version evaluates an SQL execution plan based on the period of the last execution of the plan. If the average execution period of the sampled plan is longer than two times the period of the first execution, the plan is evicted and a new SQL execution plan is generated. This optimization prevents performance degradation due to SQL plan degradation.
Communication clock stability
In OceanBase Database of earlier versions, the underlying communication framework obtains the CPU clock by calling the SYS_clock_gettime() function to calculate the timeout period. However, the upper-layer SQL business logic uses the operating system clock to record the timeout period by calling the get_timeofday() function. Due to the precision error between the two time formats, the upper-layer business logic may reset the original error code returned by the underlying framework. This version uses algorithms that are tolerant of timeout errors to restore the original error code, which improves the efficiency of error analysis and diagnosis.
Compatibility with MySQL
The following system functions are supported:
VALIDATE_PASSWORD_STRENGTH()
You can call this function to rate the security of a password. It returns a number in the range of 0 to 100. Example:
SELECT VALIDATE_PASSWORD_STRENGTH('Password@123');.UUID_SHORT()
You can call this function to generate a 64-bit unsigned integer. Example:
SELECT UUID_SHORT();.TO_BASE64() and FROM_BASE64()
You can call these functions to encode and decode characters based on the Base64 algorithm. Examples:
SELECT TO_BASE64('12345')andSELECT FROM_BASE64('MTIZNDU=');DAY()
You can call this function to return the day of the month for a specified date. Example:
SELECT DAY('2021-12-12');.ANY_VALUE()
You can call this function to suppress the rejection of values in the ONLY_FULL_GROUP_BY mode.
Others
Open source OBKV Table Java client
This client allows you to access data of the underlying storage tables of OceanBase Database by calling the Table API. You can package up a user-developed program into a JAR file and call the Table API to perform operations such as authentication and adding, deleting, modifying, querying, and appending rows. For more information, see GitHub.
Open source OBKV HBase API
Applications can communicate with OceanBase Database by calling the Table API. The wide-column model is provided. The filter logic is optimized. KEY, RANGE, and prefixed index partitioning are supported. TTL indexes are supported. More features of the open source HBase API client are supported.
Compatibility with Unity Operating System (UOS) by UnionTech
OBServer and ODP are fully compatible with popular x86 OS platforms. For more information about the compatible OS platforms, visit GitHub.
Enhanced ob_admin
ob_admin allows you to parse and explicitly export block_file, archive files, and backup metadata and data. Sample command:
ob_admin dumpsst/archive_tool/dump_backup.The documentation of OceanBase Database Community Edition is improved. The documentation includes many topics, such as architecture design principles, performance tuning, fault handling, and routine maintenance guide.
Fixed issues
The __all_virtual_memory_info virtual table displays incomplete tenant information because the MEMORY APPEND operation fails.
The creation of the global index fails because the OBServer is killed. In this case, the system automatically retries the DDL operation to ensure that the global index is created.
When you write an ultra-long column value, an error is returned, which causes a schema refresh.
Compilation errors on CentOS 8.3 and 7.9 platforms are fixed. For more information, see Issue 714 and Issue 715.