读写分离架构适用的应用:读操作不要求数据强一致,一般对时延的容忍在秒级以上,如电商应用。数据同步对读写库的性能影响:可以将写库的日志异步apply到读库中,不会对写库中的更新操作带来额外锁冲突。
一、读写分离为什么能够提升性能
读写分离架构适用的应用:读操作不要求数据强一致,一般对时延的容忍在秒级以上,如电商应用。
数据同步对读写库的性能影响:可以将写库的日志异步apply到读库中,不会对写库中的更新操作带来额外锁冲突,无非损失点网络带宽。对读库来说,就是不断做批量的更新操作呗,由于读库操作简单,可以采用nosql数据库。
读写分离主要目的是提高系统吞吐量。某些网站同一时间有大量的读操作和较少的写操作。同时,读操作对数据的实时性要求并没有那么高。在此前提下,可以这么设计解决方案。
所以你问题里“数据仍然需要同步”这个理解是不对的。事实上,正是由于允许用户读到几秒钟甚至几分钟前的数据,才可以使用读写分离的。
延伸阅读:
二、NoSQL数据库在大数据时代的优势
NoSQL数据库在大数据时代有着巨大的优势。NoSQL数据库一直以性能、可扩展性、灵活的模式和分析能力聚焦着人们的注意力。尽管关系型数据库对于某些用例来说仍是一个不错的选择,就像结构数据和要求ACID事务的应用。
1、存储的数据实质上是半结构化或者松散的;
2、要求一定的等级的性能和扩展性;
3、存取该数据的应用与最终的一致性相吻合;
4、灵活的模式;
5、无共享架构;
6、分片作为数据存储模型的一部分;
7、异步复制;
8、使用BASE替代ACID事务。