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