【问题标题】:Where does Big Data go and how is it stored?大数据去哪里以及如何存储?
【发布时间】:2017-09-17 09:25:47
【问题描述】:

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

我熟悉传统的数据管理形式和数据生命周期;例如:

  1. 收集的结构化数据(例如网络表单)
  2. 数据存储在数据库服务器上 RDBMS 的表中
  3. 数据清理,然后 ETL 到数据仓库中
  4. 使用 OLAP 多维数据集和各种其他 BI 工具/技术分析数据

但是,就大数据而言,我对第 2 点和第 3 点的等效版本感到困惑,主要是因为我不确定每个大数据“解决方案”是否总是涉及使用 NoSQL 数据库处理和存储非结构化数据,以及大数据等价物是数据仓库。

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

对我来说,大数据生命周期大致如下:

  1. 收集的数据(结构化/非结构化/半)
  2. 数据存储在大数据平台上的 NoSQL 数据库中;例如HBase on MapR Hadoop 服务器分布。
  3. 大数据分析/数据挖掘工具清理和分析数据

但我有一种感觉,情况并非总是如此,第 3 点可能完全是错误的。任何人都可以对此有所了解吗?

【问题讨论】:

    标签: database hadoop bigdata nosql


    【解决方案1】:

    当我们谈论大数据时,我们在大多数情况下谈论的是大量不断写入的大量数据。数据也可以有很多种类。将大数据的典型数据源想象成生产线上的一台机器,它始终生成有关温度、湿度等的传感器数据。这不是您在 DWH 中可以找到的典型数据。

    如果您转换所有这些数据以适应关系数据库会发生什么?如果您经常使用 ETL,您就会知道从源中提取、转换数据以适应模式然后存储它需要时间,而且这是一个瓶颈。创建模式太慢了。而且大多数情况下,这种解决方案成本很高,因为您需要昂贵的设备来运行 DWH。您不想用传感器数据填充它。

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

    如果您来自传统的 DWH 世界,那么您已经习惯了可以很好地处理经过充分准备和结构化的数据的技术。 Hadoop 和 co 非常适合寻找像大海捞针一样的洞察力。您可以通过并行数据处理获得洞察力,并处理大量数据。

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

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

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

    简而言之,这是我的大数据,供有传统数据库系统经验的人使用。

    【讨论】:

    • 那么我是否说在解决方案中不一定使用 NoSQL?此外,NoSQL 是否与传统的 RDBMS 发挥相同的作用作为存储数据的手段,但与传统的数据库系统不同,RDBMS 是一个关键组件,NoSQL 数据库是一个可选组件?
    • 如果您查看 NoSQL 堆栈,您会发现各种类型的数据库。一类是 BigTable。 HBase 是与 Hadoop 一起使用的 BigTable 数据库,用于将结果存储在允许快速访问的存储中。还有许多基于 Hadoop 的图形数据库和引擎。所以我想说,Hadoop 中有一些 NoSQL 主题。但是,并不是每个大数据项目都需要 NoSQL。
    • 这个解释令人印象深刻,非常感谢您抽出宝贵时间。从实际的角度来看,我们说的是:传感器收集数据(源)通过 MQTT(协议)发送到代理。然后?我已经看到我可以使用 Spark 订阅 MQTT(甚至 Kafka)主题,但我仍然不太清楚堆栈是如何捆绑在一起的......
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 2023-03-14
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 2021-05-04
      相关资源
      最近更新 更多