目標:對于數據存儲使用,大眾人民可以選中免費資源:某度的網盤,對于互聯網的我們主要是考量讀寫性能,我們當然希望數據讀寫越快越好,為了更快的讀寫,我們可以將數據放在內存之中,速度可以達到硬盤的數十倍。當是另一方面,內存的價格比硬盤貴了很多,并且內存具有容量和安全性限制,為了數據持久化,硬盤也是需要的。下面我們來對比當前常見數據庫的特性和優缺點,方便你做選擇:
第一:oracle數據庫:oracle作為一種商業性數據庫,在事務處理方面有自己獨到的優勢,功能比較強大,市場占有率也比較高。oracle數據庫是一種大型的關系型數據庫,在使用上會收費。在部署上,可以根據自己的環境采用單節點或者集群部署。經常會使用于銀行和金融機構,存儲大量數據,可以對海量數據進行分析處理,在安全性上使用訪問控制和多種數據備份機制,可靠性高。
第二:Mysql:作為一種開源的輕量級數據庫,在開源數據庫中比較流行,由于小巧安裝方便快捷,經常會用于互聯網公司,維護也比較方便。因為開源,使用上比較靈活,mysql還有許多第三方的存儲引擎,可以根據自己的需要進行安裝。在功能上mysql可能沒有oracle強大,但是對于資源的占用非常少,數據恢復快。在維護上,追求穩定的性能和易用性。
第三:redis作為一種緩存數據庫,對于數據的讀寫特別快,redis之所以快,是因為它數據放在內存中,但是內存比較貴,另一方面,內存也是有限制的,當內存不夠時,就需要使用redis的分布式方案。redis作為一種非關系型數據庫,可以適用于高并發場景,配合關系型數據庫作為做高速緩存,也可以降低磁盤IO,使用鍵值對存儲,不適用于結構復雜的sql數據
第四:MongoDB:Mongodb同時使用硬盤和內存,使用操作系統的Mmap機制進行數據的讀寫。適用于網站的實時存儲的復制和高度伸縮型,具有很強大的實時存儲,插入和查詢功能。此外,Mongodb非常適用地址坐標的查詢,適用于lbs應用。缺點也很明顯,雖然使用sql查詢的方式,但是和mysql查詢存在差距;在事務處理上,沒有保證當然還有很多數據庫,例如sql server,IBM DB2,都有自己的特性。我們在選擇數據庫時,既要考慮成本,還有考慮維護的穩定和便利性,結合自己的設備規模。最重要的,需要結合我們的業務,如果高安全性,海量數據,可以選擇oracle;網站上的快速查詢,高并發訪問,可以選擇redis