如果认为互联网中关系型数据库不再强调“精细化”的操作,就是已经过时了,这是一叶障目不见泰山。再总结一下,在互联网中,对于关系型数据库,我们需要设计分库分表、主从库、读写分离、热点数据缓存等等。在传统应用中,对于关系型数据库,我们需要设计出E-R图,需要设计主键、外键,需要写联表查询的SQL语句等等。
那么回到本文的主题“在互联网中关系型数据库是否不再那么重要”,笔者的观点是,侧重点不同,互联网应用的很大,有的很大很大,有时需要你放弃遵循某些范式,从其他方面去弥补,而从整体上去思考如何进行数据建模,互联网应用更加考验的是“能力”,对数据建模的能力,如何构建更高的可靠性应用。传统应用,更加考验的是一切按照规矩来,“精细化”的操作,对SQL语句的熟悉程度就意味着对数据库的熟悉程度。
强调互联网,这是因为本文所讨论的前提是互联网应用。与“传统”应用不同,互联网中的应用每天面临的是海量的数据、大量的请求以及对系统可靠性和响应速度有着更高的要求。“传统”应用,我姑且浅显地认为是,数据量不大,面对的用户群范围相对较小,自然大量的高并发请求场景几乎不存在。