2021-01-05 16:43:39 阅读(159)
如果你关注大数据技术的趋势,你可能听说过一个名词叫NoSQL数据库,这可能会让人感到困惑。事实上,我们正处于一个令人兴奋的技术变革时代。以甲骨文为代表的SQL数据库已经主宰了30年的企业市场,而近年来,NoSQL是一个强大的更新竞争对手。本文通过问答向小白解释NoSQL数据库系统是什么,无论你的技术背景如何。对于数据分析从业者来说,了解数据库的趋势可以增加你的职业生涯;对于工程师来说,了解新的基础系统是必不可少的行业知识。小白问了几个基本问题:数据库是什么,能吃吗?答:...不可能。数据库是存储数据的地方,就像冰箱是存储食物的地方一样。小白问:啊?我的数据存储在我自己电脑的excel表中。为什么要数据库?答:自己的数据确实很方便,但对企业来说就不一样了。一家公司可能有成千上万的Excel表格,仍然在不同的计算机上,他们的员工和客户需要实时看到企业提供的所有数据,文件管理方法非常麻烦,总是不能每分钟向所有客户发送一个新的巨大的Excel文件!此外,数据库更有用的是查询。企业将为内部或客户开发不同的应用程序,当这些应用程序需要数据时,可以直接实用数据库的查询句快速得到结果。小白问:哦,这意味着所有人都直接在这个系统上查看和更改数据吗?答:是的,如果多个人同时更改数据,数据库也会帮助你处理“并发”。例如,你在支付宝上转账给小灰,而小灰此时正好转账给你。此时,数据库系统应确保您的最终余额是正确的,如果其他人在您交易时同时查询您的余额,他们将得到准确的结果。在一个企业系统中,一秒钟可能会有成千上万的这样的查询和变化。小白问:SQL是什么鬼?A:SQL是一种可以查询关系数据库的语言,也被称为SQL数据库。所谓关系数据库,就是数据以表格的形式存储,就像你电脑上的Excel表一样,数据整齐地躺着。表格之间有这样或那样的关系,可以通过某个信息连接在一起。程序员想要查看这些表格中的任何数据,都可以将他们想要的数据形式转换为SQL语句,然后发送到数据库,以获得数据结果。例如,你可以有一个食品管理数据库,里面有两个表(食品表和主人表),长成以下样子:食品名称数量爱1猕猴桃4532菠菜1023巧克力991001主人名称主人性别1小白女人2小黑男人3小灰男人我们可以写一个简单的SQL句子直接转移所有男主人的食物和数量。SELECT主人姓名、食品名称、FROM数量食品表、WHERE食品表、主人号=主人表、主人号AND主人性别=‘男’=>小黑菠菜10小灰猕猴桃4 深入谈谈小白问:哦,NoSQL到底有什么特别之处?答:由于近年来企业要处理的数据越来越多,越来越复杂,之前关系数据库无法解决的问题有两个:数据规模的快速增长和数据模型的日益复杂。第一个问题是数据越来越多。公司以前购买的安装关系数据库的计算机无法放下。此时,有两种选择:一种是直接购买空间更大的计算机,以取代现有机器。这种方法是有限的,因为这种机器的价格一般都很贵,而且这个空间总是有上限的。另一种选择是购买另一台机器,然后将新数据放入新机器的另一个SQL数据库中。这个过程也被称为“分片”(sharding)。此时,程序员将开始加班。因为这个转换过程很容易出现问题,会给使用数据库的应用增加很多复杂性。例如,在我们之前的例子中,当我们查询食物和数量的陈述时,我们应该同时向两个服务器发送相同的陈述,然后将最终结果结合起来,这给应用程序的开发增加了很多不必要的负担。分片还有很多其他缺点,我就不一一赘述了。NoSQL数据库服务器本身支持多台机器存储数据进行分布式查询,因此当空间不足时,可以直接携带新机器连接到现有的计算机集群,程序员可以回家睡个好觉。小白问:明白了,另一个关系数据库没有解决的问题呢?答:另一个问题是在将数据放入SQL数据之前进行数据建模,即考虑每个表中的每一列代表什么,以及如何将不同的表格相互关联。这对许多公司来说是一件非常耗时和精力的事情,因为他们有太多的数据源。此外,数据进入数据库后,系统很难在表中添加新列(例如,如果您想在第一个表中添加食物类型)或改变某一列的特性,因为表中的数据已经存储在一行中。NoSQL数据库减轻了数据建模的负担。例如,上表中的一行可以变成下面的JSON文档:{食物名称:猕猴桃,数量:4,爱:5。主人:{名字:小灰色,性别:男性}}可以很容易地修改数据模型,从源数据可以放入数据库,无需更改。目前,有一个行业叫做ETL,专门从事数据形状转换:他们将不同的源数据抛光到所需的表格模型中,然后将其放入关系数据库中。这个行业价值几十亿美元,疯狂吗?使用NoSQL,公司可以节省大量的时间和人民币。小白:也就是说NoSQL用文档,SQL用表格吗?A:NoSQL实际上有很多不同的类型,适用于不同的情况和不同的存储方法。JSON是文档NoSQL的典型格式,我们通常使用的word和pdf文件可以很容易地放入文档数据库进行查询。其他类型的NoSQL也可以用图形或哈希表模型存储数据。如果你的数据存储在一个社交网络类型的应用程序中,那么使用基于图片的数据库可能更合适,因为你所关心的社交网络场景中的问题可以得到更快的答案。小白问:既然叫NoSQL,那和SQL肯定是水火不容的吗?A:Nosql实际上是NotonlySQL,不仅是SQL,还有一些Nosql数据库支持直接使用SQL进行查询。两者的区别主要是我上面提到的两点:1。数据建模的不同要求:NoSQL的建模程序相对简单灵活;2。不同的数据增加处理方法:NoSQL可以直接分布式处理。当数据规模增长需要增加新机器时,程序员不需要更改使用数据库的应用程序代码,而是直接在数据库集群中添加一个新的计算机。
以上就是关于NoSQL数据库是什么?的相关介绍,更多NoSQL数据库是什么?相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对NoSQL数据库是什么?有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一