導航:首頁 > 數據處理 > mongodb資料庫如何維護

mongodb資料庫如何維護

發布時間:2022-07-08 07:01:17

『壹』 如何有效地進行 MongoDB 的數據容量規劃

創建Mongodb資料庫由於Mongodb不是關系型資料庫文件,實際上,它並不存在傳統關系型資料庫中的所謂「資料庫」的概念,但不用擔心,當你第一次新增數據時,mongodb就會以collection集合的形式進行保存和新建,而不需要你手工去新建立。下面是例子:1)列出當前的資料庫MongoDBshellversion:1.8.1connectingto:test>showdbs--admin0.03125GBlocal(empty)可以使用showdbs來列出當前有多少個資料庫,上面看到的是有兩個,分別是admin和local。2)定義新的資料庫名我們通過使用「usenew-databasename」的語法去使用一個新的資料庫,注意,即使你的資料庫還沒建立起來,依然可以這樣使用,因為mongodb會在真正插入了數據後,才會真正建立起來。>>showdbsadmin0.03125GBlocal(empty)注意,在usemkyongdb後,mkyongdb實際上還沒真正建立起來,只是表明目前是在使用mkyongdb了。3)保存數據定義一個collection,名為「users」,然後插入數據,如下:>db.users.save({username:"mkyong"})>db.users.find(){"_id":ObjectId("4dbac7bfea37068bd0987573"),"username":"mkyong"}>>showdbs--admin0.03125GBlocal(empty)mkyongdb0.03125GB可以看到,用db.users.find()可以找出已插入的數據。這個時候,名為「users」的collection已經建立起來了,同時,資料庫mkyongdb也建立起來了。

『貳』 mongodb資料庫適合做什麼

mongodb眾所周知不支持事務,所以需要強事務的業務根本不能考慮mongodb。
mongodb的優勢就是文檔存儲:
1. 業務經常變動,需要不時的添加欄位,那麼mongodb比較適合,關系型資料庫添加欄位的復雜度也還好
2. 嵌套文檔,業務數據比較復雜,適合嵌套文檔式存儲,那麼mongodb非常合適,這個關系型資料庫比較難搞,雖然MySQL和pg也有文檔存儲,但MySQL的不成熟,pg畢竟現在生產中使用還是偏少,個人也不了解,這里不談。但這不僅僅這一點優勢,具體下面會細說。
3. upsert支持,查詢速度也不慢
4. 高可用的副本集支持
5. 查詢語法非常豐富,嵌套文檔查詢功能非常強大,不是重度用戶可能不能理解
下面說說一個具體的使用事例:
項目的一條數據在10kb左右,如果使用關系型資料庫那麼需要將這條數據拆分成大概幾百條左右,建造多個表,設計較復雜,這種數據大概在一百萬條左右,想想拆分後在十幾億的數據量就可怕。打平後的數據什麼DB也都可以拿下,只是一百萬變十幾億比較恐怖而已。
如果採用MySQL存儲,每次查詢需要使用外鍵查詢多個表,從這些表中拉取數據,性能肯定要下降很多,比不上只在一個表查詢,而且只拉取少兩個數量級的數據。查詢也還好,業務允許可以對結果做緩存,放到redis里去。
但是重點來了,需求要增量更新部分數據,這時候需要更新多個表,根本沒法做到原子性(注意事務不是原子操作),當然也可以使用cas等技術補償,達到最終一致性。但使用mongodb存儲只需要update一條數據,對相應的嵌套文檔中內容更新,可以做到原子性,是不是很方便?
推薦學習《python教程》
具體說說該項目的難點,查詢無法使用緩存,可能會很吃驚,但是業務決定了確實做不了,而且增量更新的量達到上萬的QPS,如果不能保證原子性想想多麼可怕!
所以mongodb在這里幫了大忙,關系型資料庫解決不了這個難題。
有人可能要問,mongodb沒有事務,上游數據寫入也會有問題,你不可能所有數據都存一個表吧?
當然不是的,我們mongodb里的數據是從MySQL中清洗出來存到mongodb中的,mongodb只做單點的業務需求,綜合的數據還是在MySQL中。
此項目我們用了上百個副本集,保證系統的高可用,這些副本集配置只要一條shell就搞定,如果用MySQL的主從不知道怎麼配(我自己不懂),估計DBA得忙死,而該項目完全不需要也沒用到DBA。
說了這么多mongo的優點,也說說他的缺點:
1. 查詢優化器和MySQL沒法比
2. 不支持reload,只能冷重啟,初始化配置的時候比較麻煩
3. 沒有事務,不敢存儲第一手數據,多用來做備份數據的存儲
mongodb可以做很多事情,取決於你腦洞,性能不差,存一些相對不重要的數據,mongodb嵌套文檔功能強大,多看看官方文檔挖掘挖掘有用信息,每次都能發現驚喜。

『叄』 mongodb資料庫怎麼使用

MongoDB是由10gen團隊開發的基於分布式存儲的開源資料庫系統,使用C++編寫。MongoDB作為一個文檔型資料庫,其中數據以鍵值對的方式來存儲。

下面我們來看下MogoDB的基本使用。

1、連接MongoDB資料庫

使用如下命令來連接MongoDB資料庫

mongo

圖5 刪除資料庫

『肆』 如何使用mongodb資料庫工具

1、基於mongo實現遠程連接

[plain] view plain

mongo -u admin -p admin 192.168.0.197:27017/pagedb

通過mongo實現連接,可以非常靈活的選擇參數選項,參看命令幫助,如下所示:

[plain] view plain

mongo --help
MongoDB shell version: 1.8.3
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
foo foo database on local machine
192.169.0.5/foo foo database on 192.168.0.5 machine
192.169.0.5:9999/foo foo database on 192.168.0.5 machine on port 9999
options:
--shell run the shell after executing files
--nodb don't connect to mongod on startup - no 'db address'
arg expected
--quiet be less chatty
--port arg port to connect to
--host arg server to connect to
--eval arg evaluate javascript
-u [ --username ] arg username for authentication
-p [ --password ] arg password for authentication
-h [ --help ] show this usage information
--version show version information
--verbose increase verbosity
--ipv6 enable IPv6 support (disabled by default)

2、基於MongoDB支持的javascript實現遠程連接

當你已經連接到一個遠程的MongoDB資料庫伺服器(例如,通過mongo連接到192.168.0.184),現在想要在這個會話中連接另一個遠程的資料庫伺服器(192.168.0.197),可以執行如下命令:

[plain] view plain

> var x = new Mongo('192.168.0.197:27017')
> var ydb = x.getDB('pagedb');
> use ydb
switched to db ydb
> db
ydb
> ydb.page.findOne()
{
"_id" : ObjectId("4eded6a5bf3bfa0014000003"),
"content" : "巴黎是浪漫的城市,可是...",
"pubdate" : "2006-03-19",
"title" : "巴黎:從布魯塞爾趕到巴黎",
"url" : "http://france.bytravel.cn/Scenery/528/cblsegdbl.html"
}

上述通過MongoDB提供的JavaScript腳本,實現對另一個遠程資料庫伺服器進行連接,操作指定資料庫pagedb的page集合。

如果啟用了安全認證模式,可以在獲取資料庫連接實例時,指定認證賬號,例如:

[plain] view plain

> var x = new Mongo('192.168.0.197:27017')
> var ydb = x.getDB('pagedb', 'shirdrn', '(jkfFS$343$_\=\,.F@3');
> use ydb
switched to db ydb

『伍』 mongodb中關系如何處理要顛覆傳統關系型資料庫的思想嗎

首先要確定,你們為什麼需要將關系型資料庫中的數據導入到NoSql資料庫中?是為了達到什麼樣的需求才這么做的。 我也是做開發的,我推薦以下幾點,不要嘗試將關系型資料庫轉換為非關系型資料庫: 1、節約維護成本; 2、軟硬體成本。

『陸』 如何進行MongoDB資料庫恢復

將/tmp/backup 下面的文件導入資料庫:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注釋】--drop參數,有此參數,則表示,先刪除所有的記錄,然後恢復。如無此參數,則恢復備份時候的數據,備份之後新增加的數據依然存在;/backup/mongodb則是備份文件存放路徑

『柒』 如何加強mongodb資料庫安全

如何加強mongodb資料庫安全
以安全認證模式啟動 復制代碼代碼如下: bin/mongod?–auth?-dbpath /Users/mc2/mongo/db -logpath /Users/mc2/mongo/log.log & 使用–auth選項啟動mongod進程即可啟用認證模式。

閱讀全文

與mongodb資料庫如何維護相關的資料

熱點內容
ipfs交易所推薦碼有哪些 瀏覽:280
極光新聞在哪裡填寫人員信息 瀏覽:227
代理手機卡是什麼意思 瀏覽:159
生日宴程序怎麼安排親戚朋友 瀏覽:31
市場上說的真鑽是什麼鑽 瀏覽:78
plc不亮了如何復製程序 瀏覽:353
德州文玩市場在哪裡 瀏覽:258
什麼數據適合關聯規則分類 瀏覽:224
ems郵寄信息平台保存多久 瀏覽:3
股票市場行情哪個好 瀏覽:395
重慶皇田花卉市場在什麼地方 瀏覽:50
中木集團牆飾怎麼代理武漢 瀏覽:986
電路板的程序是怎麼做的 瀏覽:135
考試信息管理平台id一般是什麼 瀏覽:95
表與表之間的數據如何合計 瀏覽:614
遵義女裝折扣代理哪個好 瀏覽:749
代理返款圖片怎麼做 瀏覽:201
代理國家的公司有哪些 瀏覽:997
有一個攝影技術跟vr掛鉤叫什麼 瀏覽:245
宜春烏龍茶代理需要什麼條件 瀏覽:995