Hi zhengguo,

I look forward to the release of the new version.
I think there are some bug fixes in our pr list. Do you want to check which
ones need to be incorporated during this release?

Ling Miao

寒江雪 <yangz...@gmail.com> 于2021年2月9日周二 上午10:00写道:

> Hi all:
>      Since the release of 0.13,  Apache Doris (incubating)  contains around
> 390 new features, bug fixes, performance enhancements, documentation
> improvements, code refactors from 60+ contributors.
>      Now we are ready to release Apache Doris (incubating) 0.14.0.  I will
> be the release manager of this version.  This release is expected to
> include the following content:
>
> # New Feature
>
> ### Import and delete
>
> Support to delete multiple pieces of data at one time through the import
> method to avoid performance degradation caused by multiple deletions. For
> tables of the UniqueKey model, support to specify the Sequence column when
> importing. Doris will judge the sequence of the data according to the value
> of the Sequence column to ensure that the data is imported Time order
>  [#4310] [#4256]
>
> ### Support database backup
>
> The support in the backup stmt specifies the backup content (metadata and
> data).
> Support exclude backup and restore some tables in stmt. When backing up the
> entire database, you can exclude some very large and unimportant tables.
> Supports backing up and restoring the entire database instead of declaring
> each table name in the backup and restore statement.
>
>  [#5314]
>
> ### ODBC external table support
>
> Support access to external tables such as MySQL, postgresql, Oracle, etc.
> through ODBC protocol
>
>  [#4798] [#4438] [#4559] [#4699]
>
> ### Support SQL level and Partition level result Cache
>
> Support for caching query results to improve the efficiency of repeated
> queries, support SQL-level and Partition-level results Cache [#4330]
>
> ### Built-in functions
>
> - Support bitmap_xor function [#5098]
> - Add replace() function [#4347]
> - Add the time_round function to support time alignment according to
> multiple time granularities [#4640]
>
> ### FE interface and HTTP interface
>
> - The new FE UI interface can be enabled by setting the FE configuration
> item enable_http_server_v2 [#4684]
>
> - BE adds an http interface to show the distribution of all tablets in a
> partition among different disks in a BE [#5096]
> - BE adds an http interface to manually migrate a tablet to other disks on
> the same node [#5101]
> - Support to modify the configuration items of FE and BE through http, and
> persist these modifications [#4704]
> -
>
> ### Compatibility with MySQL
>
> - Added support for views table in the information_schema database [#4778]
> - Added table_privileges, schema_privileges and user_privileges to the
> information_schema library for compatibility with certain MySQL
> applications [#4899]
> - A new statistic table is added to the information_schema meta-database
> for compatibility with some MySQL tools [#4991]
>
> ### Monitoring
>
> - BE added tablet-level monitoring indicators, including scanned data
> volume and row number, written data volume and row number, to help locate
> hot tablets [#4428]
>
> - BE added metrics to view the usage of various LRU caches [#4688]
>
> ### Table building related
>
> - Added CREATE TABLE LIKE statement to facilitate the creation of a table
> metadata copy [#4705]
> - Support atomic replacement of two tables through replace statement
> [#4669]
>
> ### Other
>
> - Support adding Optimizer Hints of type SET_VAR in the Select statement to
> set session variables [#4504]
>
> - Support to repair damaged tablets by filling in empty tablets [#4255]
> - Support Bucket Shuffle Join function (when the Join condition column is a
> subset of the table bucket column, the right table will be shuffled to the
> node where the data in the left table is located, which can significantly
> reduce the network overhead caused by Shuffle Join and improve query speed)
> [# 4677]
> - Support batch cancel import tasks through cancel load statement [#4515]
> - Add a Session variable to set whether to allow the partition column to be
> NULL [#5013]
> - Support TopN aggregation function [#4803]
> - Support a new data balancing logic based on the number of partitions and
> buckets [#5010]
> - Support creating indexes on the value column of unique table [#5305]
>
> # Enhancement
>
> ### Performance improvement
>
> - Implemented a new compaction selection algorithm, providing lower write
> amplification and a more reasonable compaction strategy [#4212]
> - Optimize bit operation efficiency in variable length coding [#4366]
> - Improve the execution efficiency of monery_format function [#4672]
> - Optimize query execution plan: When the bucket column of the table is a
> subset of the GroupBy column in SQL, reduce the data shuffle step [#4482]
> - Improve the efficiency of column name search on BE [#4779]
> - Improve the performance of the BE side LRU Cache [#4781]
> - Optimized the tablet selection strategy of Compaction, reducing the
> number of invalid selections [#4964]
> - Optimized the reading efficiency of Unique Key table [#4958]
> - Optimized the memory usage of LoadJob on the FE side and reduced the
> memory overhead on the FE side [#4993]
> - Reduce the lock granularity in FE metadata from Database level to Table
> level to support more fine-grained concurrent access to metadata [#3775]
> - Avoid unnecessary memory copy when creating hash table [#5301]
> - Remove the path check when BE starts to speed up BE startup speed [#5268]
> - Optimize the import performance of Json data [#5114]
>
> ### Functional improvements
>
> - SQL supports collate utf8_general_ci syntax to improve MySQL syntax
> compatibility [#4365]
> - Improve the function of Batch delete, improve and optimize the related
> compaction process [#4425]
> - Enhance the function of parse_url() function, support lowercase, support
> parsing port [#4429]
> - When SQL execution specifies the execution mode of join (Join Hint), the
> Colocation Join function will be disabled by default [#4497]
> - Dynamic partition support hour level [#4514]
> - HTTP interface on BE side supports gzip compression [#4533]
> - Optimized the use of threads on the BE side [#4440]
> - Optimize the checking process and error message of the rand() function in
> the query analysis stage [#4439]
> - Optimize the compaction triggering and execution logic to better limit
> the resource overhead (mainly memory overhead) of the compaction operation,
> and trigger the compaction operation more reasonably [#4670]
> - Support pushing Limit conditions to ODBC/MySQL external tables [#4707]
> - Increase the limit on the number of tablet versions on the BE side to
> prevent excessive data versions from causing abnormal cluster load [#4687]
> - When an RPC error occurs in a query, it can quickly return specific error
> information to prevent the query from being stuck [#4702]
> - Support automatic mapping of count(distinct if(bool, bitmap, null)) to
> bitmap_union_count function [#4201]
> - Support set sql_mode = concat(@@sql_mode, "STRICT_TRANS_TABLES")
> statement [#4359]
> - Support all stream load features in multiload [#4717]
> - Optimize BE’s strategy for selecting disks when creating tablets, and use
> the "two random choices" algorithm to ensure tablet copies are more even
> [#4373]
> - When creating a materialized view, the bitmap_union aggregation method
> only supports integer columns, and hll_union does not support decimal
> columns [#4432]
> - Optimize the log level of some FEs to avoid log writing becoming a
> bottleneck [#4766]
> - In the describe table statement, display the definition expression of the
> aggregate column of the materialized view [#4446]
> - Support convert() function [#4364]
>     -Support cast (expr as signed/unsigned int) syntax to be compatible
> with MySQL ecology
>     -Add more columns to the information_schema.columns table to be
> compatible with the MySQL ecosystem
> - In Spark Load function, use yarn command line instead of yarn-client API
> to kill job or get job status [#4383]
> - Persistence of stale rowset meta-information to ensure that this
> information will not be lost after BE restarts [#4454]
> - Return an error code in the schema change result to more clearly inform
> the user of the specific error [#4388]
> - Optimize the rowset selection logic of some compactions to make the
> selection strategy more accurate [#5152]
> - Optimize the Page Cache on the BE side, divide Page into data cache and
> index cache [#5008]
> - Optimized the accuracy of functions such as variance and standard
> deviation on Decimal type [#4959]
> - Optimized the processing logic of predicates pushed down to ScanNode to
> avoid repeated filtering of predicate conditions at the query layer and
> improve query efficiency [#4999]
> - Optimized the predicate push-down logic of Unique Key table, and supports
> push-down the conditions of non-primary key columns [#5022]
> - Support pushing down "not in" and "!=" to the storage layer to improve
> query efficiency [#5207]
> - Support writing multiple memtables of a tablet in parallel during import.
> Improve import efficiency [#5163]
> - Optimize the creation logic of ZoneMap. When the number of rows on a page
> is too small, ZoneMap will not be created anymore [#5260]
> - Added histogram monitoring indicator class on BE [#5148]
> - When importing Parquet files, if there is a parsing error, the specific
> file name will be displayed in the error message [#4954]
> - Optimize the creation logic of dynamic partitions, the table under
> construction directly triggers the creation of dynamic partitions [#5209]
> - In the result of the SHOW BACKENDS command, display the real start time
> of BE [#4872]
> - Support column names start with @ symbol, mainly used to support mapping
> ES tables [#5006]
> - Optimize the logic of the mapping and conversion relationship of the
> declared columns in the import statement to make the use more clear [#5140]
> - Optimize the execution logic of colocation join to make the query plan
> more evenly executed on multiple BE nodes [#5104]
> - Optimize the predicate pushdown logic, and support pushdown of is null
> and is not null to the storage engine [#5092]
> - Optimize the BE node selection logic in bucket join [#5133]
> - Support UDF in import operation [#4863]
>
> ### Other
>
> - Added support for IN Predicate in delete statement [#4404]
> - Update the Dockerfile of the development image and add some new
> dependencies [#4474]
> - Fix various spelling errors in the code and documentation [#4714] [#4712]
> [#4722] [#4723] [#4724] [#4725] [#4726] [#4727]
> - Added two segment-related indicators in the OlapScanNode of the query
> profile to display the total number of segments and the number of filtered
> segments [#4348]
> - Add batch delete function description document [#4435]
> - Added Spark Load syntax manual [#4463]
> - Added the display of cumulative compaction strategy name and rowset data
> size in BE's /api/compaction/show API [#4466]
> - Redirect the Spark Launcher log in Spark Load to a separate log file for
> easy viewing [#4470]
> - The BE configuration item streaming_load_max_batch_size_mb was renamed
> streaming_load_json_max_mb to make its meaning more clear [#4791]
> - Adjust the default value of the FE configuration item
> thrift_client_timeout_ms to solve the problem of too long access to the
> information_schema library [#4808]
> - CPU or memory sampling of BE process is supported on BE web page to
> facilitate performance debugging [#4632]
> - Extend the data slicing balance class on the FE side, so that it can
> extend more balance logic [#4771]
> - The reorganized OLAP_SCAN_NODE profile information makes the profile
> clearer and easier to read [#4825]
> - Added monitoring indicators on the BE side to monitor cancelled Query
> Fragment [#4862]
> - Reorganized the profile information of HASH_JOIN_NODE, CROSS_JOIN_NODE,
> UNION_NODE, ANALYTIC_EVAL_NODE to make the Profile more clear and easy to
> read [#4878]
> - Modify the default value of
> query_colocate_join_memory_limit_penalty_factor to 1 to ensure that the
> default memory limit of the execution plan fragment is consistent with the
> user setting during the colocation join operation [#4895]
> - Added consideration of tablet scanning frequency in the selection of
> compaction strategy on the BE side [#4837]
> - Optimize the strategy of sending Query Fragments and reduce the number of
> sending public attributes to improve query plan scheduling performance
> [#4904]
> - Optimized the accuracy of load statistics for unavailable nodes when the
> query scheduler is scheduling query plans [#4914]
> - Add the code version information of the FE node in the result of the SHOW
> FRONTENDS statement [#4943]
> - Support more column type conversion, such as support conversion from CHAR
> to numeric type, etc. [#4938]
> - Import function to identify complex types in Parquet files [#4968]
> - In the BE monitoring indicators, increase the monitoring of used permits
> and waiting permits in the compaction logic [#4893]
> - Optimize the execution time of BE single test [#5131]
> - Added more JVM-related monitoring items on the FE side [#5112]
> - Add a session variable to control the timeout period for the transaction
> to take effect in the insert operation [#5170]
> - Optimize the logic of selecting scan nodes for query execution plans, and
> consider all ScanNode nodes in a query [#4984]
> - Add more system monitoring indicators for FE nodes [#5149]
> - Use of VLOG in unified BE code [#5264]
>
> # Other
>
> - Add some non-Apache protocol code protocol declarations to the NOTICE
> file [#4831]
>
> - Reformatted the code of BE using clang-format [#4965]
>
> - Added clang-format checking and formatting scripts to unify the C++ code
> style of BE before submission [#4934]
>
> - The third-party library adds the AWS S3 SDK, which can be used to
> directly read the data in the object storage through the SDK [#5234]
>
> - Fixed some issues related to License: [#4371]
>
>     1. The dependencies of the two third-party libraries, MySQL client and
> LZO, will no longer be enabled in the default compilation options. If users
> need MySQL external table function, they need to turn it on
>
>     2. Removed the js and css code in the code library and introduced it in
> the form of a third-party library dependency
>
> - Updated the Docker development environment image build-env-1.2
>
> - Updated the compilation method of the UnixODBC tripartite library, so
> that the BE process no longer depends on the libltdl.so dynamic library of
> the system when it is running
>
> - Added third-party UDF to support more efficient set calculation of
> orthogonal bitmap data [#4198]
>
> - Added UnixODBC third-party library dependency to support ODBC external
> table function [#4377]
>
> # API Change
>
> - Prohibit the creation of segment v1 tables [#4913]
> - Rename the configuration item `streaming_load_max_batch_size_mb` to
> `streaming_load_json_max_mb` [#4791]
> - Support column reference passing in column definition of load statement
> [#5140]
> - Support creating indexes on the value column of unique table [#5305]
> - Support atomic replacement of two tables through replace statement
> [#4669]
> - Support CREATE TABLE LIKE statement
>
>      To get more details please refers to ISSUE
> https://github.com/apache/incubator-doris/issues/5374
>      If you have any important feature that are in progress or not  merged
> into the master and related to version 0.14, please reply to me by email.
>

Reply via email to