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 extensioncanopy
), 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(useCASCADE
mode) command for better performance, see lt_dump. -
Client Applications and libpq Support LightDB environment variables.
-
sysdate
andsystimestamp
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 thelt_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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2018-07-21 ora-24550 signo=6 signo=11解决
2018-07-21 pthread库的关键应用
2016-07-21 galera cluster各种问题专贴
2016-07-21 一个人最重要的是要有目标