大数据在哪里以及如何存储?

时间:2017-04-20 16:09:55

标签: database hadoop bigdata nosql

我正在努力掌握大数据,主要是如何管理大数据。

我熟悉传统的数据管理和数据生命周期; e.g:

  1. 收集的结构化数据(例如网络表格)
  2. 存储在数据库服务器上的RDBMS中的表中的数据
  3. 清理数据,然后ETL进入数据仓库
  4. 使用OLAP多维数据集和各种其他BI工具/技术分析数据
  5. 但是,在大数据的情况下,我对第2点和第3点的等效版本感到困惑,主要是因为我不确定每个大数据“解决方案”是否总是涉及使用NoSQL数据库处理和存储非结构化数据,以及大数据等效于数据仓库的内容。

    从我所看到的情况来看,在某些情况下NoSQL并不总是被使用并且可以完全省略 - 这是真的吗?

    对我来说,大数据生命周期就是这样的:

    1. 收集的数据(结构化/非结构化/半结构化)
    2. 存储在大数据平台上的NoSQL数据库中的数据;例如关于MapR Hadoop服务器分发的HBase。
    3. 大数据分析/数据挖掘工具清理和分析数据
    4. 但我觉得情况并非总是如此,第3点可能完全错误。任何人都可以对此有所了解吗?

2 个答案:

答案 0 :(得分:1)

当我们谈论大数据时,我们会在大多数情况下讨论很多情况下不断编写的大量数据。数据也可以有很多种。将大数据的典型数据源视为生产线中的机器,生成温度,湿度等所有时间传感器数据。这不是您在DWH中可以找到的典型数据。

如果将所有这些数据转换为适合关系数据库,会发生什么?如果你经常使用ETL,你知道从源代码中提取,转换数据以适应模式然后存储它需要时间,这是瓶颈。创建架构太慢了。此外,这种解决方案主要是昂贵的,因为您需要昂贵的设备来运行DWH。您不希望用传感器数据填充它。

您需要在廉价硬件上快速写入。使用大数据,您可以在分布式文件系统上首先存储无模式(通常称为非结构化数据)。此文件系统将大量数据拆分为块(通常大约128 MB),并将它们分布在群集节点中。随着块被复制,节点也可能会崩溃。

如果您来自传统的DWH世界,那么您已经习惯了能够很好地处理准备和结构化的数据的技术。 Hadoop和co很适合寻找诸如在干草堆中搜索针头之类的见解。您可以通过并行化数据处理和处理大量数据来获得洞察力。

想象一下,您收集了数TB的数据,并且您希望对其进行一些分析分析(例如聚类)。如果你必须在一台机器上运行它,则需要数小时。大数据系统的关键是在无共享架构中并行执行。如果要提高性能,可以添加硬件以横向扩展。通过它,您可以使用大量数据加快搜索速度。

查看现代大数据堆栈,您可以拥有数据存储空间。这可以是具有分布式文件系统的Hadoop,例如HDFS或类似的文件系统。然后,您将拥有一个资源管理器,用于管理文件系统上的访问。然后在它上面,你有一个数据处理引擎,如Apache Spark,它协调存储层上的执行。

再次在数据处理的核心引擎上,您可以使用应用程序和框架(例如机器学习API)来查找数据中的模式。您可以运行无监​​督学习算法来检测结构(例如聚类算法)或监督机器学习算法,以便为数据中的模式赋予一些含义并能够预测结果(例如线性回归或随机森林)。

对于有传统数据库系统经验的人来说,这是我的大数据。

答案 1 :(得分:0)

简单地说,大数据是一个总称,用于描述大型组织收集的大量结构化和非结构化数据。通常,数据量太大而无法通过传统方式进行处理,因此必须部署利用嵌入式 AI、机器学习或实时分析引擎的最先进解决方案来处理它。有时,“大数据”一词也用于描述处理大量或速度大数据的技术领域。

大数据可以进入各种系统并以多种方式存储,但通常先是无结构存储,然后在提取、转换、加载 (ETL) 阶段变成结构化数据集群。这是将数据从多个源复制到单个源或存储在原始源中的不同上下文中的过程。大多数需要存储和使用大数据集的组织都拥有先进的数据分析解决方案。这些平台使您能够将来自不同系统的数据组合成单一的真实来源,您可以在其中使用所有数据做出最明智的决策。高级解决方案甚至可以提供数据可视化,让您一目了然地了解所提取的信息,而无需担心底层数据架构。