如何学习大数据?
发布时间:2018-10-29 作者:jason
在我们了解如何学习大数据之前,我们应该回答这个问题:为什么我们需要学习大数据?
在新的千年开始之际,世界正在目睹正在发生的变化。机器(前传感器)和人(前社交媒体)产生前所未有的非结构化数据量和速度。我们将这些数据称为大数据。这些数据似乎具有巨大的价值,但需要在数据存储和处理方面进行革命。但是,Oracle,SQL Server,DB2和商业智能软件等传统关系数据库无法解决这个问题。
数据库的历史
1960 - 1995年:IDMS,大型机数据库
专为特定目的而设计,如存储,使用主键检索。这时计算机非常昂贵。
1995-2010:关系数据库
随着处理和存储变得越来越便宜,关系数据库开始进入市场。这些数据库的强大之处在于它们对于商务人士和技术人员来说都很容易理解。它能够处理各种任务,如快速保存,快速检索,快速分析。即使在今天,当数据量有限(高达几TB)时,这些数据库也是最适合的。
2010年至今
大约在2010年,网络服装(前亚马逊)和社交媒体公司开始拥有大量数据。他们希望通过分析和挖掘见解来使用它。关系数据库无法处理这么多数据。因此,那些有能力投资研发的公司开始为他们的特定用例创建数据库。不久,很多其他公司也希望这样做。因此,出现了对可扩展,廉价且容易获得的硬件的需求。
这些数据库可分为三类:
存储数据库(NoSQL数据库)
使用案例:大型网站,电子商务,社交媒体等。
NoSQL数据库的概念很简单。在这里,我们将数据分为键和值对。每个NoSQL数据库都是商品服务器集群,因此数据基于索引进行存储,主数据库会跟踪数据的位置。通俗地说,如果我们有26个服务器集群,则密钥从A开始进入服务器1,B从2进入,依此类推。它很棒,很多架构变得流行,一些开源和专有数据库诞生了:
Open Source
Cassandra
MongoDB
Proprietary
Amazon DynamoDB etc等
当您知道密钥时,NoSQL数据库非常出色,例如您知道产品ID并希望了解产品的整个细节。但是,当您需要搜索产品ID本身时,这些数据库无用。
搜索数据库(NoSQL数据库)
这样做的目的是索引数据库中的每个术语,类似于NoSQL,但这些数据库曾经有一个适合搜索的索引机制。主要用于文本搜索。搜索数据库和键值对数据库之间的区别在于搜索数据库需要更多存储容量。因为每个文本都有多个组合,每个组合都被编入索引。
示例:Solr,Elastic Seach
用于分析的数据库
分析比键值或搜索查询更复杂,因为它不知道您想问什么问题。
例如,让我们考虑一下零售业的一个场景。
当我们将所有产品数据放入搜索数据库时,用户可以在几秒钟内获得简单查询的结果。用户输入产品ID作为密钥,查询将转到NoSQL数据库(键值对)并快速获取产品的详细信息。
但是,上述两个数据库无法实现复杂的查询,如昨天商店中的整个产品库存清单。您需要一个单独的架构。因此出现了一个新概念 - MapReduce。它将数据分成多个块,这些块被并行处理和分析,然后减少到一个。这种范式解决了很多复杂问题,并且出现了许多数据库。
开源:Hadoop,Spark
专有:Google Big Query,Amazon Athena,
公司正试图根据定价,定价模式进行竞争。
数据分析非常复杂,每经过11年的Hadoop,仍有许多查询无法在几秒钟内返回输出。它需要几分钟甚至几小时,具体取决于查询的重要性。
那么你如何学习和学习什么?
因此,有工作来设计数据结构,中央数据库(DBA)和编写分析编程。决定你想去的地方:
存储/检索,搜索或分析
在做出决定之后,其他答案中列出了许多资源和网站,您可以从中进行选择。