自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MongoDB從入門到實(shí)戰(zhàn)之MongoDB簡介

數(shù)據(jù)庫 MariaDB
MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似Json的Bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。

MongoDB是什么?

  • MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。
  • MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似Json的Bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。
  • MongoDB 最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。并且MongoDB-4.2版本開始已經(jīng)支持分布式事務(wù)功能。


簡而言之的話就是:MongoDB是一個文檔型的NoSQL數(shù)據(jù)庫,用于構(gòu)建高并發(fā)、高可用和高擴(kuò)展的互聯(lián)網(wǎng)應(yīng)用程序。

BSON是什么?

BSON 是 Binary JSON 的縮寫,是一種二進(jìn)制序列化格式,用于在 MongoDB 中存儲文檔和進(jìn)行遠(yuǎn)程過程調(diào)用。它和Json一樣,支持內(nèi)嵌的文檔對象和數(shù)組對象,但是 Bson 有 Json 沒有的一些數(shù)據(jù)類型,如 Date 和 BinData 類型。

MongoDB的優(yōu)勢

高性能

MongoDB提供高性能的數(shù)據(jù)持久性。對嵌入式數(shù)據(jù)模型的支持減少了數(shù)據(jù)庫系統(tǒng)上的IO活動。索引支持更快的查詢,并且包含嵌入式文檔和數(shù)組的鍵。

  • 文本索引解決搜索的需求;
  • TTL索引解決歷史數(shù)據(jù)自動過期的需求;
  • 地理位置索引可用于構(gòu)建各種 O2O 應(yīng)用;

高可用

MongoDB的高可用性通過副本集(Replica Set)實(shí)現(xiàn),提供自動故障轉(zhuǎn)移(秒級切換主節(jié)點(diǎn))和多節(jié)點(diǎn)數(shù)據(jù)冗余,確保服務(wù)持續(xù)可用并最大程度減少數(shù)據(jù)丟失的風(fēng)險。

海量數(shù)據(jù)存儲

MongoDB內(nèi)置GridFS,支持海量存儲。

豐富的查詢支持

MongoDB支持豐富的查詢語言,支持讀寫(CRUD)操作、比如數(shù)據(jù)聚合、文本搜索、地理空間查詢等。

支持多種編程語言

MongoDB支持多種流行編程語言如C,C++,C# / .NET,Erlang,Haskell,Java,PHP,Python,Go等多種語言。

其他特點(diǎn)

如可拓展性強(qiáng)模式自由、動態(tài)模式、靈活的文檔模型等。

MongoDB的劣勢

  • 單機(jī)可靠性比較差。
  • 磁盤空間占用比較大。
  • 在集群分片中的數(shù)據(jù)分布不均勻。
  • 大數(shù)據(jù)量持續(xù)插入,寫入性能有較大波動。

MongoDB業(yè)務(wù)應(yīng)用場景

四高場景應(yīng)對

傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(如MySQL,MS SQL Server),在數(shù)據(jù)操作的四高需求以及應(yīng)對Web2.0的網(wǎng)站需求面前顯得力不從心,而MongoDB可更好的應(yīng)對四高需求:

  • High performance(高性能):對數(shù)據(jù)庫高并發(fā)讀寫的需求。
  • Huge Storage(海量存儲):對海量數(shù)據(jù)的高效率存儲和訪問的需求。
  • High Scalability && High Availability(高可擴(kuò)展性和高可用性):對數(shù)據(jù)庫的高可擴(kuò)展性和高可用性的需求。

具體應(yīng)用場景

  • 游戲應(yīng)用:使用MongoDB作為游戲服務(wù)器的數(shù)據(jù)庫存儲用戶信息。用戶的游戲裝備、積分等直接以內(nèi)嵌文檔的形式存儲,方便進(jìn)行查詢與更新。
  • 物流應(yīng)用:使用MongoDB存儲訂單信息,訂單狀態(tài)在運(yùn)送過程中會不斷更新,以MongoDB內(nèi)嵌數(shù)組的形式來存儲,一次查詢就能將訂單所有的變更讀取出來,方便快捷且一目了然。
  • 社交應(yīng)用:使用MongoDB存儲用戶信息以及用戶發(fā)表的朋友圈信息,通過地理位置索引實(shí)現(xiàn)附近的人、地點(diǎn)等功能。并且MongoDB非常適合用來存儲聊天記錄,因?yàn)樗峁┝朔浅XS富的查詢,并在寫入和讀取方面都相對較快。
  • 視頻直播:使用MongoDB存儲用戶信息、禮物信息等。
  • 大數(shù)據(jù)應(yīng)用:使用MongoDB作為大數(shù)據(jù)的云存儲系統(tǒng),隨時進(jìn)行數(shù)據(jù)提取分析,掌握行業(yè)動態(tài)。
  • 等等等...

這些應(yīng)用場景中,數(shù)據(jù)操作方面的共同特點(diǎn)是:

對于下面的這些數(shù)據(jù),我們更適合使用 MongoDB來實(shí)現(xiàn)數(shù)據(jù)的存儲:

  • 數(shù)據(jù)量大。
  • 讀寫操作頻繁。
  • 價值較低的數(shù)據(jù),對事務(wù)性要求不高。

MongoDB語言支持

MongoDB官方支持的語言驅(qū)動:

  • 開始使用 MongoDB 進(jìn)行開發(fā):https://www.mongodb.com/zh-cn/docs/drivers

圖片圖片

責(zé)任編輯:武曉燕 來源: 追逐時光者
相關(guān)推薦

2025-04-27 01:33:23

MongoDBDocker容器

2023-10-13 08:23:05

2023-01-04 07:44:09

2020-06-18 14:39:42

MongoDB數(shù)據(jù)數(shù)據(jù)庫

2022-11-16 08:00:37

MongoDB阿里云的登錄

2021-11-29 14:18:05

Nuxt3靜態(tài)Nuxt2

2011-09-05 09:28:58

MySQLMongoDB

2012-02-29 00:49:06

Linux學(xué)習(xí)

2011-09-14 15:30:00

MongoDB

2011-04-01 09:29:52

MySQLMongoDB

2024-07-30 08:19:14

2020-03-09 17:28:51

NoSQLMongoDB數(shù)據(jù)庫

2018-12-05 16:00:32

MongoDB數(shù)據(jù)庫NoSQL

2013-11-28 09:48:55

MongoDBSharding分片

2013-11-25 10:45:04

MongoDB

2024-08-15 08:00:00

MongoDB數(shù)據(jù)庫NoSQL

2013-12-02 11:00:27

MongoDB

2017-04-26 08:51:36

MongoDB集群實(shí)戰(zhàn)

2012-07-26 08:32:38

MongoDB

2022-09-30 15:46:26

Babel編譯器插件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號