在设计系统时,很难在关系(RDBS)和非关系数据库(NoSQL)之间进行选择。 正确理解这两个局限性将使决策变得更加容易。
在深入研究NoSQL数据库之前,了解关系数据库的局限性很重要。 关系数据库已经存在了近40年,并且运行良好。 数据结构合理,记录保存在表中。 表由行,主键,唯一键组成,并且表可以相互连接。 它支持的另一个重要功能是事务,它的属性称为ACID。 ACID属性包含4个不同的属性,如下所述:
但是,随着大数据技术的发展,传统的基于SQL的数据库已不足以管理快速增长的数据量以及日益复杂的数据结构。 关系数据库的一些缺点如下:
我们对此有任何解决方法吗?
幸运的是! 我们有。
非规范化就是其中之一。 展开单个表并向其中添加更多列,以便在获取结果时避免连接。 这样可以提高读取性能,但会导致数据异常。
另一种技术是分片。 在这种技术中,可以对数据库进行分割,并将其存储在不同的服务器中。 这样可以提高读写性能,但是很难管理。
因此,总结一下。 关系数据库具有很多优点和缺点,我们可以解决它们,但是也带来了其他挑战。
NoSQL数据库自然允许对数据进行非规范化,可伸缩性和灵活的架构。 这些东西是免费提供的吗? 没有! 在这个世界上,没有什么是免费的。 放宽ACID限制。 尽管ACID对于某些应用程序是一个重要的约束,但对于所有应用程序却不是。 最后但并非最不重要的一点是,NoSQL数据库提供了一种查询大型和更复杂的数据结构的新方法,这在关系数据库中是不可能的。 这是使用NoSQL进行数据科学的关键因素之一。
NoSQL数据库的优点:
NoSQL数据库的一些示例是Redis,Dynamo,CouchDB,MongoDB,Cassandra,HBase和Neo4J。 很多人在关系数据库中遇到许多不同的问题,这最终不足为奇,他们最终设计了不同类型的NoSQL数据库。
关系数据库和NoSQL这两个数据库在数据管理方面都很棒。 没有简单的答案哪个更好。 这完全取决于帮助人们根据上述参数及其权衡选择的要求。
我们知道,Win10 在推出之时,推出过为期一年的免费升级活动。只要你使用的是 Wi...
一、理解web标准含义--为什么采用web标准 *****将内容与样式分离 1、web标准是一...
现在,人们喜欢在浏览网页时做一些其他事情而不离开该网页,这通常是通过ajax来实...
一,未使用 git add 缓存代码时。 可以使用 git checkout -- filepathname (比如...
在 Windows 或者 macOS 端 Chrome 浏览器中,无论你当前使用的是浅色还是深色主...
参数HDR的值: HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,...
公司的业务的场景需要用到微信分账的功能、对着官网文档调试了一下午才调通、记...
1.不解释的,才叫从容,不执着的,才叫看破,不完美的,才叫人生。 2.我们放下...
每一个公司要想用户增长,都要收集和分析用户操作数据,因此埋点是必不可少的事...
一、Nacos 简介 Nacos(Naming and Configuration Service)致力于帮助您发现、配...