三種快速最佳化MongoDB的方法,從此最佳化不再難!
網際網路的發展和電子商務平臺的崛起,催生了大資料時代的來臨,作為大資料典型開發框架的MongoDB成為了No-sql資料庫的典型代表。
那麼,在使用過程中你有沒有遇到MongoDB資料庫的效能問題?本文就給大家講解幾個MongoDB效能最佳化技巧。
1、保持檔案簡單
MongoDB是一個無架構的資料庫。這意味著預設情況下沒有預定義的架構。我們可以在較新的版本中新增預定義的架構,但它不是必需的。請注意使用嵌入式文件和陣列時遇到的困難,因為在應用程式端/ ETL過程中解析資料會變得非常複雜。此外,陣列可能會損害複製效能:對於陣列中的每個更改,都會複製所有陣列值!
在MMAPv1中,選擇正確的欄位名稱非常重要,因為資料庫需要儲存每個文件的欄位名稱。這與在關聯式資料庫中儲存模式不同。讓我們想象一下 ,如果你有一百萬個檔案,一個名為lastmessage的欄位從感測器中獲取的資料會花費你多少:大約28 MB只是為了儲存這個欄位名稱!十個欄位的集合將需要280MB(僅用於儲存空文件)。
幾乎達到此文件大小的文件是不可取的,因為資料庫需要大量頁面才能處理單個文件。這需要更多的CPU週期來完成任何操作。
2、閱讀Preference和writeConcern
讀取首選項和writeConcern根據公司的要求而有所不同。但請記住,新的MongoDB版本(3.6)使用writeConcern:“多數”和readConcern:“主要”。
這意味著它必須承認至少在所有寫入((N / 0.5)+1)的寫入,其中N是副本集中例項的數量。這可能會很慢。然而,這對於速度的一致性來說是一個公平的權衡。
請確保你使用的是最適合您的閱讀偏好,並在你的公司中撰寫關注。驅動程式始終從主伺服器讀取,但如果它不是你的環境要求,請考慮將查詢分發到其他例項中。如果不這樣做,這些例項僅用於故障轉移,並且不會在常規操作中使用。
3.工作集
工作集有多大?通常,應用程式不使用所有資料。有些資料經常更新,而其他資料則沒有。
您的工作資料集是否適合RAM?當所有工作資料集都在RAM中時,會出現最佳效能。像頁面錯誤一樣,Wome的慢度可能會影響效能,具體取決於您使用的內容。
讀取(例如備份,ETL或初級報告)可能會嚴重影響效能,因為存在快取中頁面的競爭。大型報告或聚合也是如此。 將多個集合用於多種用途並將特定機器用於特定目的(例如使用區域來儲存將不再使用的文件)將有助於實現簡單和預期的工作集。
以上就是我們為你整理的MongoDB最佳化技巧了,希望能對你有所幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2640216/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript this 從此不再疑惑JavaScript
- mysql最佳化通常使用的幾種方法MySql
- 4個最佳化MongoDB的技巧MongoDB
- 【SQL 效能最佳化】表的三種連線方式SQL
- 三種表連線方式 最佳化總結
- 快速掌握mongoDB(三)——mongoDB的索引詳解MongoDB索引
- MySQL 主從複製原理不再難MySql
- sql最佳化的幾種方式SQL
- 谷歌從此不再“不作惡”,新公司將“行正道”谷歌
- Spring Boot中7種最佳化快取方法Spring Boot快取
- 常用的效能最佳化方法
- 看完這個,Java IO從此不在難Java
- 快速排序的三種實現方法 (C++)排序C++
- Mysql效能最佳化(三)MySql
- C++程式碼最佳化方法總結(三) (轉)C++
- webpack從此不再是我們的痛點 — 核心基礎Web
- 50種方法最佳化SQL Server資料庫查詢SQLServer資料庫
- 六種設定方法最佳化IE瀏覽器(轉)瀏覽器
- Web 效能最佳化方法Web
- 網站訪問變慢最佳化,淺析10種網站訪問變慢最佳化方法的作用網站
- WordPress基礎建站快速最佳化與HTTPS+CDN最佳化方案HTTP
- 五種JVM效能最佳化技巧JVM
- Oracle效能最佳化方法論的發展之二:基於OWI的效能最佳化方法論Oracle
- Oracle 效能最佳化的基本方法概述Oracle
- Python 潮流週刊#28:兩種執行緒池、四種最佳化程式的方法Python執行緒
- Redis快速產生測試資料的三種方法Redis
- 三種簡單的PDF檔案快速壓縮方法
- mongodb核心原始碼實現及效能最佳化系列:Mongodb特定場景效能數十倍提升最佳化實踐MongoDB原始碼
- 微課sql最佳化(17)、不改程式碼,最佳化SQL(1)-最佳化方法總結SQL
- SQL最佳化案例-從執行計劃定位SQL問題(三)SQL
- 張馳諮詢:企業流程最佳化的五種方法,你知道嗎
- 70個shell指令碼面試題集錦,從此不再害怕面試!指令碼面試題
- 三種快速排序排序
- MYSQL最佳化三板斧MySql
- C程式最佳化之路(三) (轉)C程式
- 最佳化策略:從頭開始對Linux進行最佳化(轉)Linux
- 效能最佳化指南:效能最佳化的一般性原則與方法
- 快速管理Win8.1啟動專案的三種方法