0
点赞
收藏
分享

微信扫一扫

LightDB 22.2正式发布

茗越 2022-10-21 阅读 97

本版本主要特性包括:

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​​.
  • ​sysdate​​​and ​​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:

Architecture

OS

​​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.

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



举报

相关推荐

0 条评论