专业编程培训机构——完成蜕变以后轻松拿高薪
电话+V: 152079-09430 ,欢迎咨询nosql数据库参考资料,[python实用课程],[C++单片机原理],[C#网站搭建],[Nodejs小程序开发],[ios游戏开发],[安卓游戏开发],[教会用大脑用想法赚钱实现阶层跨越]
一、NoSQL数据库:何时使用NoSQL与SQL?
NoSQL数据库因其功能性、易于开发性和可扩展性而广受认可,它们越来越多地用于大数据和实时Web应用程序,在本文中,我们通过示例讨论NoSQL、何时使用NoSQL与SQL及其用例。
NoSQL是一种下一代数据库管理系统(DBMS)。NoSQL数据库具有灵活的模式,可用于构建具有大量数据和高负载的现代应用程序。
“NoSQL”一词最初是由CarloStrozzi在1998年创造的,尽管自1960年代后期以来就已经存在类似的数据库。然而,NoSQL的发展始于2009年初,并且发展迅速。
在处理大量数据时,任何关系数据库管理系统(RDBMS)的响应时间都会变慢。为了解决这个问题,我们可以通过升级现有硬件来“扩大”信息系统,这非常昂贵。但是,NoSQL可以更好地横向扩展并且更具成本效益。
NoSQL对于非结构化或非常大的数据对象(例如聊天日志数据、视频或图像)非常有用,这就是为什么NoSQL在微软、谷歌、亚马逊、Meta(Facebook)等互联网巨头中特别受欢迎的原因。
一些流行的NoSQL数据库包括:
随着企业更快地积累更大的数据集,结构化数据和关系模式并不总是适合。有必要使用非结构化数据和大型对象来更好地捕获这些信息。
传统的RDBMS使用SQL(结构化查询语言)语法来存储和检索结构化数据,相反,NoSQL数据库包含广泛的功能,可以存储和检索结构化、半结构化、非结构化和多态数据。
有时,NoSQL也被称为“不仅仅是SQL”,强调它可能支持类似SQL的语言或与SQL数据库并列。SQL和NoSQLDBMS之间的一个区别是JOIN功能。SQL数据库使用JOIN子句来组合来自两个或多个表的行,因为NoSQL数据库本质上不是表格的,所以这个功能并不总是可行或相关的。
但是,一些NoSQLDBMS可以执行类似于JOIN的操作——就像MongoDB一样。这并不意味着不再需要SQLDBMS,相反,NoSQL和SQL数据库倾向于以不同的方式解决类似的问题。
一般来说,在以下情况下,NoSQL比SQL更可取:
许多行业都在采用NoSQL,取代关系数据库,从而为某些业务应用程序提供更高的灵活性和可扩展性,下面给出了NoSQL数据库的一些企业用例。
内容管理是一组用于收集、管理、传递、检索和发布任何格式的信息的过程,包括文本、图像、音频和视频。NoSQL数据库可以通过其灵活和开放的数据模型为存储多媒体内容提供更好的选择。
例如,福布斯在短短几个月内就构建了一个基于MongoDB的定制内容管理系统,以更低的成本为他们提供了更大的敏捷性。
大数据是指太大而无法通过传统处理系统处理的数据集,实时存储和检索大数据的系统在分析历史数据的同时使用流处理来摄取新数据,这是一系列非常适合NoSQL数据库的功能。
Zoom使用DynamoDB(按需模式)使其数据能够在没有性能问题的情况下进行扩展,即使该服务在COVID-19大流行的早期使用量激增。
物联网设备具有连接到互联网或通信网络的嵌入式软件和传感器,能够在无需人工干预的情况下收集和共享数据。随着数十亿台设备生成数不清的数据,IoTNoSQL数据库为IoT服务提供商提供了可扩展性和更灵活的架构。
Freshub就是这样的一项服务,它从MySQL切换到MongoDB,以更好地处理其大型、动态、非统一的数据集。
拥有数十亿智能手机用户,可扩展性正成为在移动设备上提供服务的企业面临的最大挑战。具有更灵活数据模型的NoSQLDBMS通常是完美的解决方案。
例如,TheWeatherChannel使用MongoDB数据库每分钟处理数百万个请求,同时还处理用户数据并提供天气更新。
二、nosql数据库有哪些
NoSQL(NoSQL=NotOnlySQL),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
随着大数据的不断发展,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。现今的计算机体系结构在数据存储方面要有庞大的水平扩展性,而NoSQL也正是致力于改变这一现状。目前Google的BigTable和Amazon的Dynamo使用的就是NoSQL型数据库,本文介绍了10种出色的NoSQL数据库。
虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的NoSQL工具,可以为大数据建立快速、可扩展的存储库。
给一个地址吧
NoSQL数据库如何选型
作者|ArslanAhmad译者|平川
策划|Tina
什么是NoSQL数据库?
通常,“NoSQL数据库”是指非关系型数据库。不管它是“nonSQL”的缩写,还是“notonlySQL”的缩写,大多数人都同意,NoSQL数据库是以关系表之外的格式存储数据的。
NoSQL数据库之所以如此大受欢迎,是因为它们为用户提供了灵活的数据存储模式。
为什么要使用NoSQL数据库?
NoSQL数据库性能优异、可扩展,而且很灵活,非常适合移动、Web和游戏应用程序。
可扩展性:NoSQL数据库通常使用分布式硬件集群进行横向扩展,而不是通过增加昂贵、健壮的服务器进行纵向扩展。在全托管服务中,有些云提供商在后台帮用户完成了所有这些操作。
灵活性:NoSQL数据库通常都提供了灵活的模式,支持快速迭代开发。NoSQL数据库有灵活的数据模型,非常适合半结构和非结构化数据。
高性能:与关系型数据库相比,NoSQL数据库针对特定的数据模型和访问模式做了优化,进一步提升了性能。
以下是一些知名的NoSQL数据库类
键值数据库
键值数据库成对存储数据,每个记录包含一个唯一id和一个值。这类数据库提供了灵活的存储结构,因为值中可以存储任意数量的非结构化数据。
应用场景
会话管理、用户偏好设置和产品推荐。
典型产品
AmazonDynamoDB、AzureCosmosDB、Riak。
内存键值数据库
不同于基于磁盘的数据库,这类数据库的数据主要保存在内存中。通过减少磁盘访问实现最小响应时间。由于所有数据都存储在内存中,在进程或服务器出现故障时,内存数据库有丢失数据的风险。内存数据库可以通过在日志中记录每个操作或生成数据快照的方式将数据持久化到磁盘上。
典型产品
Redis、Memcached、AmazonElasticache。
文档数据库
文档数据的结构和键值数据库类似,只是键和值的形式是用标记语言(如JSON、XML或YAML)编写的文档。
应用场景
用户资料、产品目录和内容管理。
典型产品
MongoDB、AmazonDocumentDB、CouchDB。
列式数据库
列式数据库基于表存储,但没有严格的列格式。列式数据库不要求每一列都有值,而且可以组合包含不同数据格式的行段和列段。
应用场景
遥测数据、分析数据、消息传递和时序数据。
典型产品
Cassandra、Accumulo、AzureTableStorage、HBase。
NoSQL数据库的类型
图数据库
图数据库使用节点和边来映射数据之间的关系。节点是单个的数据值,边是这些值之间的关系
应用场景
社交图谱、推荐引擎和欺诈检测。
典型产品
Neo4j、AmazonNeptune、AzureCosmosDBGremlin。
时序数据库
这类数据库存储有时间顺序的流式数据。数据不是按值或id排序,而是按收集、摄入时间或元数据中包含的其他时间戳排序。
应用场景
工业遥测数据、DevOps和物联网(IOT)应用程序。
典型产品
Graphite、Prometheus、AmazonTimestream。
分类账数据库
分类账数据库以日志为基础,日志中记录了与数据值相关的事件。这类数据库存储用于验证数据完整性的数据更改操作。
应用场景
银行系统、注册、供应链、记录系统(systemsofrecord)。
典型产品
AmazonQuantumLedgerDatabase(QLDB)。
小结
为了选出最合适自己的NoSQL数据库,你应该了解各种NoSQL数据库之间的差异。
https://levelup.gitconnected.com/system-design-interviews-nosql-databases-and-when-to-use-them-780021f4063
相关阅读:
为什么NoSQL数据库这么受欢迎?(https://xie.infoq.cn/article/b663f3c216b96fc6c8d0710d6)
SQL与NoSQL最终会走向融合吗?(https://xie.infoq.cn/article/1601b4dc6dc8a4e8cc1b7b4e6)
腾讯云NoSQL数据库产品2022再迎升级,多项技术细节首次公开(https://xie.infoq.cn/article/2bca963b0c9d1a6f2a8e654aa)
最全SQL与NoSQL优缺点对比(https://xie.infoq.cn/article/de732963b420ee35542fb1010)
声明:本文为InfoQ翻译,未经许可,禁止转载
【FUTURE PROGRAMMING COURSE】尊享对接老板
电话+V: 152079-09430
机构由一批拥有10年以上开发管理经验,且来自互联网或研究机构的IT精英组成,负责研究、开发教学模式和课程内容。公司具有完善的课程研发体系,一直走在整个行业发展的前端,在行业内竖立起了良好的品质口碑。