關於NoSQL,你必須知道的九件事

renjixinchina發表於2013-05-14
本文提到的列表來源於一篇文章,文章標題是關係型資料庫使用者必須知道的一些NoSQL知識。其中總結的九點NoSQL與RDBMS的區別聯絡非常不錯。NoSQLFan為大家翻譯在此。
  1. 理解ACIDBASE的區別(ACID是關係型資料庫強一致性的四個要求,而BASE是NoSQL資料庫通常對可用性及一致性的弱要求原則,它們的意思分別是,ACID:atomicity, consistency, isolation, durability;BASE:Basically Available, Soft-state, Eventually Consistent。同時有意思的是ACID在英語裡意為酸,BASE意思為鹼)
  2. 理解持久化與非持久化的區別。這麼說是因為有的NoSQL系統是純記憶體儲存的。
  3. 你必須意識到傳統有關係型資料庫與NoSQL系統在資料結構上的本質區別。傳統關係型資料庫通常是基於行的表格型儲存,而NoSQL系統包括了列式儲存(Cassandra)、key/value儲存(Memcached)、文件型儲存(CouchDB)以及圖結構儲存(Neo4j)
  4. 與傳統關聯式資料庫有統一的SQL語言操作介面不同,NoSQL系統通常有自己特有的API介面。
  5. 在架構上,你必須搞清楚,NoSQL系統是被設計用於成百上千臺機器的叢集中的,而非共享型資料庫系統的架構。
  6. 在NoSQL系統中,可能你得習慣一下不知道你的資料具體存在何處的情況。
  7. 在NoSQL系統中,你最好習慣它的弱一致性。”eventually consistent”(最終一致性)正是BASE原則中的重要一項。比如在Twitter,你在Followers列表中經常會感受到資料的延遲。
  8. 在NoSQL系統中,你要理解,很多時候資料並不總是可用的。
  9. 你得理解,有的方案是擁有分割槽容忍性的,有的方案不一定有。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-761024/,如需轉載,請註明出處,否則將追究法律責任。

相關文章