Time of Update: 2017-01-18
首先一點就是mongodb 不會釋放已經佔用的硬碟空間,即使drop collection也不行,除非drop database。如果一個db曾經有大量的資料一段時間後又刪除的話,硬碟空間就是一個問題,如何收回被mongdodb佔用的多餘空間?方法有兩種1. dump & restoremongodump -d databasename -o /path/to/dump_direcho 'db.dropDatabase()' | mongo
Time of Update: 2017-01-18
我的實現目標是:可以通過一個或多個關鍵詞搜尋到文章。可以通過文章的關鍵詞列表查詢到其相關文章。查詢到的結果依據相關程度降序排列。查詢速度要夠快。(理論上關鍵詞檢索比全文檢索索引要快很多的)在網上找了一大圈,就沒有一個靠譜的方法,基本都是只能傳入單詞來檢索,而且基本都沒有提供C#驅動版本的代碼,於是乎自己研究出了這個實現方案:首先要求使用標籤、分詞、關鍵詞提取組件對文章對應的關鍵詞進行提取,然後作為數組格式,存入文章的Keywords欄位中。核心檢索代碼:/// <summary>//
Time of Update: 2017-01-18
分區是mongoDB擴充的一種方式。分區分割一個collection並將不同的部分儲存在不同的機器上。當一個資料庫的collections相對於當前空間過大時,你需要增加一個新的機器。分區會自動的將collection資料分發到新的伺服器上。1. 串連到mongos可查看系統相關資訊configsvr> show dbsconfigsvr> use configconfigsvr> show collectionsonfigsvr> db.mongos.find(){ "
Time of Update: 2017-01-18
常用JavaScript語句複製代碼 代碼如下: db.getSiblingDB(<dbname>) db.getCollectionNames() db.getCollection(<collname>) db.printCollectionStats()在mongo shell運行JavaScript指令碼 切換資料庫: 複製代碼 代碼如下:
Time of Update: 2017-01-18
這篇文章的目的是讓你知道怎麼瞭解你正在啟動並執行Mongdb是否健康。mongostat詳解mongostat是mongdb內建的狀態偵查工具,在命令列下使用。它會間隔固定時間擷取mongodb的當前運行狀態,並輸出。如果你探索資料庫突然變慢或者有其他問題的話,你第一手的操作就考慮採用mongostat來查看mongo的狀態。它的輸出有以下幾列:1.inserts/s 每秒插入次數2.query/s 每秒查詢次數3.update/s 每秒更新次數4.delete/s
Time of Update: 2017-01-18
一、MongoDB對MySQL常用的SQL語句對應的實現 複製代碼 代碼如下:—————————————— MySQL: SELECT * FROM user Mongo: db.user.find() —————————————— MySQl: SELECT * FROM user WHERE name = 'foobar' Mongo: db.user.find({ 'name' : 'foobar' }) —————————————— MySql: INSERT INTO user
Time of Update: 2017-01-18
MongoDB 是一個基於分布式檔案儲存體的資料庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴充的高效能資料儲存解決方案。MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。一、MongoDB必須理解的概念1.資料庫:每個資料庫都有自己的許可權和集合。2.文檔:一個索引值對。3.集合:一組文檔,即一組索引值對。當第一個文檔插入時,集合就會被建立。二、Mac下的MongoDB安裝和啟動1.使用brew進行安裝:brew
Time of Update: 2017-01-18
一、find操作MongoDB中使用find來進行查詢,通過指定find的第一個參數可以實現全部和部分查詢。1、查詢全部空的查詢文檔{}會匹配集合的全部內容。如果不指定查詢文檔,預設就是{}。2、部分查詢3、鍵的篩選鍵的篩選是查詢時只返回自己感興趣的索引值,通過指定find的第二個參數來實現。這樣可以節省傳輸的資料量,又能節省用戶端解碼文檔的時間和記憶體消耗。查詢時,資料庫所關心的查詢文檔的值必須是常量。二、查詢條件1、比較查詢$lt,$lte,$gt,$gte,$ne和<,<=,&
Time of Update: 2017-01-18
建立集合:createCollection() 方法MongoDB db.createCollection(name, options) 是用來建立集合.文法:基本的 createCollection() 命令文法如下:db.createCollection(name, options)在命令中, name 是要建立的集合的名稱. Options 是一個檔案,用於指定配置的集合 參數 類型 描述 Name
Time of Update: 2017-01-18
OpenStack Ceilometer用MongoDB解決佔用磁碟空間過大問題背景:Ceilometer使用MongoDB作為資料庫,不斷進行採樣,導致資料量膨脹,佔用過多的磁碟空間。知識背景1.資料庫檔案類型 1.1. journal 記錄檔 跟一些傳統資料庫不同,MongoDB的記錄檔只是用來在系統出現宕機時候恢複尚未來得及同步到硬碟的記憶體資料。記錄檔會存放在一個分開的目錄下面。啟動時候MongoDB會自動預先建立3個每個為1G的記錄檔(初始為空白)。1.2. namespace
Time of Update: 2017-01-18
背景最近在寫一個測試載入器箱,裡面有一個bug記錄系統,因為後台我是用Django和MongoDB來實現的,就遇到了一個問題,要如何?一個自增的欄位。傳統的關係型資料庫要實現起來是非常容易,只要直接設定一個自增欄位就行了,插入資料時不用管這個索引值,只管自己處理的資料就行了,會自動實現自增的功能,但是非關係型資料庫好像沒有這個功能(或者我不知道)。百度之後發現都是MongoDB的設定方法,並不是我想要的。解決思路百度沒有找到好的思路,那就只能自己解決了,我的想法很簡單,欄位不會自增,那麼就自己造
Time of Update: 2017-01-18
MongoDB中的索引其實類似於關係型資料庫,都是為了提高查詢和排序的效率的,並且實現原理也基本一致。由於集合中的鍵(欄位)可以是普通資料類型,也可以是子文檔。MongoDB可以在各種類型的鍵上建立索引。下面分別講解各種類型的索引的建立,查詢,以及索引的維護等。一、建立索引 1. 預設索引 MongoDB有個預設的“_id”的鍵,他相當於“主鍵”的角色。集合建立後系統會自動建立一個索引在“_id”鍵上,它是預設索引,索引名叫“_id_”,是無法被刪除的。我們可以通過以下方式查看:複製代碼
Time of Update: 2017-01-18
傳統的關聯式資料庫一般由資料庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由(database)、集合(collection)、文檔對象(document)三個層次組成。MongoDB對於關係型資料庫裡的表,但是集合中沒有列、行和關係概念,這體現了模式自由的特點。一、關於MongoDB的驅動MongoDB支援多種語言的驅動,在此我們只介紹C#的驅動。僅C#驅動都有很多種,每種驅動的形式大致相同,但是細節各有千秋,因此代碼不能通用。比較常用的是官方
Time of Update: 2017-01-18
一、前言 最近開始學習非關係型資料庫MongoDB,卻在部落格園上找不到比較系統的教程,很多資料都要去查閱英文網站,效率比較低下。本人不才,藉著自學的機會把心得體會都記錄下來,方便感興趣的童鞋分享討論。部分資源出自其他部落格,旨將零散知識點集中到一起,如果有侵犯您的權利,請聯絡li-pan2@163.com。大部分內容均系原創,歡迎大家轉載分享,但轉載的同時別忘了註明作者和原文連結哦。二、MongoDB簡介 MongoDB是一個高效能,開源,無模式的文檔型資料庫,是當前NoSql資料庫中比較
Time of Update: 2017-01-18
一、索引基礎: MongoDB的索引幾乎與傳統的關係型資料庫一模一樣,這其中也包括一些基本的最佳化技巧。下面是建立索引的命令: 複製代碼 代碼如下: > db.test.ensureIndex({"username":1}) 可以通過下面的名稱查看索引是否已經成功建立: 複製代碼 代碼如下: >
Time of Update: 2017-01-18
Mongo DB ,是目前在IT行業非常流行的一種非關係型資料庫(NoSql),其靈活的資料存放區方式,備受當前IT從業人員的青睞。Mongo DB很好的實現了物件導向的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。Mongo DB最大的優勢在於所有的資料持久操作都無需開發人員手動編寫SQL語句,直接調用方法就可以輕鬆的實現CRUD操作。一、下載mongodb
Time of Update: 2017-01-18
下面我們在CentOS 6.5 x64系統上安裝最新的MongoDB 2.6.0版。MongoDB v2.4.x版的軟體倉庫有兩個包:1)mongo-10gen-server此包裡面有最新版的mongod和mongos精靈以及相關的配置和初始化指令碼。2)mongo-10gen此包裡面有最新版的所有MongoDB工具。這些工具方便你管理MongoDB系統。但在MongoDB v2.6.0版的軟體倉庫一共有五個包:1)mongodb-org此包是中繼資料套件,它可以實現自動安裝下面的4個組件包。2
Time of Update: 2017-01-18
版本一: Field Example Value Explanation Host te.rzw.com:27018 運行執行個體所監聽的與連接埠 version 1.8.3 當前執行個體所使用的版本 Process mongod 當前執行個體是mongod,還是mongos Uptime
Time of Update: 2017-01-18
在mongodb裡面存在另一種叢集,就是分區技術,跟sql server的表分區類似,我們知道當資料量達到T層級的時候,我們的磁碟,記憶體就吃不消了,針對這樣的情境我們該如何應對。 一:分區
Time of Update: 2017-01-18
前面說了到資料庫連接操作,請參考:mongodb 添加使用者及使用權限設定詳解對資料庫的操作:請參考:mongodb 資料庫操作詳解--建立,切換,刪除下面說一下,資料庫表的插入操作1,命令列下的insert操作> use test; #切換到test資料庫 switched to db test > document=({"title" : "linux命令", "auther" : "tank" }); #定義了一個變數 { "title" : "linux命令",