楼主: 时光永痕
593 0

[数据挖掘新闻] 每个数据科学专业人员都应该知道的5种流行的NoSQL数据库 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

61%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
每个数据科学专业人员都应该知道的5种流行的NoSQL数据库
NoSQL数据库在行业中无处不在–希望数据科学家熟悉这些数据库
在这里,我们将了解什么是NoSQL数据库以及为什么要学习它
我们还将研究5种不同的NoSQL数据库的功能
介绍
我希望有人在我刚开始从事数据科学时给了我这条建议-尽可能多地学习如何使用数据库。
快速浏览一下您的数据库知识将在其中发挥作用:
在数据科学访谈中,您将面临有关数据库的问题
您将以数据科学家,数据分析师,业务分析师等身份广泛使用数据库。
您将依靠数据库知识来收集和收集数据科学项目的数据
还有更多!
不可争议的事实是,我们现在正在以前所未有的速度和规模生成数据。仅一秒钟就上传了8
为了处理大量数据,我们需要一个分布式数据库系统,该系统可以运行多个节点,并且还可以分区。这意味着,即使其中一个节点由于任何原因出现故障,系统也应该无缝运行。因此,分区容限是必不可少的。现在,根据CAPs定理,我们不能同时拥有分区容限,可用性和一致性。
我们必须在可用性和一致性之间进行权衡。例如,在银行应用程序中,客户应该看到正确的余额,无论他/她从何处访问该余额。结果可能会延迟几秒钟,但它们应该高度一致。
在本文中,我们将看到不同类型的NoSQL数据库,它们的功能以及何时使用每种数据库类型。
目录
什么是NoSQL数据库?
NoSQL数据库的类型
基于文档的数据库
关键值数据库
基于宽列的数据库
基于图的数据库
不同的NoSQL数据库
MongoDB
卡桑德拉
弹性搜索
亚马逊DynamoDB
HBase的
什么是NoSQL数据库?
那么什么是NoSQL数据库?
您可能听说过有人说NoSQL数据库是任何非关系数据库,这些数据之间没有任何关系。好吧,那不是完全正确的。它们还可以以不同的方式存储数据之间的关系。
我们可以说“ NoSQL”代表“不仅仅是SQL”。在这里,数据不会拆分为多个表,因为它允许所有以任何可能方式关联的数据都在一个数据结构中。当您处理大量数据时,您无需担心查询NoSQL数据库时的性能滞后。无需运行昂贵的连接!它们具有高度的可扩展性和可靠性,并设计为可在分布式环境中工作。
NoSQL数据库的类型
现在我们知道什么是NoSQL数据库,让我们在本节中探索不同类型的NoSQL数据库。
1.基于文档的NoSQL数据库
基于文档的数据库将数据存储在JSON对象中。每个文档都有类似结构的键值对:
NoSQL数据库
基于文档的数据库对开发人员来说很容易,因为文档直接映射到对象,因为JSON是Web开发人员使用的非常常见的数据格式。它们非常灵活,允许我们随时修改结构。
NoSQL数据库
基于文档的数据库的一些示例是MongoDB,Orient DB和BaseX。
2.关键值数据库
顾名思义,它将数据存储为键值对。在这里,键和值可以是任何东西,例如字符串,整数,甚至是复杂的对象。它们是高度可分区的,并且在水平缩放方面是最好的。它们在面向会话的应用程序中非常有用,在这些应用程序中,我们尝试捕获特定会话中客户的行为。
一些示例是DynamoDB,Redis和Aerospike。
3.基于宽列的数据库
该数据库将数据存储在类似于任何关系数据库的记录中,但是它具有存储大量动态列的能力。它按逻辑将列分组为列族。
例如,在关系数据库中,您有多个表,但是在基于宽列的数据库中,我们有多个列族,而不是多个表。
NoSQL数据库-宽列图片来源
这是一个很好的资源,可以了解有关基于列的数据库的更多信息:
这些类型的数据库的流行示例是Cassandra和HBase。
4.基于图的数据库
它们以节点和边的形式存储数据。数据库的节点部分存储有关主要实体(例如人物,地点,产品等)的信息,而边缘部分则存储它们之间的关系。当您需要找出社交网络,推荐引擎等数据点之间的关系或模式时,这些方法最有效。
其中的一些例子是Neo4j,Amazon Neptune等。
现在,让我们看一些NoSQL数据库及其功能。
不同的NoSQL数据库列表
1. MongoDB
MongoDB是使用最广泛的基于文档的数据库。它将文档存储在JSON对象中。
NoSQL数据库-MongoDB
根据stackshare.io网站,有3400多家公司在其技术堆栈中使用MongoDB。Uber,谷歌,eBay,诺基亚和Coinbase就是其中一些。
何时使用MongoDB?
如果您打算集成数百个不同的数据源,MongoDB的基于文档的模型将非常适合,因为它将提供数据的统一视图
当您期望从应用程序进行大量读取和写入操作,但是您不太关心服务器崩溃中丢失的某些数据时
您可以使用它来存储点击流数据,并将其用于客户行为分析
如果您想从MongoDB开始,我强烈建议您阅读以下文章:
适用于初学者的Python教程中的MongoDB
使用PyMongo查询MongoDB数据库!
2.卡桑德拉
Cassandra是一个开放源代码的分布式数据库系统,最初由Facebook构建(并由Google的Big Table推动)。它广泛可用,并且具有相当的可扩展性。它每秒可以处理PB级信息和数千个并发请求。
同样,根据stackshare.io的统计,超过400家公司在其技术堆栈中使用了Cassandra。其中包括Facebook,Instagram,Netflix,Spotify,Coursera。
何时使用Cassandra?
当您的用例比阅读需要更多的写作操作时
在需要更多可用性而不是一致性的情况下。例如,您可以将其用于社交网络网站,但不能将其用于银行目的
您对数据库的查询所需的联接和聚合次数更少
运行状况跟踪器,天气数据,订单跟踪和时间序列数据是一些好用例,您可以在其中使用Cassandra数据库
3. ElasticSearch
这也是一个开源的分布式NoSQL数据库系统。它具有高度的可扩展性和一致性。您也可以将其称为Analytics Engine。它可以轻松地分析,存储和搜索大量数据。
如果全文搜索是用例的一部分,那么ElasticSearch将最适合您的技术堆栈。它甚至允许使用模糊匹配进行搜索。
3000多家公司在其技术堆栈中使用Elasticsearch,包括Slack,Udemy,Medium和Stackoverflow。
什么时候使用ElasticSearch?
如果您的用例需要全文搜索,那么Elasticsearch将是最合适的选择
如果您的用例涉及聊天机器人,而这些聊天机器人可以解决大多数查询,例如,当某人键入内容时,很可能会出现拼写错误。您可以利用ElasticSearch的内置模糊匹配实践
另外,ElasticSearch在存储日志数据和对其进行分析时很有用。
4.亚马逊DynamoDB
它是由Amazon创建的基于键值对的分布式数据库系统,具有高度可扩展性。但不幸的是,它不是开源的。它每天可以轻松处理10万亿个请求,因此您可以了解原因!
包括Snapchat,Lyft和Samsung在内的700多家公司正在其技术堆栈中使用DynamoDB。
何时使用DynamoDB?
如果您正在寻找一个可以处理简单键值查询的数据库,但是这些查询的数量很大
如果您正在处理OLTP工作负载(例如在线机票预订或银行业务),而这些工作需要高度一致的数据
5. HBase
它也是一个开源的高度可扩展的分布式数据库系统。HBase是用JAVA编写的,并且在Hadoop分布式文件系统(HDFS)之上运行。
超过70个公司在其技术堆栈中使用了Hbase,例如Hike,Pinterest和HubSpot。
什么时候使用HBase?
您至少应有PB级的数据要处理。如果您的数据量很小,那么您将无法获得理想的结果
如果您的用例需要对数据进行随机和实时访问,那么HBase将是适当的选择
如果您想轻松地为数十亿人存储实时消息
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SQL数据库 NoSQL 专业人员 数据科学 NoSQ

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 07:48