Java數據庫開發


Nosql數據庫使用場景

首先需要確認一個問題,nosql能做什么?在現在的開發領域中nosql可以實現文檔存儲(BSON、JSON)、緩存存儲、圖像緩存(圖像搜索),但是對於nosql的具體應用場景完全要根據你實際的業務來講;

         · 在傳統的開發之中由於經常要使用到多表查詢,性能很差,所以可以將一些經常顯示的數據整理到文檔型的nosql數據庫(MongoDB),但是現在這個文檔型的nosql使用越來越少,可以忽略了;

         ·緩存型:例如在進行分布開發的時候session存儲、做一些臨時的數據,例如:購物車、短信驗證碼等,現在使用最多的緩存數據庫就是Redis(可以保存在磁盤,斷電后數據可以被保存下來);

使用Redis實現消息隊列,可以使用更加高級的RabbitMQ,Kafka實現更方便。

優點:可以實現每秒近乎10W次的讀寫處理。

 

 

數據庫優化有很多層次。

1.  語句上的優化:盡量不要去使用多表查詢,盡量不要頻繁的使用各種神奇的統計查詢、如果需要的時候建議使用子查詢來代替(子查詢只是一種折中方案也不是最好的,只是相對的,當你的數據量暴大的時候,那么你所有認知的規則就全部都將改變)。

2.  數據庫的優化只能夠體現在查詢上,而這個查詢還是在認知范圍內的數據量,例如使用索引,但是一旦使用了索引,就不能夠進行頻繁的修改,例如:在主鍵往往會設置索引,但是從另外一個角度,數據不應該進行物理刪除,而要進行邏輯刪除,只是為了保證索引不被重新創建;

空間換時間、時間換空間:你的數據是否需要進行同步處理操作。

3.  當存在有多個RPC業務端的時候,可以考慮進行垂直拆庫的做法,這個時候只能夠按照功能進行拆分,這個是需要強大的接口技術支持的;

4.  當分庫在無法解決問題的時候就需要考慮數據庫的水平拆分問題(認知范圍內的唯一可以使用的最后方案);

5.  如果需要保證強大的查詢性能,那么就需要再次引入搜索引擎的概念進行分詞處理;

 

更多數據庫精品課程:阿里雲大學——開發者課堂


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM