Time of Update: 2018-12-05
10gen剛剛發布了MongoDB Hadoop Connector的1.0版本,它是一個中介軟體產品,用於將MongoDB和Hadoop串連起來,讓MongoDB可以方便的使用Hadoop的分散式運算能力。MongoDB Hadoop Connector的主要流程是讓Hadoop從MongoDB中讀取未經處理資料,在通過Hadoop計算完成後,再將結果匯入到MongoDB中。原始數
Time of Update: 2018-12-05
這裡不介紹MongoDB是什麼了,主要解決大資料量儲存問題。大家可以search “MongoDB”這個關鍵字。 Windows版本:1,下載:http://www.mongodb.org/downloads2,下載最新的穩定版本,這裡下載了(Mongo DB) http://downloads.mongodb.org/win32/mongodb-win32-x86_64-1.8.1.zip
Time of Update: 2018-12-05
首先看一下操作過程:mongos> db.find({ "user" : "jhon"}).sort({"name" : 1}).limit(100).explain() { "cursor" : "BtreeCursor user_1", "nscanned" : 10100, "nscannedObjects" : 10100, "n" : 100, "scanAndOrder" : true,
Time of Update: 2018-12-05
mongodb的DBObject支援儲存多維陣列,在增加元素時使用"$push"操作符,在刪除元素時使用"$pull".但是在做更新時問題就來了,mongodb首先支援使用"$"來定位元組中的某個元素,例如:view plain> t.find() { "_id" : ObjectId("4b97e62bf1d8c7152c9ccb74"), "title" : "ABC", "comments" : [ { "by" : "joe", "votes" : 3 }, { "by" :
Time of Update: 2018-12-05
為一個集合(collection)選擇合適的shard key非常重要。如果這個集合非常龐大,那麼將來再來修改shard key將會很困難。如有任何疑問請到論壇或者IRC尋求協助。 範例文件view plain{ server : "ny153.example.com" , application : "apache" , time : "2011-01-02T21:21:56.249Z" , level : "ERROR" , msg : "something is broken"
Time of Update: 2018-12-05
首先列一下WriteConcern的幾種拋出異常的層級參數:WriteConcern.NONE:沒有異常拋出WriteConcern.NORMAL:僅拋出網路錯誤異常,沒有伺服器錯誤異常WriteConcern.SAFE:拋出網路錯誤異常、伺服器錯誤異常;並等待伺服器完成寫操作。WriteConcern.MAJORITY: 拋出網路錯誤異常、伺服器錯誤異常;並等待一個主伺服器完成寫操作。WriteConcern.FSYNC_SAFE:
Time of Update: 2018-12-05
getLastError命令當向資料庫寫入時,mongodb預設不等待響應訊息。使用getLastError命令來確保操作已經正確執行。在很多驅動中當你使用"安全"模式(一些驅動中稱為“set write
Time of Update: 2018-12-05
驗證命令使用這個命令檢查一個集合是否合法(沒有錯誤)並且擷取很多統計資訊。該命令掃描整個集合和它的索引,在大的資料集上會很慢。從mongo shell操作:> db.foo.validate(){"ns" : "test.foo" , "result" : "validatedetails: 08D03C9C ofs:963c9cfirstExtent:0:156800 ns:test.foolastExtent:0:156800 ns:test.foo#
Time of Update: 2018-12-05
mongodb集合實質上就是一組文檔的名稱。你可以認為它們大體上等同於關係型資料庫中的表。概述一個mongodb集合是一個BSON格式文檔的集合。這些文檔通常有著相同的結構,但是這並不是必須的,因為mongodb是模式自由(或者更準確的說,“動態模式”)的資料庫。你可以在同一個集合記憶體儲多種多樣的文檔,而且你不需要預先定義集合的“列”或者欄位。 一個集合在第一個文檔插入時建立。 集合名稱應當以字母或者底線開始並且可以包含字母;$是保留字元。集合可以使用命名空間進行劃分;這些集合組的命名使用“.
Time of Update: 2018-12-05
mongodb可以被認為是一種面向文檔的資料庫。所謂文檔,我們說的是結構化文檔,不是任意文字文件。可以把這些文檔想象成僅僅包含資料的對象,不是代碼,方法或者類的層次。另外,在mongodb資料模型中的文檔之間的關聯比由物件導向語言程式中的對象之間的還要少。在mongodb中,文檔是概念上的JSON。更具體的說,這些文檔以名為BSON(代表著二進位的JSON)的格式來呈現。文檔都被儲存在集合中。最大文檔大小mongodb限定了單個BSON對象/文檔的資料大小。在本文檔寫作之時這個限制是16MB.這
Time of Update: 2018-12-05
MongoDB(BSON)資料類型除了基本的JSON類型:string,integer,boolean,double,null,array和object,mongo還使用了特殊的資料類型。這些類型包括date,object id,binary data,regular expression
Time of Update: 2018-12-05
與關係型資料庫相比,MongoDB的優點:①弱一致性(最終一致),更能保證使用者的訪問速度:舉例來說,在傳統的關係型資料庫中,一個COUNT類型的操作會鎖定資料集,這樣可以保證得到“當前”情況下的精確值。這在某些情況下,例 如通過ATM查看賬戶資訊的時候很重要,但對於Wordnik來說,資料是不斷更新和增長的,這種“精確”的保證幾乎沒有任何意義,反而會產生很大的延 遲。他們需要的是一個“大約”的數字以及更快的處理速度。
Time of Update: 2018-12-05
MongoDB是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。它的特點是高效能、易部署、易使用,儲存資料非常方便。主要功能特性有:面向集合儲存、易儲存物件類型的資料。模式自由。支援動態查詢:Mongo支援豐富的查詢運算式,查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及資料。支援完全索引,包含內部對象:Mongo的查詢最佳化工具會分析查詢運算式,並產生一個高效的查詢計劃。支援查詢。支援複製和故障恢複。使用高效的位元據儲存,包括
Time of Update: 2018-12-05
進行了一下Mongodb億級資料量的效能測試,分別測試如下幾個項目:(所有插入都是單線程進行,所有讀取都是多線程進行)1) 普通插入效能 (插入的資料每條大約在1KB左右)2) 批量插入效能 (使用的是官方C#用戶端的InsertBatch),這個測的是批量插入效能能有多少提高3) 安全插入功能 (確保插入成功,使用的是SafeMode.True開關),這個測的是安全插入效能會差多少4) 查詢一個索引後的數字列,返回10條記錄(也就是10KB)的效能,這個測的是索引查詢的效能5)
Time of Update: 2018-12-05
一個配置恰當的mongodb 分區叢集不會有單點失效。本章節描述了叢集伺服器中可能出現的故障,及相應的對策。 1. 某個mongos路由進程故障 每一個mongos會運行每一台應用伺服器上面,該應用伺服器只能通過這個mongos進程和叢集進行通訊。mongos進程不是固定不變的;相反,他們在啟動時從設定管理員那裡擷取必要的配置資訊。
Time of Update: 2018-12-05
簡介mongodb是一個面向集合,模式靈活的文檔型資料庫。所謂面向集合,是說資料被分組儲存在被稱作集合的資料集中。每個集合在資料庫中都有一個唯一的標識名,並且可以包含無限數目的文檔。集合的概念類似關係型資料庫(RDBMS)裡的表(table),不同的是它不需要定義任何模式。所謂模式自由(schema-free),是說對於儲存在mongodb資料庫中的檔案,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的檔案儲存體在同一個資料庫裡。 所謂的文檔,是說儲存在集合中的文檔,被儲
Time of Update: 2018-12-05
Mongodb是一個資料庫伺服器:它運行在前台或者後台,等待來自使用者的串連。當你啟動mongodb,你會看到類似於下面的內容:~/$ ./mongod## some logging output#Tue Mar 9 11:15:43 waiting for connections on port 27017Tue Mar 9 11:15:43 web admin interface listening on port
Time of Update: 2018-12-05
安全2.0版本程式將會支援sharding狀態下面的認證模式。與沒有分區配置的區別2.0版本以前,分區必須運行在可信任的安全模式,沒有明確的安全性原則。在目前的版本中,shard key一旦選定後就不能再更改了。所有的(不是操作多個)更新、更新插入和插入操作必須包含完整的shard key。這會對使用映射庫有些影響,因為此時你無法控制更新操作。$where$where在sharding下面可以使用。但是不要在$where函數中引用資料庫物件(db object)。db.evaldb.eval()
Time of Update: 2018-12-05
每一個mongodb伺服器可以支援多個資料庫。出於安全和方便管理的考慮,每一個資料庫都是獨立的,並且每一個資料庫的資料也是分開儲存的。一個資料庫由一個或多個集合組成,文檔(對象)儲存在集合中,一個可選的安全性憑證可以控制訪問。 命令簡介mongo資料庫有一個資料庫命令的概念。資料庫命令可以告訴資料庫執行一些特殊的操作,或者請求當前操作的狀態資訊。一條命令是作為針對名為$cmd的特殊集合的查詢發送給資料庫的。資料庫會把命令結果放到一個單獨的文檔中返回-使用findOne()查看一下你的驅動是否有這
Time of Update: 2018-12-05
compact命令v1.9+壓縮命令會對一個集合進行壓縮和除片段。索引也會被重建和壓縮。這會為資料庫中其他集合釋放空間。在概念上它和repairDatabase類似,但是它僅僅作用於一個集合而不是整個資料庫。運行(mongo shell上面的樣本):> db.runCommand( { compact : 'mycollectionname' } )OR> db.mycollection.runCommand( "compact"