[.NET] NoSQL 解決方案,使用 MongoDB

MongoDB 作為 NoSQL 的一種解決方案,以 C++ 語言撰寫而成,在資料結構上屬於文件檔案式資料庫,主要可應用於大量寫入與讀取的情境,目前提供大多數主流語言使用。

NotSQL 是 Not Only SQL 的縮寫,不同於傳統關聯式資料庫是改用文件檔案式或圖形關係儲存的資料庫,在這 Big Data 的時代裡對於巨量的資料量在關聯式資料庫上使用成本花費可觀,為因應這種情況使用 NoSQL 來處理存放一些需要大量讀寫且資料成長速度極快或關聯性沒有很大資料就很有用處,比較常聽到的 NoSQL 解決方案如 Hapoop、MapReudce、BigTable、HBase、MongoDB 等等。

 

MongoDB 作為 NoSQL 的一種解決方案,以 C++ 語言撰寫而成,在資料結構上屬於文件檔案式資料庫,主要可應用於大量寫入與讀取的情境,目前提供大多數主流語言使用,如 C, C++, C#, Java, JavaScript, PHP, Ruby 等,並且能夠因應資料儲存量擴張時只要增加服務器即可擴充(橫向擴充)與同步資料,主要特點如下。

 

  1. 物件型態的文件儲存方式,採用 JSON 格式的 BSON
  2. 可以對任何屬性建立索引
  3. 複製叢集,高度的可用性
  4. Sharding 自動切割資料,提供橫向擴充
  5. 簡易的查詢方式
  6. 快速本地更新
  7. Map-Reduce 處理大量統計計算
  8. GridFS 規範的儲存方式

 

 

另外比較需要注意的還有以下幾點

 

  1. 盡量使用 64 位元版本,因為 32 位原本版最大儲存只有 2GB
  2. 沒有 JOIN 與 Transtaction 語法可以使用
  3. 需要大量的儲存空間
  4. 沒有比較方便好用的管理工具
  5. MongoDB 其他使用上的限制說明

 

目前 NoSQL 的解決方案其實也有好幾種,但是以 .NET + NoSQL 的基本解決方案來說,MongoDB 提供了 C# 相關的操作文件 API 與範例,入門起來感覺就比較容易了,因此使用 MongoDB 是一種不錯的選擇。

 

此篇文章將做為一個序篇,並在以下列出後續使用 MongoDB 的相關文章。

  1. [.NET] NoSQL 解決方案,使用 MongoDB
  2. [.NET] 在 Windows 上安裝執行 MongoDB
  3. [.NET] MongoDB 基本新增、讀取、更新、刪除 (CRUD) 操作
  4. [.NET] MongoDB 泛型新增、讀取、更新、刪除 (CRUD) 操作
  5. [.NET] MongoDB GridFs 操作
  6. [.NET] MongoDB 啟用安全驗證模式

 

 

註:撰寫此系列文章時,使用 MongoDB 版本為 2.4

 

 


以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)