-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
Highlight
Multi-tenant & Resource isolation
Now users can divide BE nodes in a Doris cluster into multiple resource groups by means of resource tags, so that online and offline business can be unified management and node-level resource isolation.
At the same time, the resource overhead of a single query can be controlled by limiting the CPU, memory overhead, and complexity of a single query task, thereby reducing the problem of resource preemption between different queries.
For details, please refer to Usage Document.
Performance optimization
Added Runtime Filter (#6121) and Join Reorder (#6226) functions.
The Runtime Filter function filters the data of the left table by using the join key column condition of the right table in the join operator, which can significantly improve query efficiency in most join scenarios.
For example, under the Star Schema Benchmark (TPCH's condensed test set), a 2-10 times performance improvement can be obtained.
For details, please refer to Usage Document.
The Join Reorder function can automatically help adjust the order of joins in SQL through the cost model to help obtain the best join efficiency.
It can be turned on through the conference return variable set enable_cost_based_join_reorder=true.
New features
- Support direct connection to Canal Server to synchronize MySQL binlog data. For details, please refer to Use Document. ([New Feature] Support synchronizing MySQL binlog in real time [stage 1] #6289)
- Support String column type, length range 1-2GB (Support long text type STRING with a maximum length of 2GB #6391)
- Support the List partition function, which can create partitions for enumerated values. ([Feature] add list partition support #5529)
- Support transactional insert statement function. You can import data in batches by begin; insert;,insert;,...; commit; (Add transaction for the operation of insert #6244 #6245)
- Support the update statement function on the Unique Key model. The update set where statement can be executed on the Unique Key model table ([Update] Support update syntax #6230)
- Support SQL blocking list function. The execution of some SQL can be prevented through regular, hash value matching, etc. (ADD: support sql block rule #6192)
- Support LDAP login authentication ([Feature][LDAP] Add LDAP authentication login and LDAP group authorization support. #6333)
Extensions
-
Support Flink-Doris-Connector ([Feature] Flink Doris Connector (#5372) #5375)
For details, please refer to Usage Document
-
Support DataX doriswriter plug-in (feat: Implementation Datax doriswriter plugin #6107)
For details, please refer to Usage Document
-
Spark-Doris-Connector supports data writing to Doris. ([feature]:support spark connector sink data to doris #6256)
Optimization
Query
Supports the calculation of all constant expressions by using BE's function calculation ability in the SQL query planning stage (#6233).
Load
- When importing text format files, specify multi-byte row and column separators or invisible separators ([Load] Support multi bytes LineDelimiter and ColumnSeparator #5462 support unescape some invisible char in separator #5524)
- Support for importing compressed format files through StreamLoad ([Load]Support compressed csv file in stream load #5463)
- Stream Load supports importing json data in multi-line format (5774)
Export
- Support the Export function to specify where filter conditions. Support exporting files to use multi-byte row and column separators. Support export to local file ([Export] Expand function of export stmt #5445)
- The Export export function supports exporting only the specified columns. (Data export function, add export to specify certain columns #5689)
- Support to export the result set to local disk through outfile statement, and support to write the successfully exported mark file after export ([Outfile] Support exporting query result to local disk #5489)
Utilities
- The dynamic partition function supports the creation and retention of designated historical partitions, and supports automatic cold and hot data migration settings. ([Feature] Support create history dynamic partition #5703 [DynamicPartition] Support specifying hot data partition #5877 [Dynamic Partition] reserve specific history periods by dynamic partition. #6554)
- Support the use of a visual tree structure to display queries, imported plans and profiles on the command line. ([Profile] Visualize the query plan and query profile #5475 [Profile] Support show load profile for broker load job #6214)
- Support recording and viewing stream load operation logs. ([Audit][Stream Load] Support audit function for stream load #5452 [Feature][Stream Load] Add "show stream load" to show stream load record #5488)
- When consuming Kafka data through Routine Load, you can specify the time point for consumption. ([Feature][RoutineLoad] Support for consuming kafka from the point of time #5832)
- Support to export the creation statement of routine load through the show create routine load function. ([Feature] ADD: show create routine load #6110)
- Support to start and stop all routine load jobs with one key via the pause/resume all routine load command. ([RoutineLoad] Support pause or resume all routine load jobs #6394)
- Support to modify routine load broker list and topic through alter routine load statement ([RoutineLoad] Support alter broker list and topic for kafka routine load #6335)
- Support create table as select function. (Support create table as select #6102)
- Support to modify column comments and table comments through the alter table command. ([Alter] Support alter table and column's comment #6387)
- show tablet status adds table creation time and data update time (Add update time to show table status #6117)
- Support the show data skew command to view the data distribution of the table to troubleshoot data skew problems. ([Feature] Support SHOW DATA SKEW stmt #6219)
- Support the show/clean trash command to view the disk occupancy of the BE file recycle bin and actively clear it ([Feature] Support for querying the trash used capacity #6247 [Feature] Support for cleaning the trash actively #6323)
- Support showing which views a table is referenced by the show view statement. ([Feature] Support show view statement for table #5813)
New builtin function
- bitmap_min, bit_length ([Function] Add BE udf bitmap_min (#2538) #5581 [Feature] support bit_length function #6140)
- yearweek, week, makedate ([Function] Support date function: yearweek(), week(), makedate(). #6000)
- Percentile exact percentile function ([Feature] Support exact percentile aggregate function #6410)
- json_array, json_object, json_quote ([Feature] Support for storage layer benchmark #6506)
- Supports the creation of custom public keys for the AES_ENCRYPT and AES_DECRYPT functions. (6115)
- Support creating function alias through create alias function to combine multiple functions. ([Feature] Support alias function #6261)
Others
- Support to access the ES appearance of the SSL connection protocol ([Doris On ES][WIP] Support external ES table with
SSLsecured and configurable node sniffing #5325) - Support to specify the number of hot partitions in the dynamic partition properties, and the hot partitions will be stored in the SSD disk. ([DynamicPartition] Support specifying hot data partition #5877)
- Supports importing json format data through Broker Load. ([BrokerLoad] Support read properties for broker load when read data #5845)
- Supports directly accessing hdfs through the libhdfs3 library for data import and export without the need for a broker process. (Support read data with format of parquet from hdfs, using libhdfs3 #5686)
- The select into outfile function supports export parquet file format, and supports parallel export ([Feature] Select outfile support parquet format #5938 Support concurrent export of query results #6539)
- ODBC external table supports SQLServer. (6223)
Contributors
Thanks for all contributors who contrubute to this release:
@924060929
@acelyc111
@Aimiyoo
@amosbird
@arthur-zhang
@azurenake
@BiteTheDDDDt
@caiconghui
@caneGuy
@caoliang-web
@ccoffline
@chaplinthink
@chovy-3012
@ChPi
@copperybean
@crazyleeyang
@dh-cloud
@DinoZhang
@dixingxing0
@dohongdayi
@e0c9
@EmmyMiao87
@eyesmoons
@francisoliverlee
@Gabriel39
@gaodayue
@GoGoWen
@HappenLee
@harveyyue
@Henry2SS
@hf200012
@huangmengbin
@huozhanfeng
@huzk8
@hxianshun
@ikaruga4600
@JameyWoo
@jennifer88huang
@JinLiOnline
@jinyuanlu
@JNSimba
@killxdcj
@kuncle
@liutang123
@luozenglin
@luzhijing
@MarsXDM
@mh-boy
@mk8310
@morningman
@Myasuka
@nimuyuhan
@pan3793
@PatrickNicholas
@pengxiangyu
@pierre94
@qidaye
@qzsee
@shiyi23
@smallhibiscus
@songenjie
@spaces-X
@stalary
@stdpain
@Stephen-Robin
@Sunt-ing
@Taaang
@tarepanda1024
@tianhui5
@tinkerrrr
@TobKed
@ucasfl
@Userwhite
@vinson0526
@wangbo
@wangliansong
@wangshuo128
@weajun
@weihongkai2008
@weizuo93
@WindyGao
@wunan1210
@wuyunfeng
@xhmz
@xiaokangguo
@xiaoxiaopan118
@xinghuayu007
@xinyiZzz
@xuliuzhe
@xxiao2018
@xy720
@yangzhg
@yx91490
@zbtzbtzbt
@zenoyang
@zh0122
@zhangboya1
@zhangstar333
@zuochunwei