全部產品
Search
文件中心

AnalyticDB:使用限制

更新時間:Dec 10, 2024

為保障叢集的穩定及安全,AnalyticDB for MySQL有以下使用限制。

命名約束

對象

命名規則

資料庫名

  • 長度不超過64個字元。

  • 以小寫字元開頭。

  • 可包含字母、數字以及底線(_)。

  • 不能包含連續兩個及以上的底線(_)。

  • 不能是analyticdb,analyticdb是內建資料庫。

表名

  • 長度為1~127個字元。

  • 以字母或底線(_)開頭。

  • 可包含字母、數字以及底線(_)。

  • 不能包含引號、驚嘆號(!)和空格。

  • 不能是SQL保留關鍵字。

列名

  • 長度為1~127個字元。

  • 以字母或底線(_)開頭。

  • 可包含字母、數字以及底線(_)。

  • 不能包含引號、驚嘆號(!)和空格。

  • 不能是SQL保留關鍵字。

索引名

長度不能超過64個字元。

帳號名

  • 長度規則:

    • 3.1.9.4以下核心版本,長度為2~16。

    • 3.1.9.4及以上核心版本,長度為2~64。

  • 以小寫字母開頭。

  • 以小寫字母或數字結尾。

  • 可包含小寫字母、數字以及底線(_)。

密碼

  • 長度為8~32個字元。

  • 至少包含大寫字母、小寫字母、數字以及特殊字元中的三項。

  • 特殊字元為!@#¥%^&*()_+-=

叢集配額

限制

預設值

說明

每個阿里雲帳號可購買叢集數量的最大值

30

每個阿里雲帳號最多可購買30個叢集。若您想修改該值,請提交工單聯絡支援人員。

每個叢集可建立資料庫的最大值

2048

每天叢集擴容、縮容或變更配置的總次數

12

數倉版預留模式叢集節點磁碟空間閾值

80%

超過閾值後,叢集會警示。一個使用者一天最多收到4次磁碟空間超過閾值的警示。

90%

超過閾值後,叢集會警示,且叢集會鎖定,資料無法寫入。一個使用者一天最多收到4次磁碟空間超過閾值的警示。

數倉版彈性模式叢集一組彈性IO資源的熱資料量最大值

8 TB

一組彈性IO資源的熱資料量超過8 TB時,叢集會鎖定,資料無法寫入。解決辦法,請參見監控

湖倉版叢集一組儲存預留資源的熱資料量最大值

8 TB

一組儲存預留資源的熱資料量超過8 TB時,叢集會鎖定,資料無法寫入。解決辦法,請參見監控

每個叢集可建立普通帳號的最大值

256

每個叢集的最大串連數

建議不超過50000

AnalyticDB for MySQL叢集的串連數沒有限制,但與叢集的規格相關。對於小規格的叢集來說,串連數過多會導致資源不足,無法承載。

每個叢集中的白名單分組的最大值

50

每個白名單分組中IP個數的最大值

1000

每個叢集中IP白名單個數的最大值

25000

每個叢集中分區數的最大值

102400

AnalyticDB for MySQL叢集中所有表的分區數之和不能超過102400。若叢集中分區數超過102400,則不能再建立分區表。

您可以使用如下語句查詢每個資料庫中所有表的分區數:

SELECT SUM(partition_count) FROM 庫名.KEPLER_META_TABLES  WHERE table_engine_name IN ("CSTORE", "XUANWU", "XUANWU_V2");

每個數倉版預留模式叢集(具備1~20個節點群組)中表數量的最大值

80000/(Shard個數/節點群組數)

  • 擴容節點群組數量可以增加預留模式叢集表數量的最大值,詳情請參見數倉版擴縮容

每個湖倉版數倉版彈性模式叢集中內表數量的最大值

[80000/(Shard個數/EIU組數)]*2

每個湖倉版數倉版彈性模式叢集中外表數量的最大值

50萬張

每張表中列數的最大值

4096

表中COMMENT最大長度

1024個字元

列中COMMENT最大長度

1024個字元

每列中單個欄位的最大長度

16 MB

每行寫入資料的最大長度

16 MB

列預設值長度

127個字元

每個查詢包含的列數的最大值

1024

WHERE條件中ITEM最大值

256

IN中條件數的最大值

2000

可以根據需求調整參數大小,SET adb_config MAX_IN_ITEMS_COUNT=3000;

參數調整過大時,SQL過於複雜會影響查詢效能。

逾時說明

操作

時間限制(ms)

逾時說明

建立叢集

600000

刪除叢集

300000

擴容叢集

600000

建立資料庫

10000

刪除資料庫

10000

建立表或視圖

10000

刪除表或視圖

10000

清空表(TRUNCATE TABLE)

60000

新增列

10000

刪除列

60000

更新列

60000

單次查詢

1800000

單次查詢的執行逾時時間。逾時後,系統自動終止查詢。

配置以下參數,可以修改單次查詢的執行逾時時間。

  • 配置名:QUERY_TIMEOUT

  • Hint的形式:query_timeout

說明

檢測查詢逾時的線程執行頻率為1000ms/次,設定單次查詢時間需大於1000ms,否則可能會不生效。

寫入資料(INSERT INTO)

300000

  • INSERT SELECT FROM

  • INSERT UPDATE FROM

  • INSERT DELETE FROM

24*3600000

執行逾時時間。逾時後,系統自動終止執行。

配置以下參數,可以修改SQL語句的執行逾時時間。

  • 配置名:INSERT_SELECT_TIMEOUT

  • Hint的形式:insert_select_timeout

常見問題

叢集的分區數就是表的分區數嗎?

是的。假設叢集的分區數是32,則表示表的分區數是32。

如何查詢分區數(Shard個數)

  • 在建立AnalyticDB for MySQL叢集時,Shard的數量就已確定。數倉版叢集可以在建立後修改叢集Shard個數,而湖倉版則不支援修改。

    您可以參考下表,瞭解規格和Shard個數的對應關係。

    湖倉版數倉版彈性模式

    彈性IO資源群組數(預留資源群組數、儲存預留資源群組數)

    Shard個數

    0、1

    64

    2~3

    64

    4~7

    96

    8~15

    256

    16~31

    384

    32~63

    512

    >64

    1024

    重要

    湖倉版儲存預留資源群組數=儲存預留資源/24 ACU

    數倉版預留模式

    節點群組數

    Shard個數

    1

    16

    2~3

    64

    4~7

    96

    8~15

    236

    16~31

    384

    32~63

    512

    >64

    1024

  • 您也可以執行SQL查詢已有叢集的Shard個數:SELECT count(1) FROM information_schema.kepler_meta_shards;