SQL-主从数据库
問題一:為什么要使用主庫(OneDataBase)和從庫(TwoDataBase)呢?
主從數據庫其實為了實現數據的讀寫分離。
問題二:那么為什么要讀寫分離呢?讀寫分離有什么好處呢?
第一:一般業務我們需要select,insert,update,delete進行數據操作。如果當我進行查詢select的時候,同時對數據進行了insert,update等【獨占鎖】操作,其實查詢數據需要等待獨占鎖釋放才能查到數據(臟讀除外)。如果我不想等待的話? 可以使用讀寫分離這種。我不管主庫(OneDataBase)進行什么操作,我查詢數據一律使用從庫(TwoDataBase)。
關于鎖可以參考SQL鎖_笨蛋girl的博客-CSDN博客
第二:索引一般我們都使用,但是如果過多的索引會影響到insert,update,delete的速度,因為數據需要從新排列。其實我們添加索引只是想要查詢速度快點。
第三:可以分擔數據庫的壓力,比如我主庫(OneDataBase)和從庫(TwoDataBase)可以分布在兩臺服務器上。
大概總結了以下四點:
1:提高服務器【讀】性能的瓶頸
2:有效的避免了鎖的產生(意向排他鎖與意向共享鎖)
3:能夠合理的使用索引
4:可以數據庫橫向擴展
一般使用主從數據庫的情況,是我業務上大部分查詢不需要及時性,比如允許1分鐘的延誤。如果設計時設計所有數據必須及時顯示,那么主從數據庫顯然就不合適了。
如果我的業務大部分數據是不需要及時性可以查詢從庫(TwoDataBase),那么有些數據我必須需要及時性的數據,如修改密碼,應該怎么做?
?
其實主從數據庫庫是為了主庫能夠快速的存儲數據和從庫能夠快速的查詢數據。
總結
- 上一篇: sklearn聚类方法详解
- 下一篇: 遨博协作机器人ROS开发 - Intel