NoSql,全稱是 Not Only Sql,指的是非關係型的數據庫。下一代數據庫主要解決幾個要點:非關係型的、分佈式的、開源的、水平可擴展的。原始的目的是爲了大規模web應用,這場運動開始於2009年初,通常特性應用如:模式自由、支持簡易複製、簡單的API、最終的一致性(非ACID)、大容量數據等。NoSQL被我們用得最多的當數key-value存儲,當然還有其他的文檔型的、列存儲、圖型數據庫、xml數據庫等。
MongoDB數據庫介紹
MongoDB 是一個面向文檔的數據庫系統,使用C++編寫,不支持SQL,但有自己功能強大的查詢語法,humongous(極大的)這個單詞的中間部分,可見是海量數據的處理。
MongoDB使用BSON作爲數據存儲和傳輸的格式。BSON是一種類似JSON的二進制序列化文檔,支持嵌套對象和數組。MongoDB很像MySQL,document對應MySQL的row,collection對應MySQL的table。
MongoDB的安裝
1.到官方網站:http://www.mongodb.org/downloads 下載windows最新版本,解壓。
2. 建個文件:c:\data\db (默認數據存儲目錄–可以更改bin/mongod.exe --dbpath d:/data/mongo)
3. 運行mongod.exe
這樣就可以看到MongoDB的服務器端:
MongoDB的客戶端—MongoVUE
雖然MongoDB自帶了一下工具,MongoVUE 是不錯的一個第三方工具。
到http://www.mongovue.com/downloads/下載客戶端,
啓動MongoVUE
連接配置,就可以方便的操作Mongo:
C#客戶端 訪問MongoDB--- /mongo-csharp-driver
1. 下載驅動
下載地址爲:
http://github.com/mongodb/mongo-csharp-driver/downloads
2. 新建一個Console C#的項目,添加引用:
MongoDB.Bson.dll
MongoDB.Driver.dll
示例代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Bson;
using MongoDB.Driver;
namespace Jeriffe.MongoDB
{
class Program
{
static void Main(string[] args)
{
//鏈接字符串
string connectionString = "mongodb://localhost";
//數據庫名
string databaseName = "myDatabase";
//定義Mongo服務
MongoServer server = MongoServer.Create(connectionString);
//獲取databaseName對應的數據庫,不存在則自動創建
MongoDatabase mongoDatabase = server.GetDatabase(databaseName) as MongoDatabase;
MongoCollection<BsonDocument> books = mongoDatabase.GetCollection<BsonDocument>("books");
//鏈接數據庫
server.Connect();
try
{
BsonDocument book = new BsonDocument
{
{ "author", "Ernest Hemingway" },
{ "title", "For Whom the Bell Tolls" }
};
books.Insert(book);
var query = new QueryDocument("author", "Ernest Hemingway");
foreach (BsonDocument bookItem in books.Find(query))
{
Console.WriteLine(book["author"]);
}
}
finally
{
//關閉鏈接
server.Disconnect();
}
Console.Read();
}
}
}
參考地址:http://www.wentrue.net/blog/?p=772http://www.cnblogs.com/jeriffe/articles/2079321.html
http://www.fuchaoqun.com/2011/05/why-mongodb/
http://www.cnblogs.com/mamboer/archive/2010/03/05/1679292.html