mycat-05-全局序列

全局序列

在實現分庫分表的情況下,數據庫自增主鍵已無法保證自增主鍵的全局唯一。
爲此, Mycat 提供了全局 sequence,並且提供了包含本地配置和數據庫配置等多種實現方式。

本地文件

此方式 Mycat 將 sequence 配置到文件中,當使用到 sequence 中的配置後, Mycat 會更下classpath 中的 sequence_conf.properties 文件中 sequence 當前的值。

  • 優點: 本地加載,讀取速度快
  • 缺點: 抗風險能力差,mycat所在主機宕機後,無法讀取本地文件。

數據庫方式

利用數據庫一個表 來進行計數累加。但是並不是每次生成序列都讀寫數據庫,這樣效率太低。
Mycat 會預加載一部分號段到 Mycat內存中,這樣大部分讀寫序列都是在內存中完成的
如果內存中的號段用完了 Mycat 會再向數據庫要一次。

**問:**那如果 Mycat 崩潰了 ,那內存中的序列豈不是都沒了?
答:是的。如果是這樣,那麼 Mycat 啓動後會向數據庫申請新的號段,原有號段會棄用。
也就是說如果 Mycat 重啓,那麼損失是當前的號段沒用完的號碼,但是不會因此出現主鍵重複

建立序列腳本

-- dn1 上創建全局序列表
CREATE TABLE MYCAT_SEQUENCE 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章