Completely supports Oracle PL/SQL, Transwarp KunDB has high compatibility to realize low-cost localization replacement

From a series of high-tech companies such as ZTE and Huawei being sanctioned by the United States, to the outbreak of the Russia-Ukraine conflict, Western countries successively announced sanctions on Russia, and technology giants represented by Oracle, IBM, Microsoft, and SAP suspended their services in Russia. The action sounded the alarm for us to accelerate the replacement of localization. As the basic software that provides data storage and processing capabilities, the database is the foundation of the information system and the cornerstone of information security. Therefore, it is urgent to independently control the database and replace it with localization .

Compatibility is the key to localization, and self-developed databases have more potential

The Oracle database developed earlier and has taken a certain advantage in the domestic market. After long-term accumulation and innovation of informatization, the enterprise has developed a large number of system businesses based on Oracle. In order to be able to adapt to new domestic database products, a large number of application codes must be modified, and the data types, functions, and grammar rules of each data table need to be systematically and comprehensively transformed. Very good compatibility support, reducing the cost of code transformation for migration.

After years of development, Oracle has accumulated many expansions in terms of SQL language, performance, instance form, and disaster recovery solutions. In order to realize the localized replacement of the Oracle database, in addition to being able to provide all-round equivalent capabilities in terms of performance, disaster recovery capabilities, and security capabilities, the first thing to solve is how to be compatible with Oracle’s large SQL dialects, especially Oracle’s PL/SQL is a unique and popular syntax system.

According to the "Database Development Research Report" of the China Academy of Information and Communications Technology, "most of the domestic relational database products are based on the secondary development of MySQL and PostgreSQL." Therefore, these products have good compatibility with MySQL and PostgreSQL, but they are not systematically compatible with Oracle, especially PL/SQL.

"A high degree of commercial database compatibility means a lot of design and R&D work, involving multiple aspects of the overall product architecture, which is a test of the manufacturer's ability to understand and control the code." The "Distributed Database Development Trend Research Report" jointly issued by the National Industrial Information Security Development Research Center, the Chinese Institute of Electronics and the Beijing National Financial Technology Certification Center pointed out that "completely self-developed products have inherent advantages in this area . Compatibility and adaptation or the development of product capabilities have more potential."

KunDB is a domestic distributed transactional database independently developed by Transwarp Technology . It provides a complete relational database capability and is highly compatible with MySQL and Oracle. It can replace and migrate localized databases at low cost. Availability, data disaster recovery and other features meet complex scenarios such as enterprise key business processing, high-concurrency query, business distributed transformation, transaction analysis mixed data middle platform, etc., in finance, government affairs, energy, medical care, transportation, education and other industries Application, to provide users with high-performance, stable and reliable, economical and practical, independent and controllable localized database products.

Highly compatible with Oracle, realizing smooth replacement of low-cost localization

KunDB is highly compatible with all aspects of Oracle syntax, and has become the industry's leading domestic database capable of supporting Oracle business migration. KunDB is highly compatible with Oracle syntax and PL/SQL, and supports all commonly used data types such as VARCHAR2/NVARCHAR2, NUMBER, etc. In terms of PL/SQL syntax, it supports control statements, collections, dynamic SQL, subroutines, predefined packages, error handling, etc. /SQL syntax , and through the original PL/SQL compiler, KunDB supports complex PL/SQL programs, and its execution performance is an order of magnitude higher than that of interpretation execution , which solves the core pain point of Oracle business migration to localized databases and provides other compatibility Perfection provides the foundation.

In terms of Oracle database objects, DML, functions, system views, built-in packages, drivers, etc., KunDB achieves compatibility with commonly used functions , meets the migration needs of most businesses, and greatly reduces the cost of enterprise business migration.

For example, during the migration process of a provincial social security system, KunDB completed the migration of more than 80,000 lines of PL/SQL code in only 3 days, ensuring the migration of the original database efficiently, at low cost, and safely, and smoothly implementing the database system localized alternatives.

Innovative procedural language compilation technology, fully supports Oracle PL/SQL syntax

KunDB's self-developed innovative procedural language compilation technology and intermediate optimization language TIR support complex PL/SQL programs, and its execution performance is an order of magnitude higher than that of interpreted execution.

  • It abstracts and realizes TIR, the universal intermediate PL/SQL instruction set of Transwarp, and provides basic expression capabilities for various code compilation and execution methods
  • Combined with LLVM code generation technology, it directly generates CPU instructions, which is an order of magnitude more efficient than high-level languages ​​such as Go when generating code
  • The built-in LLVM optimizer uses the latest compilation optimization technology to optimize invalid codes, common expressions, dead codes, boundary check elimination, etc., to ensure the simplification of the final execution code
  • The self-developed expression calculation engine supports vectorization and JIT execution, and can be called by PL/SQL and SQL, which is more than 5 times faster than the general expression calculation performance of Go language.

KunDB defines an extremely streamlined and general-purpose TIR instruction set for PL/SQL, of which 6 types of instructions can be used for PL interpretation, 8 instructions can be used for PL/SQL cursor, cursor traversal, static SQL, dynamic SQL interpretation, these 14 The combination of instructions can cover the interpretation of all syntax combinations within the scope of PL/SQL syntax. After PL/SQL is parsed into an abstract syntax tree, PL and SQL are interpreted into corresponding instruction sets by the TIR instruction set. The TIR instruction supports the LLVM compiler, which can generate Native code for different platforms, that is, the CPU instruction set to accelerate execution. During the compilation process of LLVM, the logic optimization of some codes will be automatically and synchronously completed, such as the removal of invalid codes. The compiled execution instruction set KunDB will be stored in the metadata, providing a reusable instruction set (similar to an execution plan) for the same PL/SQL text. For PL/SQL instructions that are not yet supported in the LLVM instruction set, they will be reserved as high-level language (Golang) instructions and will be compiled and executed by the high-level language compiler. Therefore, KunDB's PL/SQL execution maps most instructions to CPU instructions for execution, and does not require repeated compilation. Compared with compiling into other high-level languages ​​each time, it has a greater performance advantage. Taking the PL/SQL implementation similar to the NewOrder processing in TPCC as an example, without considering SQL execution, the execution of pure PL logic is more than three times that of dynamic compilation and execution using KunDB, which is completely compiled and executed by high-level language .

In addition, expression calculation in PL/SQL and regular SQL syntax is one of the key factors affecting performance. Drawing on the idea of ​​dynamic compilation and execution, KunDB designs and implements an expression engine based on columnar data and dynamic execution. For Aggregation calculations of numerical types are executed more than 10 times faster by using dynamic compilation than ordinary interpretation.

Query optimization and vectorized execution engine, high-performance complex SQL query

KunDB's volcano model-based optimizer and vectorized execution engine support cross-shard queries, and the supported SQL includes complex SQL scenarios such as recursive queries, nested subqueries, and aliases. A specially optimized expression module for expression calculations with high performance consumption in aggregate calculation SQL. Logic optimization can use this module to perform optimizations such as constant folding and common expression extraction. The executor calls this module to perform expressions calculate. Taking TPCH as an example, KunDB can efficiently run all 22 complex query SQLs within 100GB.

Adapt to the Oracle application ecosystem to ensure smooth business migration

KunDB adapts to the Oracle application development ecosystem, supports Oracle-based businesses to connect to KunDB directly or through a middleware framework, including applications developed in languages ​​such as Java, .NET, and C/C++, especially for C/C++ applications that provide Oracle-compatible OIC/ OCCI driver to ensure smooth migration of services. KunDB also provides an open data ecology, which can be synchronized with heterogeneous systems in real time through the global transaction log, and can be applied to scenarios such as real-time data warehouse construction, parallel operation of Oracle and KunDB dual database systems, and switchback.

Taking the adaptation of a large-scale medical HIS system as an example, the .NET EFCore development framework used is connected with Transwarp KunDB, and the smooth migration of multiple core business systems is guaranteed through high compatibility and migration services. The data type and syntax compatibility of the core database source system can be adapted to the application with only a small amount of adjustments. While saving a lot of labor costs, it ensures the non-destructive cutting of the database and realizes the goal of quickly and safely replacing Oracle.

Transwarp Technology's distributed transactional database KunDB is independently developed , and has passed multiple database authoritative test certifications such as the Ministry of Industry and Information Technology, the Central Bank, and the Institute of Information and Communications Technology with excellent results, providing users with high-concurrency, high-performance, and high-reliability domestic database products. At the same time, KunDB is highly compatible with Oracle PL/SQL and MySQL dialects, which can realize localized replacement of low-cost databases , and is adapted to support domestic servers, chips, operating systems and other software and hardware ecology , helping enterprises to build independent and controllable data platforms.

Guess you like

Origin blog.csdn.net/mkt_transwarp/article/details/130270040