iT邦幫忙

1

MongoDB 是什麼?優點、特色、應用一次了解!

  • 分享至 

  • xImage
  •  

資料庫在數位時代扮演了舉足輕重的角色,無論是個人還是企業都需要資料儲存、快取、搜尋索引、非同步處理和批次處這些功能。目前有許多不同種的資料庫和資料管理系統,其中 MongoDB 越來越受到知名國際企業歡迎。但 MongoDB 的優勢是什麼?MongoDB 可以如何提升企業效率呢?讓我們一起一探究竟,好好了解 MongoDB 吧!

MongoDB 是什麼?

MongoDB 是一種開源的文件導向資料庫,採非關聯式的設計。看完這個定義,你可能有了更多問題。開源?文件導向?非關聯式?這些又是什麼意思呢? 有非關聯式資料庫 (NoSQL) 的話,那很顯然也有關聯式資料庫 (RDBMS)。我們先一起來了解這兩種資料庫的差別吧!

關聯式資料庫 (RDBMS)

在關聯式資料庫裡,物件以關聯模型的方式儲存----依照資料彼此之間的關係存放。在建立關聯式資料庫之初,就要預先設定好資料庫綱要(Schema) 以及資料表間的關係。從1980年代開始後的25-30年間,關聯式資料庫為市場主流。大多數需要儲存和查詢資料的人都在使用關聯式資料庫和 SQL (Structured Query Language)。其中 MySQL 就是傳統關聯模型的的著名例子。

非關聯式資料庫 (NoSQL)

非關聯式資料庫的英文 NoSQL 指的是 Not Only SQL,亦即任何不是單純關聯式資料庫,包括了非關聯式資料庫的資料管理系統和關聯式資料庫和非關聯式混合的資料庫。文件導向是非關聯式資料庫裡中常見的資料儲存、檢索和管理的方式,採用半結構化模型。相比於關聯式資料庫,文件導向的資料庫不需要設定資料庫綱要 (Schema)。非關聯式資料庫因為更簡便和自由的使用方式和擴充能力大受歡迎,2007年開發的 MongoDB 就是其中一種 NoSQL 資料庫。MongoDB SQL 比較圖

MongoDB 特色

選擇資料庫的時候,最重要的就是考慮資料庫的的特色和自己的需求是否符合。Mongo DB 有以下特色:

  • 靈活儲存
  • 便於更改
  • 強大的查詢功能
  • 高性能
  • 安裝容易

靈活文件儲存

文件導向的 MongoDB 可以接受各種不同結構的資料。採用高彈性的 JSON 結構,MongoDB 不需要資料庫綱要,可以串連不同性質的物件。

便於更改

過往在更動資料庫時,需要先暫時關閉網站或是應用程式。但 MongoDB 就是為了方便更改資料結構而誕生的。使用 MongoDB,可以不需關閉網站或應用程式就在資料庫裡添增新的資料。

強大的查詢功能

資料庫除了容量大讓我們儲存各式文件以外,更重要的就是需要的時候找的到資料。MongoDB 的設計讓資料容易存取,無需透過 joins 或 transactions 即可查詢資料。搭配 MongoDB Query API 甚至可以以簡單的程式碼進行複雜的資料分析。

高性能

在文件導向的 MongoDB 裡,資料可以嵌入在一個文件中。查詢資料因此變得更加快速。另外,MongoDB的insertMany 和 updateMany 功能也讓 MongoDB 比傳統的關聯式資料庫在同時插入或更新多個檔案時更佳方便。

安裝容易

MongoDB Atlas 的簡單介面讓你可以輕鬆在雲端搭建 MongoDB 叢集。當然也可以搭建 MongoDB 在你自己的伺服器,或創建 MongoDB 容器。

MongoDB 支援語言

MongoDB 本身是用 C++ 語言所寫的,但作為最受歡迎的 NoSQL 資料庫,MongoDB 正式支援的語言有12種:

  • C
  • C++
  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • cPython
  • Ruby
  • Rust
  • Scala
  • Swift

如果想在 MongoDB 上使用其他的程式語言,MongoDB 社群也有人開發函式庫和驅動程式讓 MongoDB 可以跟幾乎所有的程式語言相容。同時如果要在同一個應用程式裡使用不同的程式語言,MongoDB 也是沒問題的!

MongoDB vs MySQL

看了這麼多關於 MongoDB 的介紹,還是不確定哪一種資料庫更適合自己嗎?如果你還在考慮要用 RDBMS 還是 NoSQL 資料庫,可以從以下的角度思考你的需求。

適合使用 NoSQL/MongoDB 的情境有:

  1. 小型的專案,想要快速搭建資料庫
  2. 需要快速讀取資料
  3. 沒有明確的資料庫綱要 (Schema)
  4. 不需用到連接 (Join) 功能查詢資料
  5. 資料之間的關聯不複雜

適合使用 RDBMS/MySQL 的情境有:

  1. 有明確的資料庫綱要 (Schema)
  2. 需要有效率的查詢資料
  3. 需要可以準確操作資料
  4. 資料操作的一致性相當重要
  5. 資料之間的關聯很重要
  6. 預測未來會需要用到連接 (Join) 功能查詢

當然,在選擇資料庫的時候,還有很多其他需要考慮的地方,尤其是要使用資料庫的應用程式是為了解決什麼問題打造的、會使用什麼系統設計、未來需要擴充嗎、會使用多少資源等。這些都是在選擇資料庫時,重要的考量。

MongoDB 應用

零售業

可處理屬性不同的資料和快速查詢的 MongoDB 適合用來儲存目錄資料和管理訂單資料,例如使用者帳戶、產品目錄、IoT 裝置註冊及材料表系統。 這項資料的屬性可能會有所不同,而且可以隨時間變更,以符合應用程式需求。 使用 MongoDB的產品包含:Windows 市集和 XBox Live等。

金融業

MongoDB 也可以用在金融業的各種資料儲存情境中,例如開放銀行、eKYC 或即時客戶分析等。英國銀行Nationwide Building Society (NBS) 便是 MongoDB 資料庫的使用者。

製造業

製造業更可以透過 MongoDB 提高效率,即時做出最好的決策。MongoDB 可以讓供應鏈變得更加可見易懂,也可以讓你結合 IT 和 OT 的數據,即時作出分析。Toyota 和 Volvo 都在使用 MongoDB,讓生產製造更聰明。

雲端 MongoDB

MongoDB 資料庫可以搭建在自己的伺服器或是硬體上,也可以建置在各個雲上。

原文來源:https://reurl.cc/gZ6RXX


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言