月度歸檔:2019年07月

使用JMeter做MongoDB性能測試

對大多數應用環境來說,數據庫是一個關鍵要素。如何存儲數據以及在哪里存儲數據,對整個系統的性能會產生巨大影響。因此,在做開發之前,數據庫的選擇肯定是最重要的決定之一。對數據庫進行性能測試有助于你達成此項決定,這也是你在開發過程中的一項重要工作。
這篇文章會教你使用Apache JMeter?進行開源MongoDB數據庫測試。[......]

閱讀全文

謹防索引 seeks 的效率低下

背景

最近線上的一個工單分析服務一直不大穩定,監控平臺時不時發出數據庫操作超時的告警。
運維兄弟溝通后,發現在每天凌晨1點都會出現若干次的業務操作失敗,而數據庫監控上并沒有發現明顯的異常。
在該分析服務的日志中發現了某個數據庫操作產生了 SocketTimeoutException

開發同學一[......]

閱讀全文

【五分鐘了解MongoDB 2】為何選擇文檔數據結構

文檔數據結構是數據的自然表達。我們僅僅在70年代將數據拆分為行和列來優化數據的訪問。由于當時存儲和計算能力的價格高昂,耗費開發者的時間將數據減少、拆散為行和列的模式是有意義的,通過范式、相互關聯等范式來減少數據的重復。這一過程有一定的成本效益,故而它主導了當時的數據庫思維。

很多人都把定義行、列模[......]

閱讀全文

常見問題: MongoDB 存儲

  • 存儲引擎基礎知識
  • 你可以在副本集中混用存儲引擎嗎?
  • WiredTiger存儲引擎
  • MMAPv1存儲引擎
  • 我可以手動填充文檔以防止更新期間的移動嗎?
  • 數據存儲診斷

該文檔講述關于MongoDB存儲系統的常見問題。

存儲引擎基礎

什么是存儲引擎?

存儲引擎是數據庫的一部分,負責管理如何在內存[......]

閱讀全文

MongoDB 索引詳解(一)

  • 默認_id 索引
  • 創建索引
  • 索引類型
  • 索引屬性
  • 索引使用
  • 索引及排序規則
  • 覆蓋查詢
  • 交叉索引
  • 限制
  • 其他注意事項

索引支持MongoDB中查詢的高效執行。如果沒有索引,MongoDB必須執行集合掃描,即掃描集合中的每個文檔,以選擇與查詢語句匹配的文檔。如果查詢存在適當的索引,MongoDB可以[......]

閱讀全文