文檔型資料庫
『壹』 鏂囨。鏁版嵁搴擄紵
鏂囨。鍨嬫暟鎹搴撴槸涓縐嶉潪鍏崇郴鍨嬫暟鎹搴擄紝瀹冨皢鏁版嵁瀛樺偍涓轟竴緋誨垪鐨勬枃妗o紝閫氬父浣跨敤JSON銆丅SON鎴朮ML鏍煎紡銆備笌浼犵粺鐨勫叧緋誨瀷鏁版嵁搴撲嬌鐢ㄩ勫畾涔夌殑鍥哄畾琛ㄧ粨鏋勪笉鍚岋紝鏂囨。鍨嬫暟鎹搴撳厑璁告瘡涓鏂囨。鍏鋒湁涓嶅悓鐨勬暟鎹緇撴瀯錛屼負鏁版嵁鐨勫瓨鍌ㄥ拰媯緔㈡彁渚涗簡鏇村ぇ鐨勭伒媧繪у拰鍙鎵╁睍鎬э紝鐗瑰埆閫傚悎浜庡勭悊鍗婄粨鏋勫寲鍜屽揩閫熷彉鍖栫殑鏁版嵁銆
璇曟兂涓涓嬶紝浣犲湪浣跨敤濡侻ongoDB鎴栧法鏉夋暟鎹搴揝equoiaDB鏃訛紝浣犵殑鏁版嵁涓嶅啀鍙楅檺浜庝弗鏍肩殑妯″紡鎴栧滻瀹氱殑琛ㄧ粨鏋勶紝鑰屾槸鍙浠ョ伒媧誨湴淇濆瓨涓篔SON銆丅SON絳夋牸寮忋傝繖鎰忓懗鐫錛屼綘鍙浠ュ湪涓涓鈥滄枃妗b濋噷鏈夊垪琛ㄣ佹暟緇勶紝鐢氳嚦鏄宓屽楃殑鏂囨。緇撴瀯銆傝岃繖縐嶆棤闇棰勮炬ā寮忕殑鑷鐢卞害錛屾f槸鏂囨。鍨嬫暟鎹搴撳彈嬈㈣繋鐨勫叧閿銆
涓庝紶緇熺殑鍏崇郴鍨嬫暟鎹搴撶浉姣旓紝渚嬪係QL Server鎴朞racle錛屽畠浠闇瑕佷簨鍏堝畾涔夋暟鎹緇撴瀯錛屾枃妗e瀷鏁版嵁搴撳侻ongoDB鍜孲equoiaDB鍒欐彁渚涗簡鏇村ぇ鐨勭伒媧繪э紝鍏佽告瘡涓鏂囨。鍏鋒湁鑷宸辯嫭鐗圭殑緇撴瀯銆傝繖縐嶉殢蹇冩墍嬈茬殑鏁版嵁綆$悊錛岃╄稿氱幇浠e簲鐢ㄨ兘澶熸洿鍔犳晱鎹峰湴搴斿規暟鎹闇奼傜殑鍙樺寲銆
鏂囨。鍨嬫暟鎹搴撳叿鏈変互涓嬪叚澶х壒鐐癸細
妯″紡鐨勭伒媧繪э細鍦ㄦ枃妗e瀷鏁版嵁搴撳侻ongoDB涓錛屾暟鎹妯″紡鏄鍔ㄦ佺殑錛岃兘澶熷簲瀵逛笟鍔¢昏緫鐨勫彉鍖栧拰榪浠c傝繖鎰忓懗鐫浣犲彲浠ユ棤緙濆湴鍦ㄧ幇鏈夋枃妗e唴娣誨姞鏂板瓧孌碉紝鑰屼笉浼氱牬鍧忔暟鎹搴撲腑鍏朵粬鏂囨。鐨勭粨鏋勬垨鏁版嵁瀹屾暣鎬с
鏁版嵁灞閮ㄦэ細鏂囨。鍨嬫暟鎹搴撲紭浜庝紶緇熷叧緋誨瀷鏁版嵁搴擄紙RDBMS錛夊湪浜庯紝瀹冨彲浠ュ皢楂樺害鍏寵仈鐨勬暟鎹緇勭粐鍦ㄥ崟涓鐨勬枃妗e唴錛岃屼笉鏄鍒嗘暎鍦ㄥ氫釜琛ㄦ牸涓銆傝繖縐嶆灦鏋勮捐¤╁儚SequoiaDB榪欐牱鐨勬暟鎹搴撳湪鏌ヨ㈡搷浣滀笂鍏鋒湁鏇撮珮鐨勬晥鐜囥
楂樻ц兘錛氬緱鐩婁簬鍑鴻壊鐨勬暟鎹灞閮ㄦу拰鍏堣繘鐨勭儲寮曠瓥鐣ワ紝MongoDB絳夋枃妗e瀷鏁版嵁搴撳湪澶勭悊楂樺苟鍙戣誨啓鍦烘櫙鏃惰〃鐜板崜瓚娿
姘村鉤鍙鎵╁睍鎬э細鏁版嵁搴撲駭鍝佸侻ongoDB鍜孲equoiaDB鍐呭緩鏈夊垎鐗囷紙Sharding錛夊拰鏁版嵁澶嶅埗錛圧eplication錛夋満鍒訛紝鍙鏈夋晥瀹炵幇姘村鉤鎵╁睍浠ュ簲瀵規暟鎹閲忓拰騫跺彂閲忕殑澧為暱錛屽悓鏃朵繚鎸佺郴緇熼珮鍙鐢ㄦс
涓板瘜鐨勬煡璇㈣璦鍜岃兘鍔涳細灝界℃枃妗e瀷鏁版嵁搴撴槸闈炲叧緋誨瀷鏁版嵁搴擄紙Nosql錛夛紝浣嗗畠浠濡侻ongoDB榪樻敮鎸佷竴濂楃浉褰撳叏闈㈢殑鏌ヨ㈣璦鍜屾暟鎹鑱氬悎宸ュ叿錛屾弧瓚充粠鍩虹鏁版嵁媯緔㈠埌澶嶆潅鍒嗘瀽鐨勫悇縐嶉渶奼傘
澶氳璦緙栫▼鎺ュ彛錛歁ongoDB鍜孲equoiaDB絳夋枃妗e瀷鏁版嵁搴撻氬父鎻愪緵浜嗗氱嶇紪紼嬭璦鐨凙PI鍜岄┍鍔錛屽侾ython銆丣ava銆丣avaScript絳夛紝浠庤屽厑璁稿紑鍙戣呭湪鐔熸倝鐨勭紪紼嬬幆澧冧腑榪涜岄珮鏁堝紑鍙戙
鎬葷粨
鏂囨。鍨嬫暟鎹搴撳湪鐜頒唬寮鍙戦嗗煙鍥犲叾鍑鴻壊鐨勭伒媧繪с佸崜瓚婄殑鎬ц兘鍜屽箍娉涚殑鍙鎵╁睍鎬ц屽囧彈闈掔潗銆傞殢鐫鏁版嵁椹卞姩搴旂敤錛圖ata-driven Applications錛変笌寰鏈嶅姟鏋舵瀯錛圡icroservices Architecture錛夌殑鐩涜岋紝榪欑被鏁版嵁搴撶殑褰卞搷鍔涘拰搴旂敤鍦烘櫙棰勮″皢鎸佺畫鎵╁ぇ銆傚逛簬閭d簺鍦ㄨ拷奼傚揩閫熶駭鍝佽凱浠c侀渶瑕佸簲瀵瑰姩鎬佹暟鎹妯″紡鎴栧勭悊澶ц勬ā闈炵粨鏋勫寲鏁版嵁鐨勪紒涓氬拰緇勭粐鏉ヨ達紝鏂囨。鍨嬫暟鎹搴撴垚涓轟簡鍏舵妧鏈鏍堜腑涓嶅彲鎴栫己鐨勪竴閮ㄥ垎銆傜劧鑰岋紝濮嬬粓闇瑕佽頒綇錛岄夋嫨鏁版嵁搴撴妧鏈騫朵笉鏄鈥滀竴鍒鍒団濈殑錛岃屽簲娣卞叆鍒嗘瀽鍏蜂綋鐨勪笟鍔″満鏅鍜屾妧鏈闇奼傘
『貳』 nosql資料庫的四種類型
nosql資料庫的四種類型如下:
1.key-value鍵值存儲資料庫:
相關產品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.
主要應用: 內容緩存,處理大量數據的高負載訪問,也用於系統日誌。
優點:查找速度快,大量操作時性能高。
2.列存儲資料庫:
相關產品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.
主要應用: 分布式數據的儲存與管理。
優點:查找速度快,可擴展性強,容易進行分布式擴展。
缺點:功能相對局限。
3.文檔型資料庫
相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.
主要應用: web應用,管理面向文檔的數據或者類似的半結構化數據。
優點:數據結構靈活,表結構可變,復雜性低。
缺點:查詢效率低,且缺乏統一的查詢語言。
4.Graph圖形資料庫
相關產品: Neo4J、OrientDB、InfoGrid、GraphDB.
主要應用: 復雜,互連接,低結構化的圖結構場合, 專注構建關系圖譜。
優點: 利用圖結構相關演算法, 可用於構建復雜的關系圖譜。
缺點: 復雜度高。
『叄』 nosql資料庫的四種類型
一般將NoSQL資料庫分為四大類:鍵值(Key-Value)存儲資料庫、列存儲資料庫、文檔型資料庫和圖形(Graph)資料庫。它們的數據模型、優缺點、典型應用場景。
鍵值(Key-Value)存儲資料庫Key指向Value的鍵值對,通常用hash表來實現查找速度快數據無結構化(通常只被當作字元串或者二進制數據)內容緩存,主要用於處理大量數據的高訪問負載,也用於一些日誌系統等。
列存儲資料庫,以列簇式存儲,將同一列數據存在一起查找速度快,可擴展性強,更容易進行分布式擴展功能相對局限分布式的文件系統。
文檔型資料庫,Key-Value對應的鍵值對,Value為結構化數據,數據結構要求不嚴格,表結構可變(不需要像關系型資料庫一樣需預先定義表結構),查詢性能不高,而且缺乏統一的查詢語法,Web應用。
圖形(Graph)資料庫,圖結構,利用圖結構相關演算法(如最短路徑定址,N度關系查找等),很多時候需要對整個圖做計算才能得出需要的信息,而且這種結構不太好做分布式的集群方案,社交網路,推薦系統等。
『肆』 mongodb鏄鍏崇郴鍨嬫暟鎹搴撳悧
MongoDB鏄闈炲叧緋誨瀷鏁版嵁搴撱
MongoDB鍙堝彨鏂囨。鍨嬫暟鎹搴擄紝鎴栭潪鍏崇郴鍨嬫暟鎹搴擄紝鏄涓縐峃oSQL鐨勬暟鎹搴擄紝鏄緗戠珯鏁版嵁搴撶殑浼橀夈侻ongoDB灝嗘暟鎹瀛樺偍涓烘枃妗o紝鑰屾枃妗f槸鍏鋒湁閿鍊煎圭殑鏁版嵁緇撴瀯錛岄敭鐨勭被鍨嬪彲浠ユ槸瀛楃︿覆銆佹暟緇勩佸硅薄絳夛紝鍊肩殑綾誨瀷鍙浠ユ槸瀛楃︿覆銆佹暟瀛椼佹棩鏈熴佹暟緇勭瓑銆
MongoDB鐨勬枃妗f暟鎹妯″瀷鎻愪緵浜嗘洿楂樼殑鐏墊椿鎬у拰鍙鎵╁睍鎬э紝鍥犱負瀹冨彲浠ヨ交鏉懼湴閫傚簲澶嶆潅鐨勬暟鎹緇撴瀯銆傝繖縐嶇伒媧繪т嬌寰桵ongoDB闈炲父閫傚悎鐢ㄤ簬Web搴旂敤紼嬪簭銆佺Щ鍔ㄥ簲鐢ㄧ▼搴忓拰澶ф暟鎹搴旂敤紼嬪簭銆傛ゅ栵紝MongoDB榪樻彁渚涗簡涓板瘜鐨勬煡璇㈣璦鍜岀儲寮曞姛鑳斤紝浣垮緱鏁版嵁鏌ヨ㈠拰媯緔㈤潪甯告柟渚垮拰楂樻晥銆
MongoDB浣跨敤鍘熺悊錛
鎵璋撯滈潰鍚戦泦鍚堚濓紝鎰忔濇槸鏁版嵁琚鍒嗙粍瀛樺偍鍦ㄦ暟鎹闆嗕腑錛岃縐頒負涓涓闆嗗悎銆傛瘡涓闆嗗悎鍦ㄦ暟鎹搴撲腑閮芥湁涓涓鍞涓鐨勬爣璇嗗悕錛屽苟涓斿彲浠ュ寘鍚鏃犻檺鏁扮洰鐨勬枃妗c傞泦鍚堢殑姒傚康綾諱技鍏崇郴鍨嬫暟鎹搴撻噷鐨勮〃錛屼笉鍚岀殑鏄瀹冧笉闇瑕佸畾涔変換浣曟ā寮忋侼ytroMegaRAID鎶鏈涓鐨勯棯瀛橀珮閫熺紦瀛樼畻娉曪紝鑳藉熷揩閫熻瘑鍒鏁版嵁搴撳唴澶ф暟鎹闆嗕腑鐨勭儹鏁版嵁錛屾彁渚涗竴鑷寸殑鎬ц兘鏀硅繘銆
妯″紡鑷鐢憋紝鎰忓懗鐫瀵逛簬瀛樺偍鍦╩ongodb鏁版嵁搴撲腑鐨勬枃浠訛紝鎴戜滑涓嶉渶瑕佺煡閬撳畠鐨勪換浣曠粨鏋勫畾涔夈傚傛灉闇瑕佺殑璇濓紝浣犲畬鍏ㄥ彲浠ユ妸涓嶅悓緇撴瀯鐨勬枃浠跺瓨鍌ㄥ湪鍚屼竴涓鏁版嵁搴撻噷銆傚瓨鍌ㄥ湪闆嗗悎涓鐨勬枃妗o紝琚瀛樺偍涓洪敭-鍊煎圭殑褰㈠紡銆傞敭鐢ㄤ簬鍞涓鏍囪瘑涓涓鏂囨。錛屼負瀛楃︿覆綾誨瀷錛岃屽煎垯鍙浠ユ槸鍚勭嶅嶆潅鐨勬枃浠剁被鍨嬨傛垜浠縐拌繖縐嶅瓨鍌ㄥ艦寮忎負BSON銆
浠ヤ笂鍐呭瑰弬鑰冿細鐧懼害鐧劇-mongodb