全面進化,Apache Doris 1.2.0 Release 版本正式釋出

親愛的社群小夥伴們,經歷數月的等候,我們很高興地宣佈,Apache Doris 於 2022 年 12 月 7 日迎來了 1。2。0 Release 版本的正式釋出!有近

118 位 Contributor 為 Apache Doris 提交了超 2400 項最佳化和修復

,感謝每一位讓 Apache Doris 更好的你!

自從社群正式確立 LTS 版本管理機制後,在 1。1。x 系列版本中不再合入大的功能,僅提供問題修復和穩定性改進,力求滿足更多社群使用者在穩定性方面的高要求。而綜合考慮版本迭代節奏和使用者需求後,

我們決定將眾多新特性在 1.2.0 版本中釋出

,這無疑承載了眾多社群使用者和開發者的深切期盼,同時也是一場厚積而薄發後的全面進化!

在 1。2 版本中,我們實現了

全面向量化

、實現多場景查詢效能3-11 倍的提升,在 Unique Key 模型上實現了

Merge-on-Write

的資料更新模式、資料高頻更新時查詢效能提升達 3-6 倍,增加了

Multi-Catalog 多源資料目錄

、提供了無縫接入 Hive、ES、Hudi、Iceberg 等外部資料來源的能力,引入了

Light Schema Change

輕量表結構變更、實現毫秒級的 Schema Change 操作並且可以藉助 Flink CDC 自動同步上游資料庫的 DML 和 DDL 操作,以

JDBC 外部表

替換了過去的 ODBC 外部表,

支援了 Java UDF 和 Romote UDF 以及 Array 陣列型別和 JSONB 型別

,修復了諸多之前版本的效能和穩定性問題,推薦大家下載和使用!

下載安裝

GitHub下載:

https://github。com/apache/doris/releases

官網下載頁:

https://doris。apache。org/download

原始碼地址:

https://github。com/apache/doris/releases/tag/1。2。0-rc04

下載說明

由於 Apache 伺服器對檔案大小限制,官網下載頁的 1。2。0 版本的二進位制程式分為三個包:

apache-doris-fe

apache-doris-be

apache-doris-java-udf-jar-with-dependencies

其中新增的

apache-doris-java-udf-jar-with-dependencies

包用於支援 1。2 版本中的 JDBC 外表和 JAVA UDF 新功能。下載後需要將其

java-udf-jar-with-dependencies。jar

檔案放到

be/lib

目錄下,方可啟動 BE,否則無法啟動成功。

為了便於大家下載使用,我們將預編譯好的二進位制程式提前打包好,該版本基於 Apache Doris 1。2。0 正式版,僅內建了 java8 執行時環境,

複製下方連結到瀏覽器下載,解壓後即可使用。

下載連結:

ARM64

:https://selectdb-doris-1308700295。cos。ap-beijing。myqcloud。com/release/selectdb-doris-1。2。0-arm。tar。gz

x86:

https://selectdb-doris-1308700295。cos。ap-beijing。myqcloud。com/release/selectdb-doris-1。2。0-x86_64。tar。gz

x86_no_avx2:

https://selectdb-doris-1308700295。cos。ap-beijing。myqcloud。com/release/selectdb-doris-1。2。0-x86_64-no-avx2。tar。gz

部署說明

從歷史版本升級到 1.2.0 版本,需完整更新 fe、be 下的 bin 和 lib 目錄

其他升級注意事項,

請完整閱讀以下文件:

本通告最後一節「

升級注意事項

安裝部署文件:https://doris。apache。org/zh-CN/docs/dev/install/install-deploy

叢集升級文件:https://doris。apache。org/zh-CN/docs/dev/admin-manual/cluster-management/upgrade

如在版本升級、功能驗證、生產上線等過程中出現問題,可以在社群使用者群中尋求 SelectDB 專職技術工程師幫助。

重要更新

全面向量化支援,效能大幅提升

在 Apache Doris 1。2。0 版本中,

系統所有模組都實現了向量化

,包括資料匯入、Schema Change、Compaction、資料匯出、UDF 等。新版向量化執行引擎具備了完整替換原有非向量化引擎的能力,後續我們也將考慮在未來版本中去除原有非向量化引擎的程式碼。

與此同時,在全面向量化的基礎上,我們對資料掃描、謂詞計算、Aggregation 運算元、HashJoin 運算元、運算元之間 Shuffle 效率等進行了全鏈路的最佳化,使得查詢效能有了大幅提升。

我們對 Apache Doris 1。2。0 新版本進行了多個標準測試集的測試,同時選擇了 1。1。3 版本和 0。15。0 版本作為對比參照項。經測,1。2。0 在 SSB-Flat 寬表場景上相對 1。1。3 版本整體效能

提升了近 4 倍

、相對於 0。15。0 版本效能

提升了近 10 倍

,在 TPC-H 多表關聯場景上較 1。1。3 版本上有

近 3 倍的提升

、較 0。15。0 版本效能

至少提升了 11 倍

全面進化,Apache Doris 1.2.0 Release 版本正式釋出

圖1 SSB

全面進化,Apache Doris 1.2.0 Release 版本正式釋出

圖2 TPC-H

同時,我們將1。2。0版本的測試資料提交到了

全球知名資料庫測試排行榜 ClickBench

,在最新的排行榜中,

Apache Doris 1.2.0 新版本取得了通用機型(c6a.4xlarge, 500gb gp2)下查詢效能 Cold Run 第二和 Hot Run 第三的醒目成績,共有 8 個 SQL 重新整理榜單最佳成績、成為新的效能標杆。

匯入效能方面,1。2。0 新版本資料寫入效率在同機型所有產品中

位列第一

,壓縮前 70G 資料寫入

僅耗時 415s

、單節點寫入

速度超過 170 MB/s

,在實現極致查詢效能的同時也保證了高效的寫入效率!

全面進化,Apache Doris 1.2.0 Release 版本正式釋出

圖3 Cold Run

全面進化,Apache Doris 1.2.0 Release 版本正式釋出

圖4 Hot Run

UniqueKey 模型實現 Merg-On-Write 資料更新模式

在過去版本中, Apache Doris 主要是透過 Unique Key 資料模型來實現資料實時更新的。但由於採用的是 Merge-On-Read 的實現方式,查詢存在著效率瓶頸,有大量非必要的 CPU 計算資源消耗和 IO 開銷,且可能將出現查詢效能抖動等問題。

在 1.2.0 版本中,我們在原有的 Unique Key 資料模型上,增加了 Merge-On-Write 的資料更新模式。

該模式在資料寫入時即對需要刪除或更新的資料進行標記,始終保證有效的主鍵只出現在一個檔案中(即在寫入的時候保證了主鍵的唯一性),不需要在讀取的時候透過歸併排序來對主鍵進行去重,這對於高頻寫入的場景來說,

大大減少了查詢執行時的額外消耗

。此外還能夠支援謂詞下推,並能夠很好利用 Doris 豐富的索引,在資料 IO 層面就能夠進行充分的資料裁剪,

大大減少資料的讀取量和計算量,因此在很多場景的查詢中都有非常明顯的效能提升。

在比較有代表性的 SSB-Flat 資料集上,透過模擬多個持續匯入場景,新版本的大部分查詢取得了

3-6 倍的效能提升

全面進化,Apache Doris 1.2.0 Release 版本正式釋出

使用場景:

所有對主鍵唯一性有需求,需要頻繁進行實時 Upsert 更新的使用者建議開啟。

使用說明:

作為新的 Feature 預設關閉,使用者可以透過在建表時新增下面的 Property 來開啟:

“enable_unique_key_merge_on_write” = “true”

另外新版本 Merge-On-Write 資料更新模式與舊版本 Merge-On-Read 實現方式存在差異,因此已經建立的 Unique Key 表無法直接透過 Alter Table 新增 Property 來支援,只能在新建表的時候指定。如果使用者需要將舊錶轉換到新表,可以使用

insert into new_table select * from old_table

的方式來實現。

Multi Catalog 多源資料目錄

Multi-Catalog 多源資料目錄功能的目標在於能夠幫助使用者更方便對接外部資料目錄,以增強 Apache Doris 的資料湖分析和聯邦資料查詢能力。

在過去版本中,當我們需要對接外部資料來源時,只能在 Database 或 Table 層級對接。當外部資料目錄 Schema 發生變化、或者外部資料目錄的 Database 或 Table 非常多時,需要使用者手工進行一一對映,維護量非常大。

1.2.0 版本新增的多源資料目錄功能為 Apache Doris 提供了快速接入外部資料來源進行訪問的能力

,使用者可以透過

CREATE CATALOG

命令連線到外部資料來源,Doris 會自動對映外部資料來源的庫、表資訊。之後,使用者就可以像訪問普通表一樣,對這些外部資料來源中的資料進行訪問,

避免了之前使用者需要對每張表手動建立外表對映的複雜操作。

目前能支援以下資料來源:

Hive Metastore:

可以訪問包括 Hive、Iceberg、Hudi 在內的資料表

,也可對接相容 Hive Metastore 的資料來源,如阿里雲的 DataLake Formation,同時支援 HDFS 和物件儲存上的資料訪問。

Elasticsearch:訪問 ES 資料來源。

JDBC:支援透過 JDBC 訪問 MySQL 資料來源。

注:相應的許可權層級也會自動變更,詳見「

升級注意事項

」部分

輕量表結構變更 Light Schema Change

在過去版本中,SchemaChange是一項相對消耗比較大的工作,需要對資料檔案進行修改,在叢集規模和表資料量較大時執行效率會明顯降低。同時由於是非同步作業,當上遊Schema發生變更時,需要停止資料同步任務並手動執行SchemaChange,增加開發和運維成本的同時還可能造成消費資料的積壓。

在 1.2.0 新版本中,對資料表的加減列操作,不再需要同步更改資料檔案,僅需在 FE 中更新元資料即可,從而實現毫秒級的 Schema Change 操作,且存在匯入任務時效率的提升更為顯著。

與此同時,使得 Apache Doris 在面對上游資料表維度變化時,可以更加快速穩定實現表結構同步,保證系統的高效且平穩運轉。如使用者可以透過 Flink CDC,可實現上游資料庫到 Doris 的 DML 和 DDL 同步,進一步提升了實時數倉資料處理和分析鏈路的時效性與便捷性。

全面進化,Apache Doris 1.2.0 Release 版本正式釋出

使用說明:

作為新的 Feature 預設關閉,使用者可以透過在建表時新增下面的 Property 來開啟:

“light_schema_change” = “true”

JDBC 外部表

在過去版本中,Apache Doris 提供了 ODBC 外部表的方式來訪問 MySQL、Oracle、SQL Server、PostgreSQL 等資料來源,但由於 ODBC 驅動版本問題可能造成系統的不穩定。相對於 ODBC,JDBC 介面更為統一且支援資料庫眾多,因此在

1.2.0 版本中我們實現了 JDBC 外部表以替換原有的 ODBC 外部表

。在新版本中,使用者可以透過 JDBC 連線支援 JDBC 協議的外部資料來源,

前已適配的資料來源包括**:

MySQL

PostgreSQL

Oracle

SQLServer

ClickHouse

更多資料來源的適配已經在規劃之中,原則上任何支援 JDBC 協議訪問的資料庫均能透過 JDBC 外部表的方式來訪問。而之前的 ODBC 外部表功能將會在後續的某個版本中移除,還請儘量切換到 JDBC 外表功能。

JAVA UDF

在過去版本中,Apache Doris 提供了 C++ 語言的原生 UDF,便於使用者透過自己編寫自定義函式來滿足特定場景的分析需求。但由於原生 UDF 與 Doris 程式碼耦合度高、當 UDF 出現錯誤時可能會影響叢集穩定性,且只支援 C++ 語言,對於熟悉 Hive、Spark 等大資料技術棧的使用者而言存在較高門檻,因此在

1.2.0 新版本我們增加了 Java 語言的自定義函式,支援透過 Java 編寫 UDF/UDAF,方便使用者在 Java 生態中使用。同時,透過堆外記憶體、Zero Copy 等技術,使得跨語言的資料訪問效率大幅提升。

Remote UDF

遠端 UDF 支援透過 RPC 的方式訪問遠端使用者自定義函式服務,從而徹底消除使用者編寫 UDF 的語言限制,

使用者可以使用任意程式語言實現自定義函式,完成複雜的資料分析工作。

Array/JSONB 複合資料型別

Array 型別

支援了陣列型別,同時也支援多級巢狀的陣列型別。在一些使用者畫像,標籤等場景,可以利用 Array 型別更好的適配業務場景。同時在新版本中,我們也實現了大量陣列相關的函式,以更好的支援該資料型別在實際場景中的應用。

JSONB 型別

支援二進位制的 JSON 資料型別 JSONB。該型別提供更緊湊的 JSONB 編碼格式,同時提供在編碼格式上的資料訪問,相比於使用字串儲存的 JSON 資料,有數倍的效能提升。

DateV2/DatatimeV2 新版日期/日期時間資料型別

支援 DataV2 日期型別和 DatatimeV2 日期時間型別,相較於原有的 Data 和 Datatime 效率更高且支援最多到微秒的時間精度,建議使用新版日期型別。

影響範圍:

使用者需要在建表時指定 DateV2 和 DatetimeV2,原有表的 Date 以及 Datetime 不受影響。

Datev2 和 Datetimev2 在與原來的 Date 和 Datetime 做計算時(例如等值連線),原有型別會被cast 成新型別做計算

Example 相關文件中說明

全新記憶體管理框架

在 Apache Doris 1。2。0 版本中我們增加了全新的記憶體跟蹤器(Memory Tracker),用以記錄 Doris BE 程序記憶體使用,包括查詢、匯入、Compaction、Schema Change 等任務生命週期中使用的記憶體以及各項快取。透過 Memory Tracker 實現了更加精細的記憶體監控和控制,

大大減少了因記憶體超限導致的 OOM 問題,使系統穩定性進一步得到提升

Table Valued Function 表函式

增加了 Table Valued Function(TVF,表函式),TVF 可以視作一張普通的表,可以出現在 SQL 中所有“表”可以出現的位置,讓使用者像訪問關係表格式資料一樣,讀取或訪問來自 HDFS 或 S3 上的檔案內容,

例如使用 S3 TVF 實現物件儲存上的資料匯入:

insert into tbl select * from s3(“s3://bucket/file。*”, “ak” = “xx”, “sk

或者直接查詢 HDFS 上的資料檔案:

insert into tbl select * from hdfs(”hdfs://bucket/file。*“) where c1 > 2;

TVF 可以幫助使用者充分利用 SQL 豐富的表達能力,靈活處理各類資料。

更多功能

1。 更便捷的分割槽建立方式

支援透過

FROM TO

命令建立一個時間範圍內的多個分割槽。

示例:

—— 根據時間date 建立分割槽,支援多個批次邏輯和單獨建立分割槽的混合使用PARTITION BY RANGE(event_day)( FROM (”2000-11-14“) TO (”2021-11-14“) INTERVAL 1 YEAR, FROM (”2021-11-14“) TO (”2022-11-14“) INTERVAL 1 MONTH, FROM (”2022-11-14“) TO (”2023-01-03“) INTERVAL 1 WEEK, FROM (”2023-01-03“) TO (”2023-01-14“) INTERVAL 1 DAY, PARTITION p_20230114 VALUES [(‘2023-01-14’), (‘2023-01-15’)))—— 根據時間datetime 建立分割槽PARTITION BY RANGE(event_time)( FROM (”2023-01-03 12“) TO (”2023-01-14 22“) INTERVAL 1 HOUR)

2。 列重新命名

對於開啟了 Light Schema Change 的表,支援對列進行重新命名。

3。 更豐富的許可權管理

支援行級許可權。可以透過

CREATE ROW POLICY

命令建立行級許可權。相關文件:https://doris。apache。org/zh-CN/docs/dev/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-POLICY

支援指定密碼強度、過期時間等。

支援在多次失敗登入後鎖定賬戶。

4。 匯入相關

CSV 匯入支援帶 Header 的 CSV 檔案。

Stream Load 新增

hidden_columns

,可以顯式指定 Deleteflag 列和 Sequence列。

Spark Load 支援 Parquet 和 ORC 檔案匯入。

支援清理已完成的匯入的 Label。

支援透過狀態批次取消匯入作業。

Broker Load 新增支援阿里雲 OSS,騰訊 CHDFS 和華為雲 OBS。

支援透過 hive-site。xml 檔案配置訪問 HDFS。

5。 支援透過SHOW CATALOG RECYCLE BIN功能查看回收站中的內容。

6。 支援SELECT * EXCEPT語法

7。 OUTFILE 支援 ORC 格式匯出,並且支援多位元組分隔符

8。 支援透過配置修改可儲存的 Query Profile 的數量。

文件搜尋 FE 配置項:max_query_profile_num

9。DELETE語句支援IN謂詞條件,並且支援分割槽裁剪。

10。 時間列的預設值支援使用CURRENT_TIMESTAMP

11。 新增兩張系統表:backends、rowsets

backends 是 Doris 中內建系統表,存放在 information_schema 資料庫下,透過該系統表可以檢視當前 Doris 叢集中的 BE 節點資訊。

rowsets 是 Doris 中內建系統表,存放在

information_schema

資料庫下,透過該系統表可以檢視 Doris 叢集中各個 BE 節點當前 rowsets 情況。

12。 備份恢復

Restore作業支援

reserve_replica

引數,使得恢復後的表的副本數和備份時一致。

Restore 作業支援

reserve_dynamic_partition_enable

引數,使得恢復後的表保持動態分割槽開啟狀態。

支援透過內建的Libhdfs 進行備份恢復操作,不再依賴 Broker。

13。 支援同機多磁碟之間的資料均衡

14。 Routine Load 支援訂閱 Kerberos 認證的 Kafka 服務。

15。 New built-in-function 新增內建函式

新增以下內建函式:

cbrt

sequence_match/sequence_count

mask/mask_first_n/mask_last_n

elt

any/any_value

group_bitmap_xor

ntile

nvl

uuid

initcap

regexp_replace_one/regexp_extract_all

multi_search_all_positions/multi_match_any

domain/domain_without_www/protocol

running_difference

bitmap_hash64

murmur_hash3_64

to_monday

not_null_or_empty

window_funnel

outer combine

以及所有 Array 函式

升級注意事項

FE 元資料版本變更 【重要】

FE Meta Version 由 107 變更為 114

,因此從 1。1。x 以及更早版本升級至 1。2。0 版本後,

不可回滾到之前版本

升級過程中,建議透過灰度升級的方式,先升級部分節點並觀察業務執行情況,以降低升級風險,若執行非法的回滾操作將可能導致資料丟失與損壞。

行為改變

許可權層級變更,因為引入了 Catalog 層級,所以相應的使用者許可權層級也會自動變更。規則如下:

GlobalPrivs 和 ResourcePrivs 保持不變新增 CatalogPrivs 層級。原 DatabasePrivs 層級增加 internal 字首(表示 internal catalog 中的 db)原 TablePrivs 層級增加 internal 字首(表示internal catalog中的 tbl)

GroupBy 和 Having 子句中,優先使用列名而不是別名進行匹配。

不再支援建立以 ”mv

“ 開頭的列。”mv

“ 是物化檢視中的保留關鍵詞

移除了 orderby 語句預設新增的 65535 行的 Limit 限制,並增加 Session 變數

default_order_by_limit

可以自定配置這個限制。

”Create Table As Select“ 生成的表,所有字串列統一使用 String 型別,不再區分 varchar/char/string

audit log 中,移除 db 和 user 名稱前的

default_cluster

字樣。

audit log 中增加 sql digest 欄位

union 子句總 order by 邏輯變動。新版本中,order by 子句將在 union 執行完成後執行,除非透過括號進行顯式的關聯。

進行 Decommission 操作時,會忽略回收站中的 Tablet,確保 Decomission 能夠完成。

Decimal 的返回結果將按照原始列中宣告的精度進行顯示 ,或者按照顯式指定的 Cast 函式中的精度進行展示。

列名的長度限制由 64 變更為 256

FE 配置項變動

預設開啟

enable_vectorized_load

引數。增大了

create_table_timeout

值。建表操作的預設超時時間將增大。修改

stream_load_default_timeout_second

預設值為 3天。修改

alter_table_timeout_second

的預設值為 一個月。增加引數

max_replica_count_when_schema_change

用於限制 alter 作業中涉及的 Replica 數量,預設為 100000。新增

disable_iceberg_hudi_table

。預設禁用了 Iceberg 和 Hudi 外表,推薦使用 Multi Catalog功能。

BE 配置項變動

移除了

disable_stream_load_2pc

引數。2PC的 Stream Load 可直接使用。修改

tablet_rowset_stale_sweep_time_sec

從 1800 秒修改為 300 秒。

Session 變數變動

修改變數

enable_insert_strict

預設為 true。這會導致一些之前可以執行,但是插入了非法值的 insert 操作,不再能夠執行。修改變數

enable_local_exchange

預設為 true預設透過 lz4 壓縮排行資料傳輸,透過變數

fragment_transmission_compression_codec

控制增加

skip_storage_engine_merge

變數,用於除錯 Unique 或 Agg 模型的資料。

相關

文件:**https://doris。apache。org/zh-CN/docs/dev/advanced/variables

BE 啟動指令碼會透過

/proc/sys/vm/max_map_count

檢查數值是否大於200W,否則啟動失敗。

移除了 mini load 介面

升級過程需注意

升級準備

需替換:lib, bin 目錄(start/stop 指令碼均有修改)

BE 也需要配置

JAVA_HOME

,已支援 JDBC Table 和 Java UDF。

fe。conf

中預設

JVM Xmx

引數修改為 8GB。

升級過程中可能的錯誤

Repeat 函式不可使用並報錯:

vectorized repeat function cannot be executed

,可以在升級前先關閉向量化執行引擎。

Schema Change 失敗並報錯:desc_tbl is not set。 Maybe the FE version is not equal to the BE

向量化 Hash Join 不可使用並報錯。vectorized hash join cannot be executed可以在升級前先關閉向量化執行引擎。

以上錯誤在完全升級後會恢復正常。

效能影響

預設使用 JeMalloc 作為新版本 BE 的記憶體分配器,替換 TcMalloc 。JeMalloc 相比 TcMalloc 使用的記憶體更少、高併發場景效能更高,但在記憶體充足的效能測試時,TcMalloc 比 JeMalloc 效能高5%-10%,詳細測試見: https://github。com/apache/doris/pull/12496

tablet sink

batch size

修改為至少 8K。

預設關閉 Page Cache 和 減少 Chunk Allocator 預留記憶體大小。

Page Cache 和 Chunk Allocator 分別快取使用者資料塊和記憶體預分配,這兩個功能會佔用一定比例的記憶體並且不會釋放。由於這部分記憶體佔用無法靈活調配,導致在某些場景下可能因這部分記憶體佔用而導致其他任務記憶體不足,影響系統穩定性和可用性,因此新版本中預設關閉了這兩個功能。

但在某些延遲敏感的報表場景下,關閉該功能可能會導致查詢延遲增加。如使用者擔心升級後該功能對業務造成影響,可以透過在

be。conf

中增加以下引數以保持和之前版本行為一致。

disable_storage_page_cache=falsechunk_reserved_bytes_limit=10%)

API 變化

BE 的 HTTP API 錯誤返回資訊,由

{”status“: ”Fail“, ”msg“: ”xxx“}

變更為更具體的{”status“:”Notfound“,”msg“:”Tabletnotfound。tablet_id=1202“}

SHOW CREATE TABLE

中, Comment 的內容由雙引號包裹變為單引號包裹

支援普通使用者透過 HTTP 命令獲取 Query Profile。

優化了 Sequence 列的指定方式,可以直接指定列名。

show backends

show tablets

返回結果中,增加遠端儲存的空間使用情況

移除了 Num-Based Compaction 相關程式碼

重構了BE的錯誤碼機制,部分返回的錯誤資訊會發生變化

其他

支援 Docker 官方映象。

支援在 MacOS(x86/M1) 和 ubuntu-22。04 上編譯 Doris。

支援進行 image 檔案的校驗。

指令碼相關

FE、BE 的 stop 指令碼支援透過

——grace

引數退出FE、BE(使用 kill -15 訊號代替 kill -9)

FE start 指令碼支援透過

——version

檢視當前FE 版本

支援透過 ADMIN COPY TABLET命令獲取某個 tablet 的資料和相關建表語句,用於本地問題除錯。

支援透過 http api,獲取一個SQL語句相關的建表語句,用於本地問題復現。

支援建表時關閉此表的 Compaction 功能,用於測試。

致謝

Apache Doris 1。2。0 版本的釋出離不開所有社群使用者的支援,在此向所有參與版本設計、開發、測試、討論的社群貢獻者們表示感謝,他們分別是(首字母排序):

貢獻者名單

@924060929

@a19920714liou

@adonis0147

@Aiden-Dong

@aiwenmo

@AshinGau

@b19mud

@BePPPower

@BiteTheDDDDt

@bridgeDream

@ByteYue

@caiconghui

@CalvinKirs

@cambyzju

@caoliang-web

@carlvinhust2012

@catpineapple

@ccoffline

@chenlinzhong

@chovy-3012

@coderjiang

@cxzl25

@dataalive

@dataroaring

@dependabot

@dinggege1024

@DongLiang-0

@Doris-Extras

@eldenmoon

@EmmyMiao87

@englefly

@FreeOnePlus

@Gabriel39

@gaodayue

@geniusjoe

@gj-zhang

@gnehil

@GoGoWen

@HappenLee

@hello-stephen

@Henry2SS

@hf200012

@huyuanfeng2018

@jacktengg

@jackwener

@jeffreys-cat

@Jibing-Li

@JNSimba

@Kikyou1997

@Lchangliang

@LemonLiTree

@lexoning

@liaoxin01

@lide-reed

@link3280

@liutang123

@liuyaolin

@LOVEGISER

@lsy3993

@luozenglin

@luzhijing

@madongz

@morningman

@morningman-cmy

@morrySnow

@mrhhsg

@Myasuka

@myfjdthink

@nextdreamblue

@pan3793

@pangzhili

@pengxiangyu

@platoneko

@qidaye

@qzsee

@SaintBacchus

@SeekingYang

@smallhibiscus

@sohardforaname

@song7788q

@spaces-X

@ssusieee

@stalary

@starocean999

@SWJTU-ZhangLei

@TaoZex

@timelxy

@Wahno

@wangbo

@wangshuo128

@wangyf0555

@weizhengte

@weizuo93

@wsjz

@wunan1210

@xhmz

@xiaokang

@xiaokangguo

@xinyiZzz

@xy720

@yangzhg

@Yankee24

@yeyudefeng

@yiguolei

@yinzhijian

@yixiutt

@yuanyuan8983

@zbtzbtzbt

@zenoyang

@zhangboya1

@zhangstar333

@zhannngchen

@ZHbamboo

@zhengshiJ

@zhenhb

@zhqu1148980644

@zuochunwei

@zy-kkk