<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MongoDB實戰經驗分享

      本文來自去年整理發布的“十天掌握MongoDB”系列PPT。該系列PPT的內容則來自當時的《MongoDB權威指南(英文版)》,個人翻譯能力有限,不能保證PPT的內容完全符合該書的內容。而且,我還加入了大量的自己的看法。今天分享給大家的便是其中的第十課,主要是我個人當時的觀點,這些觀點在現在看來不一定都是正確的,請大家多多批評指正!

      對NoSQL的理解

      NoSQL并不是No-SQL,而是指Not Only SQL。

      NoSQL的出現是為了彌補SQL數據庫因為事務等機制帶來的對海量數據、高并發請求的處理的性能上的欠缺。

      NoSQL不是為了替代SQL而出現的,它是一種替補方案,而不是解決方案的首選。

      絕大多數的NoSQL產品都是基于大內存和高性能隨機讀寫的(比如具有更高性能的固態硬盤陣列),一般的小型企業在選擇NoSQL時一定要慎重!不要為了NoSQL而NoSQL,可能會導致花了冤枉錢又耽擱了項目進程。

      NoSQL不是萬能的,但在大型項目中,你往往需要它!

      為什么是MongoDB?

      • 基于BSON,兼容JSON
      • 有廣泛的驅動支持
      • 高性能、開源、面向文檔
      • 全文索引支持
      • 自動復制分片
      • 內置分布式文件系統
      • 內置MapReduce支持
      • ……

      不要被老陳騙了,我只是想羅列一下MongoDB的優點,如果想了解其他NoSQL產品,不妨看看http://cloud.csdn.net/a/20110610/299526.html

      文檔結構設計

      在SQL時代,我們可以任意設計自己的表結構,僅僅需要注意數據類型的選擇,只是無法直接使用樹形設計而已。

      在MongoDB就沒這么幸運了,MongoDB內置的查詢機制非常有限,它無法讓"你的原來的設計"那么輕松的就能遷移過來。

      其實,MongoDB這樣的"不給力",都是"故意"的!通過核心算法的約束,強迫開發者大量的使用冗余數據來提升計算效率。

      這個做法,好!也不好!好的是,的確可以解決很多問題,不好的是,因此我們需要改變之前一貫的思路,甚至是之前認為非常一般般的做法,還會給維護帶來很多"看起來不必要"的麻煩。

      MongoDB宣稱自己占用的處理器資源是很低的——其實是因為它的架構就直接繞開了很多運算!!!

      在這里我沒有太多想說的,總結起來就一句話——不要吝嗇存儲空間,要將冗余數據的優點發揮到極致!

      索引及查詢優化

      傳統的用于優化SQL的技巧,在MongoDB中同樣適用;

      不要為所有鍵都創建索引,也不要一個索引也不用;

      如果需要,請優先考慮復合索引,但請注意鍵的順序;

      如果發現即使創建索引也無法很有效的提升,此時應該考慮將數據分片;

      設計查詢時,應當將能夠過濾掉大量記錄的條件放在前面,除非這樣的改動影響了業務需求。

      無論什么業務,請盡量避免在數據庫端處理各種排序,如果可以,請盡量減少這樣的設計,以提升數據庫服務器的吞吐量。老陳的經驗是:用戶其實并不討厭多點幾次鼠標,討厭的是點了N多次鼠標之后,找不到合適的內容。試想一下,為什么baidu不提供用戶主動排序的功能?

      復制分片及副本集

      復制是指將數據完完整整的復制到其他MongoDB實例上;

      分片是將一塊數據很多小塊并分發到不同的集合或MongoDB實例;

      副本集帶有故障轉移的特性

      而實際上,在生產環境中,我們應當將如上三個概念混合使用,并發揮到極致。

      數據安全、運算效率以及負載分流、故障轉移等等,每一個特性都需要做的很強壯!

      還記得前面說過的嗎,NoSQL不是誰都可以玩的,也不是誰都可以玩好的!一個強壯的MongoDB集群可能需要至少十幾臺服務器,光硬件就是不小的投入!

      關于數據安全——不要迷信任何設備,應當經常備份重要的業務數據。

      是的,使用復制可以對MongoDB的數據執行熱備份。而不需要停掉主數據庫引擎。

      其他

      盡量少用嵌套文檔,它會讓你的數據庫膨脹的非常快,且不利于擴展;

      當然,我不是說不要用,如果沒有對子文檔的深層查詢、排序,或者根本就是記錄一下而已,這種情況用子文檔是最爽不過了!

      MongoDB不適合存儲高精度的數字,比如你需要精度非常高的財務數據存儲,此時建議使用其他持久化方案,或者你干脆就存成字符串或者創建一個字符串格式的副本進行存儲。

      MongoDB沒有內聯查詢機制,全靠手工外鍵;

      MongoDB沒有自增標識,未來的規劃中也沒有跡象表明要支持,實際上,這是MongoDB故意的!我們建議使用隨機標識,而不是遞增標識。

      標識,讀作biaozhi4,而不是biaoshi2,記好了哈!

       

       

      posted @ 2012-04-25 21:36  O.C  閱讀(11986)  評論(5)    收藏  舉報
      主站蜘蛛池模板: 阿合奇县| 国产成AV人片久青草影院| 国产精品伦人视频免费看| 人与禽交av在线播放| 亚洲国产精品成人综合色| 制服jk白丝h无内视频网站| 野花社区www视频日本| 激情综合网激情五月激情| 亚洲性线免费观看视频成熟| 武定县| 国产精品久久久久影院亚瑟| 国产成人亚洲日韩欧美| 人人入人人爱| 日本一区二区三区在线 |观看| 日韩一区二区三区东京热| 欧美日本在线| 日韩中文字幕人妻精品| 欧美成人h亚洲综合在线观看| 在线人成免费视频69国产| 成人3D动漫一区二区三区| 激情五月日韩中文字幕| 无码免费大香伊蕉在人线国产| 同心县| 国产微拍一区二区三区四区| 国产成人AV一区二区三区在线| 日本高清中文字幕免费一区二区| 亚洲国产日韩欧美一区二区三区 | 亚洲国产无套无码av电影| 日本黄色一区二区三区四区| 亚洲成人网在线观看| 国产精品制服丝袜无码| 国产精品亚洲二区在线看| 久久99精品久久久久麻豆| 中文字幕av一区二区| 正在播放国产剧情亂倫| 宝贝腿开大点我添添公视频免| 大肉大捧一进一出好爽视频mba| 91精品国产91热久久久久福利 | 国产精品成人亚洲一区二区| 日本三级理论久久人妻电影| 日区中文字幕一区二区|