最近我在网上看到一些文章,指出关系数据库存在扩展问题,在大数据方面不太好用。特别是在数据量很大的云计算中。但通过谷歌搜索,我找不到充分的理由来解释为什么它的可扩展性不高。您能解释一下关系数据库在可扩展性方面的局限性吗?
Thanks.
想象一下两种不同的十字路口。
有交通信号灯或警察控制交通,十字路口的行驶速度有限,还有一个看门狗精确记录十字路口上行驶的汽车在什么时间、什么方向行驶。
另一个则没有这些,每个到达十字路口的人,无论他以什么速度行驶,都只是一头扎进去,希望尽快通过。
前者是任何传统的数据库引擎。十字路口是数据本身。汽车是想要访问数据的交易。交通灯或警察就是 DBMS。看门狗保存日志和日记。
后者是 NOACID 类型的发动机。
两者都有一个饱和点,此时到达的汽车被迫开始在入口处排队。两者都有最大吞吐量。对于前一种类型的十字路口,该阈值较低,原因应该是显而易见的。
然而,前一种十字路口的优势也应该是显而易见的。发生事故的机会就更少了。在第二种类型的十字路口,只有当交通密度远低于十字路口的理论最大吞吐量时,才可以预期事故不会发生。在转化为数据管理引擎时,它转化为一致和连贯结果的保证,只有前一种类型的十字路口(经典数据库引擎,无论是关系型、网络型还是分层型)才能提供这种保证。
这个类比还可以进一步延伸。想象一下如果发生事故会发生什么。在第二种类型的十字路口,首要关注的问题可能是尽快清理道路,以便交通能够恢复,当完成后,仍然可以使用哪些信息来调查谁造成了事故以及如何造成事故?什么都没有。这不会被人知道。十字路口是开放的,只是等待下一次事故的发生。在受管制的十字路口,有负责交通的警察看到了发生的事情并可以作证。有日志记录了哪辆车在什么时间、在哪个入口点、以什么速度进入,有大量材料可供检查,以确定事故的根本原因。但当然,这些都不是免费的。
色彩缤纷足以作为解释吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)