舊式 triggers 正式回歸 Apache Cassandra 2.0
Apache 大家聽得多,但 Apache Cassandra 大家可能未聽過。其實 Apache Cassandra 最初由 Facebook 開發,它的特色在於其分散式 Key-Value 儲存系統,針對特大數據的儲存工作可謂十分合適;另外其基於 Column 式的結構化設計、輕鬆且高擴展能力等亦是其中一大賣點。
對比傳統的數據庫,Apache Cassandra 本身雖可儲存特大數據,然而它卻不能稱為一個數據庫,事關它的玩法主要是由數據節點共同構成一個分散式網絡;當你將資料寫入其中,該筆資料便會自動複製到分散式網絡中的其中一些節點內;同樣地,當你讀取某一筆資料時,亦會於其中一些節點中完成讀取工作,可以得知其擴展性能由此而生。
今天 Apache Cassandra 公佈了 2.0 版本,這版本加入了舊式 triggers 程序、輕量級事件處理能力以及更新了的 query language;除了 Facebook 之外,知名的公司如 Adobe、eBay、GoDaddy、IBM 等均正在使用 Apache Cassandra。
新版本之中的主要更新有輕量級事件處理(lightweight transactions),這功能主要讓正在執行之中的動作不會與另一動作發生衝突。舉個例子,當相同的用戶名同時間註冊時,這時候該筆資料將被鎖定,這樣便不會於寫入資料時發生衝突;同時此功能亦可預防在讀取該筆資料時載入舊有資料。
另外,新版本中亦重用久違了的 triggers 方式,此方式一直沿用於舊式的數據庫之中,主要作用能於數據庫之內進行中央運算能力,藉以提升不同應用存取同一數據庫的一致性。