一、讀寫分離為什么能夠提升性能
讀寫分離架構適用的應用:讀操作不要求數據強一致,一般對時延的容忍在秒級以上,如電商應用。
數據同步對讀寫庫的性能影響:可以將寫庫的日志異步apply到讀庫中,不會對寫庫中的更新操作帶來額外鎖沖突,無非損失點網絡帶寬。對讀庫來說,就是不斷做批量的更新操作唄,由于讀庫操作簡單,可以采用nosql數據庫。
讀寫分離主要目的是提高系統吞吐量。某些網站同一時間有大量的讀操作和較少的寫操作。同時,讀操作對數據的實時性要求并沒有那么高。在此前提下,可以這么設計解決方案。
所以你問題里“數據仍然需要同步”這個理解是不對的。事實上,正是由于允許用戶讀到幾秒鐘甚至幾分鐘前的數據,才可以使用讀寫分離的。
延伸閱讀:
二、NoSQL數據庫在大數據時代的優勢
NoSQL數據庫在大數據時代有著巨大的優勢。NoSQL數據庫一直以性能、可擴展性、靈活的模式和分析能力聚焦著人們的注意力。盡管關系型數據庫對于某些用例來說仍是一個不錯的選擇,就像結構數據和要求ACID事務的應用。
1、存儲的數據實質上是半結構化或者松散的;
2、要求一定的等級的性能和擴展性;
3、存取該數據的應用與最終的一致性相吻合;
4、靈活的模式;
5、無共享架構;
6、分片作為數據存儲模型的一部分;
7、異步復制;
8、使用BASE替代ACID事務。