日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析MongoDB及其C#驅(qū)動的操作步驟

1:簡單介紹

[[13025]]

MongoDB是一款分布式文檔數(shù)據(jù)庫,支持類似關(guān)型數(shù)據(jù)庫的主從結(jié)構(gòu),文檔以二進制Json形式存儲,無鎖,無事務(wù),有索引。

2:安裝步驟

第一步:下載程序集http://www.mongodb.org/downloads

第二部:解壓并抽取相關(guān)的bin目錄到C:\Mongo下(這個任意選擇) ,并在該目錄下建db文件夾。

第三部:打開CMD窗口,進入到C:\Mongo\bin目錄下,運行mongod.exe --dbpath="c:\Mongo\db"

第四步:再開CMD窗口(保持以前的窗口不關(guān)閉)運行mongo.exe。在這個窗口你可以執(zhí)行簡單的命令,以下簡單列出幾個

 
 
 
 
  1. > j = { name : "mongo" };  
  2. {"name" : "mongo"}  
  3. > t = { x : 3 };  
  4. { "x" : 3  }  
  5. > db.things.save(j);  
  6. > db.things.save(t);  
  7. > db.things.find();  
  8. { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }  
  9. { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }  
  10. >  
  11. > for (var i = 1; i <= 20; i++) db.things.save({x : 4, j : i});  
  12. > db.things.find();  
  13. > var cursor = db.things.find();  
  14. > while (cursor.hasNext()) printjson(cursor.next());  
  15. > db.things.find().forEach(printjson);  
  16. > var cursor = db.things.find();  
  17. > printjson(cursor[4]);  
  18. > var arr = db.things.find().toArray();  
  19. > arr[5];  
  20. > db.things.find({name:"mongo"}).forEach(printjson);  
  21. > db.things.find({x:4}, {j:true}).forEach(printjson);  
  22. > printjson(db.things.findOne({name:"mongo"}));  
  23. > db.things.find().limit(3); 

3:C#版的驅(qū)動

 以下列出幾款C#版的驅(qū)動,并作簡單介紹。

第一款:mongodb-csharp 項目地址:http://github.com/samus/mongodb-csharp

簡單介紹:該驅(qū)動是比較全的驅(qū)動,更新隨度非常快,有人已經(jīng)應(yīng)用到項目中去,并且表現(xiàn)非常好。目前他們的團隊正在致力于連接管理這部分功能的擴展例如:自動重連,連接池等等。

第二款:mongodb-net 項目地址:http://code.google.com/p/mongodb-net/

簡單介紹:該開發(fā)還在進行中,有些功能還沒有實現(xiàn)

第三款:MongoDB.Emitter 項目地址:http://bitbucket.org/gwbasic/mongodb.emitter/

簡單介紹:提供了強類型支持

第四款:CSMongo 項目地址:http://somewebguy.wordpress.com/2010/02/21/building-a-mongo-driver-part-1/

簡單介紹:實現(xiàn)了部分功能,并且沒有可下載的代碼。但是你可以看他的博客以了解這種驅(qū)動的思想。

第五款:simple-mongodb 項目地址:http://code.google.com/p/simple-mongodb/

簡單介紹:沒有提供源代碼,以JSon為核心。

最后一個是對第一款某些地方的增強,地址http://deserialized.com/convert-csharp-classes-to-and-from-mongodb-documents-automatically-using-net-reflection

第六款:NoRM 項目地址:http://github.com/atheken/NoRM

介紹:增強了第一種,支持強類型。

延伸閱讀

MongoDB Logo

Mongo是一個高性能,開源,無模式的文檔型數(shù)據(jù)庫,它在許多場景下可用于替代傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或鍵/值存儲方式。Mongo使用C++開發(fā),提供了以下功能:

◆面向集合的存儲:適合存儲對象及JSON形式的數(shù)據(jù)。

◆動態(tài)查詢:Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內(nèi)嵌的對象及數(shù)組。

◆完整的索引支持:包括文檔內(nèi)嵌對象及數(shù)組。Mongo的查詢優(yōu)化器會分析查詢表達式,并生成一個高效的查詢計劃。

◆查詢監(jiān)視:Mongo包含一個監(jiān)視工具用于分析數(shù)據(jù)庫操作的性能。

◆復制及自動故障轉(zhuǎn)移:Mongo數(shù)據(jù)庫支持服務(wù)器之間的數(shù)據(jù)復制,支持主-從模式及服務(wù)器之間的相互復制。復制的主要目標是提供冗余及自動故障轉(zhuǎn)移。

◆高效的傳統(tǒng)存儲方式:支持二進制數(shù)據(jù)及大型對象(如照片或圖片)。

◆自動分片以支持云級別的伸縮性(處于早期alpha階段):自動分片功能支持水平的數(shù)據(jù)庫集群,可動態(tài)添加額外的機器。

MongoDB的主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)以及傳統(tǒng)的RDBMS系統(tǒng)(豐富的功能)架起一座橋梁,集兩者的優(yōu)勢于一身。根據(jù)官方網(wǎng)站的描述,Mongo適合用于以下場景:

◆網(wǎng)站數(shù)據(jù):Mongo非常適合實時的插入,更新與查詢,并具備網(wǎng)站實時數(shù)據(jù)存儲所需的復制及高度伸縮性。

◆緩存:由于性能很高,Mongo也適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后,由Mongo搭建的持久化緩存層可以避免下層的數(shù)據(jù)源過載。

◆大尺寸,低價值的數(shù)據(jù):使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫存儲一些數(shù)據(jù)時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統(tǒng)的文件進行存儲。

◆高伸縮性的場景:Mongo非常適合由數(shù)十或數(shù)百臺服務(wù)器組成的數(shù)據(jù)庫。Mongo的路線圖中已經(jīng)包含對MapReduce引擎的內(nèi)置支持。

◆用于對象及JSON數(shù)據(jù)的存儲:Mongo的BSON數(shù)據(jù)格式非常適合文檔化格式的存儲及查詢。

自然,MongoDB的使用也會有一些限制,例如它不適合:

◆高度事務(wù)性的系統(tǒng):例如銀行或會計系統(tǒng)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫目前還是更適用于需要大量原子性復雜事務(wù)的應(yīng)用程序。

◆傳統(tǒng)的商業(yè)智能應(yīng)用:針對特定問題的BI數(shù)據(jù)庫會對產(chǎn)生高度優(yōu)化的查詢方式。對于此類應(yīng)用,數(shù)據(jù)倉庫可能是更合適的選擇。

◆需要SQL的問題

MongoDB支持OS X、Linux及Windows等操作系統(tǒng),并提供了Python,PHP,Ruby,Java及C++語言的驅(qū)動程序,社區(qū)中也提供了對Erlang及.NET等平臺的驅(qū)動程序。


本文題目:淺析MongoDB及其C#驅(qū)動的操作步驟
地址分享:http://www.5511xx.com/article/coiessg.html