温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

NoSQL的必须知道的东西有哪些

发布时间:2021-10-09 17:57:12 来源:亿速云 阅读:128 作者:iii 栏目:数据库

这篇文章主要讲解了“NoSQL的必须知道的东西有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“NoSQL的必须知道的东西有哪些”吧!

NoSQL的必须知道的东西有哪些

了解为什么NoSQL出生

1. 从持久数据存储到支持现代应用程序

为了了解为什么NoSQL出生,我认为退后并快速查看数据存储解决方案的演变是有用的。

在20世纪50年代至20世纪70年代之间,创建了早期数据管理系统,如平面文件,分层数据库和网络数据库。它是世界持久数据存储避免丢失数据时才足够好。

在20世纪70年代,关系数据库即将解决数据不一致的问题。而且如此强大,他们成为行业标准,使单独的团队和多个应用程序能够在单个逻辑上相干的数据上搜索,查询和操作,从而产生巨大的生产力效益。

但2000年代的Web应用程序,电子商务和社交媒体的指数增长产生了新的挑战。谷歌和亚马逊等技术巨头发现,需要在网络上支持大量的用户,从单一数据库应用程序上支持数千名业务用户。

具体来说,我们现在有一个新的问题:如何一致地存储大型数据集并支持现代应用程序,该应用程序在不连续的情况下连续处理大量用户请求的用户请求?在适当的技术条款,这是以下问题:

  • 支持大量读取和写入

  • 确保低延迟响应时间

  • 保持高可用性。

虽然在某种程度上可以解决与关系数据库的这个问题,但它通常具有增加的复杂性和潜在的高成本。因此,出生的两个高度有影响力的NoSQL数据库示例:来自亚马逊的DynamoDB和谷歌的Bigtable。这标志着NoSQL数据库的爆炸性,从那时起,人们从未回头过。

定义NoSQL特性

NoSQL的必须知道的东西有哪些

> Image by Author

2. 是架构无神论

架构无神论,NoSQL数据库不需要上模式设计。这意味着2对关系数据库的益处。

  • 首先,避免在前面的架构设计工作中花费几个月意味着缩短开发时间,最终转化为更快的网络和移动应用程序的时间。

  • 其次,架构无神论使您可以灵活地通过应用程序开发中途改变数据结构(而不是通过可怕的架构重新设计过程)。

如果您正在处理不同的数据结构,这很重要。例如,电子商务应用程序需要使用不同的产品规格存储不同的项目。时尚产品的规模,颜色,形状和品牌属性,而微波炉可能包括尺寸,容量,瓦数和制造商的保修细节。

3. 非关系

使用NoSQL数据库,没有强制非关系数据到行和列中。由于开发人员可以保持存储的数据结构更接近其原始形式,它们可以最大限度地减少代码的金额和复杂性以存储,管理和搜索信息。这反过来是测试,故障排除和错误修复更可管理。

此外,随着数据以非正式格式存储,NoSQL数据库中的销售订单将与所有相关产品和递送地址一起保存。这转化为简单的数据存储和检索以及更快的查询。

如果您认为Denormalising数据也有其缺点,如冗余和更高的数据存储成本。你是绝对正确的!在一天结束时,这是一个判断你愿意支付更快的应用程序开发和数据查询的问题。

4. 固有地在商业硬件上发布

鉴于任何现代应用程序都必须跨多种商品服务器分发。这不仅要满足大量数据,还要迎合了无缝总是在网站和应用程序的消费者期望。他们必须以毫秒为单位响应,并且每当需要时始终可用于许多并发用户。

Oracle RAC或SQL Server  Alwayson是分布式关系数据库的示例。不幸的是,关系数据库必须依靠手动分片,这通常会导致更大的复杂性和运营成本。

相反,许多NoSQL数据库,如HBase,Riak和Cassandra是固有的分布式,内置选项可以控制如何在廉价商品服务器上复制数据和分发数据。即使其中一个服务器崩溃并刻录,您的数据仍然可以访问您的应用程序继续运行和服务用户需求。这使得NoSQL数据库更适合大规模数据存储,以支持网站和面向客户的应用程序。

注意:并非所有NoSQL数据库都设计为分布或必须分发。但是,当可用性和可扩展性是最重要的问题时,选择分布式产品有意义。

选择NoSQL数据库

5. 存在多种类型的NoSQL数据库

NoSQL数据库中使用的四种最广泛类型:键值,文档,列族和图形数据库。每个目的都是非常不同的。

  • 键值数据库将数据保存为一组键值对。关键作为概述关联值的唯一标识符。一些例子包括Memcached,Voldemort,Redis和Riak。

  • 文档数据库存储和查询数据与嵌套结构的类似JSON的文档。两个主要的开源选项是MongoDB和CouchDB。

  • 面向列的数据库是以给定列的数据存储在一起的方式设计的。一些更流行的产品是HBase,Cassandra,Hypertable。

  • 图数据库的实力在于它们的模型网络(即与其他东西连接的东西)。通常在社交网络应用中发现,图形数据库可以快速横向节点和关系来提取相关数据。您可能已经听说过其最着名的示例:Neo4j。

NoSQL数据库具有丰富的选择,但所有选择都没有同等地创建。广泛的NoSQL产品说明一个人可以在管理文档中Excel  Excel,而另一个可以提供无与伦比的优势来管理社交网络。以下是每个NoSQL数据库类型的一些现实生活用例。

NoSQL的必须知道的东西有哪些

> Image by Author

6. 最适合您的业务问题

选择哪些NoSQL数据库采用时,您必须要求自己的问题不是“此数据库可以存储我的数据吗?”而是,“它是最适合我的业务问题和应用要求吗?”

但对我来说很清楚,许多其他决定“最适合”可能是艰难的,因为有这么多考虑因素。每次考虑都对不同用例的最终决策进行了不同的重量。

要为您提供一个起点,以下是在决定数据存储解决方案的最佳拟合时必须考虑的6个关键因素。

NoSQL的必须知道的东西有哪些

> Image by Author

7.各种选择都有一定的权衡

随着数据库景观更快地改变我们敢于预测,选择最佳选择是非常复杂的。

例如,虽然图形数据库如Neo4j将适合Facebook这样的社交媒体,但存储的纯粹量存储器将很容易地压倒任何现有的图形数据库。因此,倾向于更大的大规模选项(如HBase或RIAK)是有意义的,这最初与社交网络无关。

这里的那一点是,每个NoSQL数据库应该被评估为单独的技术,而不是基于其分类来刻板透明。潜在的权衡必须仔细考虑,因为它们可能是交易破坏者。

为了说明这一点,以下是七周内从书中所选数据库之间的简化比较。

注意:在表中,我还包括关系PostgreSQL以突出显示用于在其他非关系对等体上选择关系数据库的权衡。此外,可以发布新功能以解决我们的说法,以解决一些潜在的权衡,因此最好检查最新的更新。

NoSQL的必须知道的东西有哪些

感谢各位的阅读,以上就是“NoSQL的必须知道的东西有哪些”的内容了,经过本文的学习后,相信大家对NoSQL的必须知道的东西有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI