MongoDB

MongoDB – 為現代應用而生

最受歡迎的NoSQL資料庫

MongoDB擁有高靈活性、高可用性及可擴展性,蟬聯DB-Engines 2018、2019熱門排名第五名,也是NoSQL資料庫的領導者。MongoDB能儲存JSON及Schema-free的資料,是一種基於文檔的分散式資料庫,為開發人員和雲端時代的應用提供前所未見的生產力。

相較於傳統關聯式資料庫,MongoDB對於巨量資料、高併發以及高可靠性有強大的支援;和其他NoSQL資料庫相比,MongoDB基於文檔的資料模型及其動態建模的特性使得它更加自由靈活;分片(Sharding)的資料分散處理架構,使MongoDB得以透過水平擴充儲存海量資料,因此適用於各種應用場景如CRM、內容管理、事件紀錄、商情分析、手機應用、社交等。

開發人員使用MongoDB來驅動創新的產品和服務,迄今MongoDB全球下載數超過4千萬次、企業用戶6千多家。Adobe、Cisco、ebay、Expedia、Facebook、Google、MetLife、SAP等國際企業都是MongoDB的使用者。

home_translator_icon_home_1
FEATURE

提供高性能、數據持久化

home_translator_icon_home_2
FEATURE

提供豐富的查詢語言執行讀寫操作

home_translator_icon_home_3
FEATURE

副本集配置,能提供高可用性、讀寫分離等功能

home_translator_icon_home_4
FEATURE

分片叢集能在不停機的狀態下,水平式擴展和資料自動平衡

home_translator_icon_home_5
FEATURE

支援多種儲存引擎

MongoDB 產品訊息

瞭解更多產品相關更新

產品訊息

MongoDB 成功案例

查看其他企業如何使用 MongoDB 提升效能!

成功案例
about MongoDB

敏捷可擴展的高速資料庫

高度使用彈性
MongoDB是一種針對半結構化資料而設計,可不斷依使用需求擴充性能與容量的NoSQL巨量資料儲存系統,它能對PB規模且結構不定的資料塊進行Ad hoc查找與更新,並依然保有近乎即時的低延遲性。

MongoDB擁有允許資料格式不一致的彈性以及大量儲存的能力,因此非常適合作為資料倉儲或是作為中央資料庫以解決資料孤島問題。除此之外,MongoDB強大的即時查找、修改、新增、刪除能力,同樣也適用於大多數關聯式資料庫所擅長的場合,如處理網站資料、用戶資料、部落格留言與地理資訊系統等。同時,MongoDB也適合進行一些即時性高的輕量分析工作,如依據點擊迅速預測用戶使用偏好,豐富MongoDB的應用場景。


使開發變得容易
MongoDB的文檔資料模型使開發人員易於學習和使用,同時仍提供滿足各種規模的複雜需求所需的功能。由於半結構化資料不強制規定資料欄位,MongoDB也非常適合開發人員進行敏捷開發,開發者可以用最快速度製作出軟體系統,允許資料格式不一致的特性,使開發者可以更容易地適應快速變遷的業務。

MongoDB是近年來高速竄起的新興資料處理平台,也是NoSQL中使用頻率與受關注度最高的資料庫,因此它的開發被大量注資,開發者社群與周邊生態圈狀況都相當良好,MongoDB官方也提供絕佳的資源區建議的學習路徑

查看我們的 Data Warehouse 解決方案,規劃您的資料倉儲


可線性擴充的容量與效能

MongoDB Sharded Cluster

具有大數據集或高吞吐量的應用程式資料庫系統,對於單一主機而言可能會是挑戰。例如,高查詢率可能會過度消耗主機的CPU效能。分片(sharding)是一種在多台主機之間分配資料的方法。MongoDB使用分片來實現具有非常大的數據集和高吞吐量操作的部署。

MongoDB可以透過水平擴充增加更多節點,以補足垂直擴充架構的不足,來達到更大的儲存容量與更高的效能。這些節點可以分擔工作量,因此與單台高速大容量主機相比,可以提供更高的效率。擴充時可以根據需求增加主機,比起購置單台高昂硬體更能降低總體成本。隨著節點數增加,容量和資料吞吐量都會一併增加,隨著資源的投入,容量和性能均可以線性關係增長,可達到PB規模的資料量。

附圖為MongoDB Sharded Cluster的基本架構圖,Sharding Cluster使得集合的數據可以平均分散到多個Shard儲存,使MongoDB具備了橫向擴展的能力。

高可用性架構

MongoDB Replica Set

MongoDB內建副本集架構(Replica Set),副本集是所有生產部署的基礎,並提供冗餘(redundancy)和高可用性(high availability)。

每個副本集內部包含多台主機,其中一台為Primary,其他台為Secondary,多台機器之間的狀態及資料會自動同步。當Primary因故不可用時,系統會自動在數秒內從Secondary中選出一台Primary回滾原先Primary的寫入操作並恢復工作,從而實現高可用性。整個流程完全不須維運人員介入,就算系統在半夜當機下線也不用擔心。

Document Base

基於文檔的資料庫

MongoDB採用Document Base的資料模型,每筆資料(對應到傳統資料庫的Row)被稱為一個文檔,以類似JSON的文檔(Document)構建及儲存。基於JSON的規格特性,MongoDB可以在欄位中儲存其他文檔,自然形成目錄般的多層結構,稱為次級結構;MongoDB內建多值支援,可以在欄位中儲存多值陣列,無需另開表格。陣列欄位可被用戶充份掌握,不但可以在上面建立索引也可以針對陣列中的個別元素進行搜尋與更新等操作,也可動態追加或刪除其中的任意元素。

文檔資料庫對於開發人員而言既自然又靈活,因此開發人員能確保更高的生產力,並根據應用程式的需求更快地進行開發。作為一種NoSQL資料庫,文檔資料模型已成為關聯式資料庫的流行替代方案。

  • 直觀的數據模型:更快速、更簡單
  • 靈活的架構:動態適應變化
  • 通用性:廣泛使用的JSON文檔
  • 功能強大:隨時查詢數據
  • 分佈式:彈性且易於擴展

MongoDB Atlas

雲端全託管分散式資料庫服務

MongoDB Atlas是針對現代應用程式的雲端資料庫服務,可以在AWS、Azure和Google Cloud上完全託管。MongoDB Atlas具有一流的自動化機制和實際有效的做法確保高可用性、彈性、可伸縮性和最佳性能,以及符合嚴格的資料安全性和隱私標準。透過MongoDB強大的驅動程式生態系統、集成和工具,可以加快構建速度,並減少管理資料庫的時間,敏捷開發團隊可以更快地轉移服務,將時間用於構建應用程式而非管理資料庫。

  • 安全無虞
  • 完全託管的備份
  • 全面的監控和可自定義的警報
  • 以最短停機時間遷移現有部署
  • 雲端限定功能,如實時觸發器和全球集群

更多特色

強大的查詢語言

絕大多數的NoSQL資料庫缺乏良好的動態查詢能力,往往需要在資料存入初期就決定運用方式。與之相比,MongoDB在NoSQL中擁有幾乎是最有彈性的動態查詢能力,面對半結構化的離散欄位,依然能進行篩檢分析。

MongoDB的查詢語言本身就是JSON格式,因此很容易組合,不需要串聯字符生成SQL查詢,豐富而清楚的查詢語言可以按任意字段進行過濾和排序,儘管文檔中有多個層級也能查詢。它也支持聚合(aggregation)和近代的查詢需求,例如地理搜索、圖形搜索和文本搜索。

豐富的索引

MongoDB使用基於Btree的索引(index)系統,並透過索引執行高效率的查詢。MongoDB提供了許多不同的索引類型,用戶可以依照資料多樣性建立不同索引查詢特定類型的數據。MongoDB允許用戶針對半結構資料中的任何欄位甚至是部份不存在的欄位進行索引;也允許建立多級索引,用戶可以執行「先以出生地排序,再以出生日期排序」的操作。

地理索引

MongoDB對地理空間資訊資料有一系列的支援,用戶可以對地理標記進行索引,讓應用程式能執行空間查詢。例如快速篩檢出最近的地標,或是半徑200公尺內的標記,又或是依照距離遠近排序等。

線上即時分析

MongoDB內建MapReduceAggregate Pipeline分析框架,用戶能夠進行即時性的輕量級分散式分析,可以快速完成例行或客製化的行為分析。

資料庫內壓縮

MongoDB提供有效率的資料壓縮功能,讓資料與索引能在硬碟中維持一個較小的容量。在巨量資料的使用情境下,不但減少主機數量,還因為效能需求從I/O轉移到CPU上從而提升整體性能,而且對於應用程式完全透明,無須在應用端執行壓縮操作。

使用通用硬體

MongoDB不需要特殊的硬體與網路設計,就可以流暢地運行在標準的x86、乙太網路與本機硬碟系統上面,顯著降低了昂貴的專屬硬體成本。

mongoDB

免費諮詢

根據您的環境與需求
規劃全方位解決方案