1. 程式人生 > 資料庫 >「SequoiaDB巨杉資料庫」alter()概述2

「SequoiaDB巨杉資料庫」alter()概述2

引數

  • options ( Object, 必填 )

    通過options引數可以修改集合屬性,如指定集合的分割槽鍵, 是否以壓縮的形式插入資料等。可組合使用 options 的如下選項:

    1. ReplSize ( Int32 ):寫操作需同步的副本數。其可選取值如下:

      • -1:表示寫請求需同步到該複製組若干活躍的節點之後,資料庫寫操作才 返回應答給客戶端。
      • 0:表示寫請求需同步到該複製組的所有節點之後,資料庫寫操作才返回應 答給客戶端。
      • 1 - 7:表示寫請求需同步到該複製組指定數量個節點之後,資料庫寫操作 才返回應答給客戶端。

      格式:ReplSize: <num>

    2. ShardingKey ( Object

       ):分割槽鍵。

      格式:ShardingKey:{<欄位1> : <1|-1>,[<欄位2> : <1|-1>, ...]}

      • 已有的 ShardingKey 會被修改成新的 ShardingKey
      • 集合只能存在於一個數據組中,或者集合為沒有掛載子表的主表
    3. ShardingType ( String ):分割槽方式,預設為 hash 分割槽。其可選取值如下:

      • "hash":hash 分割槽。
      • "range":範圍分割槽。

      格式:ShardingType : "hash" | "range"

      • 集合只能存在於一個數據組中
    4. Partition ( Int32 ):分割槽數。僅當選擇 hash 分割槽時填寫, 代表了 hash 分割槽的個數。其值必須是2的冪。 範圍在[2^3,2^20]。

      格式:Partition : <分割槽數>

      • 集合只能存在於一個數據組中
    5. AutoSplit ( Bool ):標識新集合是否開啟自動切分功能

      格式:AutoSplit : true | false

      • 集合設定新的 hash 分割槽鍵後,可以使用該選項進行自動切分
    6. EnsureShardingIndex ( Bool ):標識是否建立分割槽索引

      • 預設值是 true
    7. Compressed ( Bool ):標識集合是否開啟資料壓縮功能。

      格式:Compressed : true | false

      • 如果設定 Compressed 為 true,而沒有指定 CompressionType,則 CompressionType 為 "snappy"
    8. CompressionType ( String ):集合的壓縮演算法,"snappy" 或者 "lzw"。

      • "snappy":使用 snappy 演算法壓縮。
      • "lzw":使用 lzw 演算法壓縮。

      格式:CompressionType : "snappy" | "lzw"

    9. StrictDataMode ( Bool ):標識對該集合的操作是否開啟嚴格資料型別模式

      格式:StrictDataMode : true | false

    10. AutoIncrement ( Object ):自增欄位

      格式:AutoIncrement : <option>

      • 自增欄位可以修改的屬性有CurrentValue, Increment, StartValue, MinValue, MaxValue, CacheSize, AcquireSize, Cycled, Generated。
        屬性具體功能請參考 。

    Note:

    • 各個選項的具體使用方式見 。
    • 分割槽集合不能修改與分割槽相關的屬性,如 ShardingKey、Partition 等。
    • EnsureShardingIndex 和 AutoSplit 僅對當前該次操作生效,僅當修改分割槽屬性,如 ShardingKey 等時有效

點選瞭解更多資訊