• LightDB 22.2正式发布


    本版本主要特性包括:

    1、引入实验性特性oracle pl/sql存储过程兼容,兼容绝大部分oracle pl/sql一份代码可以同时运行于oracle和lightdb

    2、lightdb jdbc支持autocommit=true时,fetchsize生效

    3、lightdb优化器提示进一步完善,且语义兼容oracle

    4、原生分布式DDL语法,和greenplum一样

    5、支持lightdb实时同步oracle,ltdts_recvlogical,详细使用后续文章专门更新。本版本TPS可到10000笔每秒,下个版本预计可到4-5万笔每秒。

    6、lt_dump支持cascade,可极大的提高性能。

    7、sysdate/systimestamp支持语句级一致性,oracle语义一致

    8、merge into支持分布式版

    9、支持龙芯cpu、rocky linux。

    在最新版的性能测试中,单机TB级容量下,2.6k*2亿文档,lightdb全文检索性能高于es 6.x版本,且实时索引。在金融业务系统ETF TA、自建TA中,相同数据量、业务量下,某SZ头部公募基金性能选型测试中,lightdb性能远高于某base和某号称全自研的国产第一数据库。

    目前,lightdb正在BJ绝对头部券商现场业务测试,SH、合肥中部券商业务测试。

    详细特性如下:

    E.1. Release 13.3-22.2

    Release date: 2022-06-30

    • Support patch for quick upgrade, see lt_patch.

    • Add PL/oraSQL loadable procedural language, see plorasql

    • lt_hint_plan Enhancements

      • Add three new hints: use_hash,use_nl,full, semantics are consistent with Oracle.

      • The table name in hint is case-insensitive.

      • Hint parallel default is hard and supports no table specification.

      • Hints can be applied to the tables of the subquery when the subquery has only one table.

        EXPLAIN (COSTS false) select /*+use_hash(t1 y)*/* from t1,(select * from t2) y where t1.id=y.id;
        
                 QUERY PLAN             
        ------------------------------------
        Hash Join
        Hash Cond: (t1.id = t2.id)
        ->  Seq Scan on t1 @"lt#0"
        ->  Hash
                ->  Seq Scan on t2 @"lt#1"
        (5 rows)
        
    • Support User-defined type priority for better function and operator match, see type compatible.

    • Support CREATE TABLE DISTRIBUTED BY to create distribute table(depends on extension canopy), see CREATE TABLE.

      create table dist1(a int, b int) distributed by hash(a) shard_count(4);
      
    • Auto-explain execution plan logs are printed in a separate log file (*.slow) using JSON format.

    • Add extension wal2sql to support Real-time synchronization to Oracle.

    • lt_dump support --recreate-schema to generate drop schema(use CASCADE mode) command for better performance, see lt_dump.

    • Client Applications and libpq Support LightDB environment variables.

    • sysdateand systimestamp indicates the statement start time.

      lightdb@postgres=# begin;
      BEGIN
      lightdb@postgres=*# select sysdate from dual;
          sysdate       
      ---------------------
      2022-06-28 19:44:15
      (1 row)
      
      lightdb@postgres=*# select sysdate from dual;
          sysdate       
      ---------------------
      2022-06-28 19:44:16
      (1 row)
      
      lightdb@postgres=*# end;
      COMMIT
      

      For details, see datetime.

    • When install with high availability, enable replication slot default.

    • Support Order-Preserving Encryption ,see lt_ope

    • The following platform support is added:

      ArchitectureOS
      LoongArch Kylin V10(SP1)
      x86_64 rockylinux
      aarch64 rockylinux
    • Add cluster control tool lightdb_service.py to facilitate the overall start and stop of services in high availability and distributed environments.

      start cluster:

      lightdb_service.py -c start
      

      stop cluster:

      lightdb_service.py -c stop
      
    • The value 0 in PWR is display as empty, for details, see lt_profile.

    • In non-distributed installation, the canopy extension not installed.

    • When keepalived and ltcluster are restarted, new log files are generated to avoid confusion with old logs.

    • lt_initdb does not restrict the order of options.

    • Fix cannot assign XIDs during a parallel operation error occurs occasionally during parallel query in lt_show_plans.

    • Release the JDBC driver library based on PostgreSQL.

      • maven repository

        <dependency>
            <groupId>io.github.hslightdb</groupId>
            <artifactId>lightdb-jdbc</artifactId>
            <version>42.2.30</version>
        </dependency>
        

      We fixed some of the issues and enhanced data type compatibility:

      • fix:fetchSize does not take effect in automatic commit mode, causing the whole data to be loaded into the memory and causing out-of-memory problem.

      • support oracle anonymous blocks syntax (see plorasql ).

      • support to_number() function compatible with oracle.

      • support numeric data type convert to Java Long.

      • support char(1) data type convert to Java Character.

      • fix loss of precision when Java setDouble operates on numeric field.

    • lt_cron supports linux command.

      SELECT cron.schedule('dayly-touch', '59 23 * * *', 'rm -rf $LTDATA/log/*', 'next', '8', 'linux');
      
    • Built-in tool application lvs for load balancing in distributed environment wiith multi-CN.

    • Built-in tool application postgresrest.

    • Changed file naming rules in the installation directory and instance directory.

    • The extension objects in public schema are all moved to the lt_catalog schema.

    • RPM dependencies are built into the installation package.

    • Support merge into in distributed environment. because of timeline, this version not support set alias.old_value = src.new_value, but set old_value = src.new_value.

    详见lightdb官方网站www.hs.net/lightdb,lightdb官方文档网站www.light-pg.com。

  • 相关阅读:
    uoj #2 【NOI2014】起床困难综合症 贪心+位运算
    codeforces 620E. New Year Tree dfs序+线段树+bitset
    leetcode 29. Divide Two Integers
    leetcode 15. 3Sum 双指针
    leetcode 211. Add and Search Word
    codeforces 464C. Substitutes in Number
    在线CDN代码-jq jquery
    渐变色--浏览器兼容性
    URL编码表%20Base64编码表%20HTTP消息含义
    《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南
  • 原文地址:https://www.cnblogs.com/zhjh256/p/16502662.html
Copyright © 2020-2023  润新知