mysql選擇產品和功能 如何選擇合適的資料庫產品

2021-10-20 23:34:33 字數 1264 閱讀 5509

當今市面上的資料庫產品眾多,如何選擇mysql,redis,或者是mongodb

以下從資料庫的讀寫資料和查詢資料,以及使用場景上,分別對這幾種資料庫進行比較

1、redis,mongodb,mysql 在讀寫資料的區別

資料主要涉及讀和寫的兩個問題,出於效能的考慮,當然希望讀和寫的速度越快越好

計算中常見的儲存裝置主要是記憶體和硬碟

①記憶體的讀取速度  大概是   硬碟的多倍。因此為了獲得更快的讀寫速度,資料盡可能放在記憶體。

②記憶體的容量有限。且**相對於硬碟高出多倍

redis的資料是存放在伺服器的記憶體中,當記憶體滿了 ,就只能使用redis的分布式方案。

為了防止斷點或redis程式重啟造成內容資料的丟書,可調整redis配置檔案,按照一定的策略把資料持久化,傳到硬碟

mongodb同時使用了硬碟和記憶體,其使用了作業系統提供的mmap(記憶體檔案對映)機制,進行資料檔案的讀寫,mmap可以把檔案直接對映到程序的記憶體空間中。這樣檔案就會在記憶體中有對應的位址,這時對檔案的讀寫是通過操作記憶體進行的。而不需要,fread,發write的檔案操作方式

mysql的資料是放在硬碟中,雖然mysql有快取,但是mysql快取的是查詢的結果,而不是快取資料

2、redis,mongodb,mysql在查詢資料上的區別

redis的資料是基於「鍵值對儲存」,可以提前對鍵進行操作 。所有的資料都是一對一的方式儲存。

mongodb和mysql的每組資料中都有乙個id(或者可以為每組資料建立索引),所有的資料是一對多,需要由索引或者是id 確定,找到目標。

3、redis,mongodb,mysql適用場景

①redis適用場景

redis存放的資料必須是鍵值對的形式,在讀寫的時候必須知道所讀寫資料的鍵。讀寫頻率高的資料一般會放在redis中。例如api中附帶了使用者的身份資訊,每次api操作都需要驗證使用者的身份資訊,這些資訊存放在redis中就非常適合。

②mongodb使用場景

高伸縮性的場景:mongodb非常適合由數十或者數百台伺服器組成的資料庫

儲存地理座標的資料:mongodb的地理座標查詢功能非常強大。例如,mongodb可以查詢在某個矩形範圍內的所有座標,因此mongodb非常適合於lbs應用

但mongodb不適用於下面的場景

高度事務性的系統:必須保證兩步操作都完成

需要sql的問題:雖然mongodb支援類似於sql的查詢方式,但它的查詢比起mysql還是有一定的差距

③mysql適用場景

事務性的系統

需要複雜sql解決的問題

mysql如何選擇隨機行 使用MySQL選擇隨機行

偶然的你 order by rand 如您所知,大多數人推薦的解決方案無法擴充套件到大型表。set r select floor rand select count from mytable set sql concat select from mytable limit 1 offset r pr...

如何選擇LoRa產品

lora以其 長距離,低功耗 的優勢,成為物聯網通訊技術的後起之秀。lorawan以其明顯的優勢 大容量 全球統一的標準 免費頻段 低成本與靈活性,和wifi一樣,成為 私有物聯網 的首要選擇 nb iot,和gprs一樣,是 公有物聯網 的方案 現在,國內很多企業和高校,掀起建設lora物聯網的高...

jQuery實現全選 反選和不選功能

直接複製儲存用瀏覽器開啟可以看效果,功能實現挺好的。1doctype html 2 html lang zh cn 34 head 5 meta charset utf 8 6 title jquery實現全選 反選和不選功能 title 78 link href rel stylesheet 9 ...