mongo較mysql的好處

2021-06-26 16:39:28 字數 844 閱讀 4018

假象我們在製作乙個電子商務**,如果我們使用關係型資料庫,比如說mysql,那麼乙個product我們將會分別在幾個表中儲存,如果我們想要獲得乙個產品的全部資訊,就不得不做很多的join,所以在設計資料庫時候我們就需要考慮資料最好以什麼樣的結構來儲存。

但是如果我們使用非關係型資料庫,比如說mongo,我們完全可以將乙個produce的資料儲存在乙個document中,一樣也可以進行查詢,而且mongo使用bson結構來儲存,對於很多物件導向的語言來說,可以按照資料本身的結構進行儲存,而不必分別儲存在多個表當中。

mongo是面向文件的,它不必像關係型資料庫那樣的組織關係,而且型別也是不固定的,這樣的沒有schema的設計有時會帶來好處,但是也會帶來一些壞處。

mongo關鍵的特性:

1、ad hoc queries

2、indexes

3、replication

4、speed and durability

一些資料庫為了達到很快的速度,選擇在ram上進行操作,但是一旦服務停掉再恢復的話,這些資料就不一定在了,比如說memcache,所以資料庫必須在速度和穩定性上做平衡。對於mongo,預設的是fire-and-forget,也就是說操作無需得到資料庫服務的響應,如果想改變,需要配置。那麼對於大量的並且無價值的資料,這樣的方式是很划算的,反之,應該採取安全模式。

在mongo2.0中,日誌記錄是預設開啟的,可以保證在伺服器重啟後,資料時一致的。

5、scaling

擴充套件單節點的技術被稱作縱向擴充套件,即對單節點增強硬體設施,但是這樣無疑是需要開銷的,而且擴充套件往往是有限的。mongo可以水平擴充套件,即提供replication+shard的模式,每個shard都是乙個replication set

mongo與mysql的語法區分

mongo與mysql的語法區分。最近剛剛學習完mysql,現在又在學習mongodb,都說語言是想通的,其實資料庫也是大同小異。在此做乙個對比,方便小白使用者學習。參考mongo的api 1.名稱的區分 mysqlmongodb database 資料庫 database 資料庫 table co...

學到的較複雜的 mysql 語名

需求是這樣的 需要找出沒有發任務的店鋪是哪些。好讓客服去聯絡他們,詢問情況。每個商家可以有n個店鋪,每個店鋪可以放n個任務,乙個任務會生成n個任務訂單,會員接到任務去完成 select from keke w mall shop where shopid not in select shopid f...

mysql使用聯結的好處 Mysql 聯結

聯結 簡介聯結是一種機制,用來在一條select語句中關聯表,聯結是由mysql根據需要而建立的,它存在於select語句的執行當中。在執行資料檢索查詢中使用聯結是sql強大的功能之一,聯結是利用sql的select能執行的最重要的操作,在使用聯結之前,我們必須要了解下關係表。關係表來個栗子說明下 ...