您好,登錄后才能下訂單哦!
本篇內容主要講解“數據庫該怎么選擇”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“數據庫該怎么選擇”吧!
這存儲數據方式往往決定讀寫的速度。
Mysql 無論數據還是索引都存放在硬盤中。到要使用的時候才交換到內存中。能夠處理遠超過內存總量的數據。
MongoDB 的所有數據實際上是存放在硬盤的,所有要操作的數據通過 mmap 的方式映射到內存某個區域內。然后,MongoDB 就在這塊區域里面進行數據修改,避免了零碎的硬盤操作。
Redis 所有數據都是放在內存中的。但是它也支持數據持久化到硬盤中。
我們都知道磁盤讀取數據的效率遠遠低于內存。所以在一般情況下,這三者的讀寫數據的速度排序是:Redis > MongoDB > Mysql
MySql 是關系型數據庫,支持事務操作以及 join 方式的復結構化查詢。而 MongoDB 是非關系型數據庫, 既不支持事務操作,也不支持 join 操作。Redis 同樣不支持。
因此,針對以下場景應考慮使用 MySql:
1)業務數據中有大量結構化數據,如用戶賬號、地址等。因為這些數據通常需要做結構化查詢。
2)業務存在許多事務性操作,需要保證事務的強一致性。
在一到兩年內,業務數據的增長量不在預測范圍內,優先考慮使用 MongoDB。
因為 MongoDB 內建了sharding、很多數據分片的特性,容易水平擴展,比較好的適應大數據量增長的需求。而 MySql 在這方面表現要遜色些,MySql 單表數據量達到 5-10 G 時會出現明細的性能降級,需要做數據的水平和垂直拆分、庫的拆分完成擴展。
Redis 由于內存容量限制,不會用來存儲大量數據。一般拿它做緩存。
如果在業務場景中,數據庫表接口不明確,數據還在不斷增加。例如以下場景,內容管理平臺(如 BBS 論壇中帖子場景),用戶社交平臺(如貼吧中的帖子以及用戶評論),優先考慮使用 MangDB 。
因為 MongoDB 是非結構化文檔數據庫,擴展字段很容易且不會影響原有數據。
到此,相信大家對“數據庫該怎么選擇”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。