MongoDB分區簡單一實例

來源:互聯網
上載者:User

MongoDB分區簡單一實例
分區

在Mongodb裡面存在另一種叢集,就是分區技術,可以滿足MongoDB資料量大量增長的需求。

當MongoDB儲存海量的資料時,一台機器可能不足以儲存資料也足以提供可接受的讀寫輸送量。這時,我們就可以通過在多台機器上分割資料,使得資料庫系統能儲存和處理更多的資料。

為什麼使用分區
  • 複製所有的寫入操作到主節點
  • 延遲的敏感性資料會在主節點查詢
  • 單個複本集限制在12個節點
  • 當請求量巨大時會出現記憶體不足。
  • 本地磁碟不足
  • 垂直擴充價格昂貴
MongoDB分區

展示了在MongoDB中使用分區叢集結構分布:

中主要有如下所述三個主要組件:

  • Shard:

    用於儲存實際的資料區塊,實際生產環境中一個shard server角色可由幾台機器組個一個relica set承擔,防止主機單點故障

  • Config Server:

    mongod執行個體,儲存了整個 ClusterMetadata,其中包括 chunk資訊。

  • Query Routers:

    前端路由,用戶端由此接入,且讓整個叢集看上去像單一資料庫,前端應用可以透明使用。

具體執行個體

    採用三個shard一個佈建服務

1.首先啟動三個資料庫伺服器連接埠分別是:55555,55556,55557,host:localhost.

       ./mongod --port 55555 --dbpath=data/share1 --logpath=data/share1/logs/s1.log --logappend --fork

       ./mongod --port 555556--dbpath=data/share2 --logpath=data/share2/logs/s2.log --logappend --fork

       ./mongod --port 55557 --dbpath=data/share3 --logpath=data/share3/logs/s3.log --logappend --fork

    

2.啟動設定管理員

       ./mongod --port 55558 --dbpath=data/config --logpath=data/config/logs/cnf.log --logappend --fork

3.啟動路由服務.

                   ./mongos --port 55554 --dbpath=data/share --logpath=data/share/logs/route.log --logappend --fork --configdb localhost:55558 --chunkSize 500

      其中chunkSize為分區的大小,佈建服務主要儲存有路由資訊

4.添加shard

        use admin

        db.runCommand({addshard:"localhost:55555"})

        db.runCommand({addshard:"localhost:55556"})

        db.runCommand({addshard:"localhost:55557"})

        db.runCommand({enablesharding:"test"})//資料庫test有分區能力

        db.runCommand({shardcollection:"test.log",key:{id:1,time:1}})//指定文檔中資料庫對應的表通過什麼分區.這裡是test中log表根據id和time分區.

5.查看分區狀態

    db.runCommand({listshards:1})

更多MongoDB相關教程見以下內容:

CentOS 編譯安裝 MongoDB與mongoDB的php擴充

CentOS 6 使用 yum 安裝MongoDB及伺服器端配置

Ubuntu 13.04下安裝MongoDB2.4.3

MongoDB入門必讀(概念與實戰並重)

Ubunu 14.04下MongoDB的安裝指南

《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios監控MongoDB分區叢集服務實戰

基於CentOS 6.5作業系統搭建MongoDB服務

MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.