NoSQL聚合數據模型

NoSQL聚合數據模型

特色

聚合數據模型的特色就是把常常訪問的數據放在一塊兒(聚合在一塊);
這樣帶來的好處很明顯,對於某個查詢請求,可以在與數據庫一次交互中將全部數據都取出來;
固然,以這種方式存儲不可避免的會有重複,重複是爲了更少的交互;sql

缺點

  • 聚合結構對某些交互有利,卻阻礙另外一些交互;
    好比:以學生學號聚合學生信息(含學生姓名、班級、年齡、等信息,甚至英語學科成績),經過學號查詢時,可以在一次交互中查詢出該學生的全部信息,但若是想經過學生姓名來查詢,就很困難;數據庫

  • 不支持跨越多個聚合的ACID事務
    聚合結構在事務方面的支持有限;有一些NOSQL產品實現了簡單的事務支持,但對於跨越多個聚合結構的事務並不完善;oracle

規劃數據訪問方式

選用NoSQL數據庫,首要的工做就是設計鍵名及存放的數據;
設計的原則是儘可能減小所須要訪問的聚合個數,在儘可能少的交互中拿到所須要的數據;
若是發現須要經過多種查詢條件來獲取數據,可能就選用NOSQL就不合適;關係數據庫纔是首選;nosql

面向聚合的數據庫

  • 鍵值數據庫
    能夠存儲任意數據,存儲的數據對用戶不透明,從外面看,只是包含了沒有太多意義的大塊數據;設計

    訪問方式:經過鍵來查找 blog

  • 文檔數據庫
    文檔數據庫存儲時定義了其容許的結構和數據類型,從外面看,能夠看到內部結構;
    在存儲時限制其中存放的數據,這樣帶來的好處是可以更靈活的訪問數據;
    訪問方式:
    1.可用鍵名查詢
    2.可用聚合中的字段查詢(定義存儲的數據的結構所帶來的好處)
    3.可按照聚合內容建立索引索引

相關:關係數據模型

對於數據模型,咱們最熟悉的莫過於關係數據模型;
關係數據模型是一種「聚合無知模型」;
在組織數據時,使用E-R模型規劃清晰;
這樣帶來的好處是很容易以不一樣的方式來查詢數據(各類where條件甚至join)
關係型數據庫都是使用關係數據模型,好比oracle;事務

附 思惟導圖

NoSQL:數據模型

 

參考

《NoSql精粹》ip

 

Posted by: 大CC | 27APR,2014
博客:blog.me115.com [訂閱]
微博:新浪微博文檔

相關文章
相關標籤/搜索