很多人使用该术语 大数据 相反 商业的 方式,作为指示大型数据集参与计算的一种方法,因此潜在的解决方案必须具有良好的性能。当然, 大数据 始终携带相关的术语,例如可伸缩性和效率,但究竟是什么将问题定义为 大数据 问题?

计算是否必须与某些特定目的相关,例如数据挖掘/信息检索,或者可以标记用于一般图形问题的算法 大数据 如果数据集是 足够大?另外,如何 大的足够大 (如果可以定义)?

有帮助吗?

解决方案

对我来说(来自关系数据库背景),“大数据”主要不是关于数据大小(这是其他答案到目前为止的大部分)。

“大数据”和“不良数据”密切相关。关系数据库需要“原始数据”。如果数据在数据库中,则准确,清洁和100%可靠。关系数据库需要“出色的数据”,并且要大量的时间,金钱和问责制,以确保将数据做好准备,然后将其加载到数据库中。如果数据在数据库中,则是“福音”,并定义了系统对现实的理解。

“大数据”从另一个方向解决了这个问题。这些数据的定义很差,其中大部分可能不准确,实际上可能缺少其中的大部分。数据的结构和布局是线性的,而不是关系。

大数据必须具有足够的音量,以使不良数据或丢失的数据在统计上变得微不足道。当数据中的错误足够普遍以相互抵消时,当丢失的数据成比例地很小以至于可以忽略不计时,即使数据访问要求和算法也起作用,即使数据不完整和不准确,您就会拥有“大数据” 。

“大数据”并不是真正的卷,而与数据的特征有关。

其他提示

正如您正确地指出的那样,如今,每个人都想说的“大数据”,这在人们定义术语方面需要一定的松弛。不过,通常,我会说,如果量表的规模如此不再可行,那么使用更传统的技术(例如RDBMS),至少在没有补充大数据技术(例如Hadoop)的情况下,您肯定会处理大数据。

您的数据实际上必须有多大才能使情况有争议。这是一个(有些挑衅) 博客文章 这声称少于5 TB的数据并非如此。 (明确地说,它并不声称“少于5 TB不是大数据”,但仅仅是“小于5 TB的大数据不足以使您需要Hadoop”。)

但是,即使在较小的数据集上,诸如Hadoop之类的大数据技术也可以具有其他优势,包括非常适合批处理操作,使用非结构化数据(以及其结构不预先知道或可能更改的数据),水平可扩展性(水平可伸缩性)(通过添加更多节点而不是加强现有服务器来扩展),以及(作为上述帖子注释的评论者之一)能够将数据处理与外部数据集集成在一起(想想映射器的地图降低位置打电话给另一台服务器)。与大数据相关联的其他技术,例如NOSQL数据库,在处理大量数据时强调快速性能和一致的可用性,还能够处理半无结构的数据并水平扩展。

当然,传统的RDBM具有自己的优势,包括酸保证(原子能,一致性,隔离,耐用性)和某些操作的更好性能,以及更为标准化,更成熟,并且(对于许多用户而言)更熟悉。因此,即使对于无可争议的“大”数据,将至少一部分数据加载到传统的SQL数据库中并将其与大数据技术结合使用也可能是有意义的。

因此,一个更慷慨的定义是,只要它足够大,大数据技术就会为您提供一些附加值。但是,如您所见,这不仅取决于数据的大小,还取决于您想要如何使用数据以及在灵活性,一致性和性能方面有什么样的要求。 如何 您使用的数据与您使用的数据更相关 为了 (例如数据挖掘)。也就是说,如果您拥有足够大的数据集可以使用,那么使用数据挖掘和机器学习之类的使用可能会产生有用的结果。

世界上数据总数:2012年2.8个Zetabytes,估计到2015年达到8个Zetabytes(资源),两倍的时间为40个月。不能比那大:)

作为一个大型组织的一个例子,Facebook每天将500台trabytes拉入100 pbytete仓库,并在2012年每天运行70k的查询(截至2012年)(资源)他们目前的仓库> 300 pb。

大数据可能是Facebook号码的很大一部分(1/100可能是,1/10000可能不是:它不是单个数字)。

除大小外,使其“大”的某些功能是:

  • 它是积极分析的,而不仅仅是存储的(引用“如果您不利用大数据,那么您没有大数据,只有一堆数据“ jay parikh @ facebook)

  • 建造和运行数据仓库是一个主要的基础设施项目

  • 它以显着的速度增长

  • 它是非结构化的或具有不规则结构

GARTNER定义:“大数据是高量,高速度和/或需要新形式处理形式的高品种信息资产”(3VS),因此他们还认为“ Bigness”并不完全关乎数据集的大小,但是还涉及速度和结构以及所需的工具。

对我而言,大数据主要是关于工具的(毕竟,这就是它开始的地方);一个“大”数据集太大了,无法使用常规工具来处理 - 特别是大于群集而不是一台机器,需要存储和处理。这排除了常规的RDBM,并需要新的处理技术;特别是,各种类似Hadoop的框架使得可以轻松地通过群集分发计算,而限制了该计算的形式。我将引用 http://www.chrisstucchio.com/blog/2013/hadoop_hatred.html ;大数据技术是数据集的最后手段,这些数据集实在太大而无法处理任何其他方式。我会说任何目的的数据集是否足够大,但如果问题的形状使现有的“大数据”工具不合适,那么提出新的“大数据”工具是不合适的姓名。

当然有一些重叠。当我(短暂)在Last.fm上工作时,我们使用Hadoop以及在相当荒谬的服务器上的SQL数据库中在相同的50TB数据集上工作(我记得它有1TB RAM,这是几年前)。从某种意义上说,这两者兼而有之,也不是大数据,具体取决于您从事的工作。但是我认为这是一个准确的特征。从事Hadoop工作的人发现参加大数据会议和网站很有用,而从事SQL工作的人则没有。

当一个单一时,数据变为“大” 商品计算机 无法再处理您拥有的数据量。它表示您需要开始考虑构建超级计算机或使用簇处理数据的地步。

大数据由数据量定义,这是正确的,但不仅是。大数据的特殊性是您需要存储一个 很多各种各样的 而有时 非结构化 东西 一直以来 并从一个 吨传感器, , 通常 多年或十年.

此外,您需要可扩展的东西,因此您不需要半年才能找到数据。

因此,这是大数据,传统方法将不再起作用。 SQL不可伸缩。 SQL与非常结构化和链接的数据一起工作(所有这些主要和外键杂物,Innerjoin,Inbricated请求...)。

基本上,由于存储变得更便宜,并且数据变得越来越有价值,因此大型经理要求工程师记录所有内容。使用所有这些移动,社交网络,嵌入式内容等等,还增加了许多新传感器。因此,由于经典方法无法正常工作,因此他们必须找到新技术(以JSON格式,Big Index,我们称为NOSQL的内容,将所有内容存储在文件中)。

因此,大数据可能很大,但不是那么大,但不那么复杂的非结构化或各种数据,必须以原始格式快速存储并在运行中存储。我们首先集中精力并存储,然后研究如何将所有内容联系在一起。

我将分享基因组学中的大数据,尤其是De-Novo组装。

当我们对您的基因组进行排序(例如:检测新基因)时,我们会采用数十亿个下一代简短读数。查看下图,我们尝试组装一些读物。

enter image description here

这看起来很简单吗?但是,如果您有十亿这些读物怎么办?如果这些读数包含序列错误怎么办?如果您的RAM没有足够的内存来保留读数怎么办?重复的DNA区域呢? 阿鲁元素?

De-Novo组装是通过构建 de-bruijn图:

enter image description here

该图是一个巧妙的数据结构,以表示重叠的读取。它不是完美的,但是比产生所有可能的重叠并将它们存储在数组中要好。

组装过程可能需要几天的时间才能完成,因为汇编器需要穿越和崩溃的许多路径。

在基因组学上,您有一个大数据:

  • 你不能强迫所有组合
  • 您的计算机没有足够的物理内存来存储数据
  • 您需要降低尺寸(例如:塌陷的冗余图路径)
  • 您会生气,因为您必须等待几天才能做任何事情
  • 您需要一个特殊的数据结构来表示数据
  • 您需要过滤您的数据集中的错误(例如:测序错误)

https://en.wikipedia.org/wiki/de_bruijn_graph

图形算法有特殊的东西,您的原始问题使其与众不同,这是关于他可以从本质上划分数据的能力。

对于某些事情,例如在数组上排序数字,将数据结构上的问题划分为较小的分离件并不难,例如 这里:平行于适当的合并排序

但是,对于图形算法,在给定的图形度量标准上找到可选的分区存在挑战,已知为$ np-hard $。

因此,尽管要排序的10GB数字可能是一个普通PC上非常平易近人的问题(您可以通过动态编程进行操作,并且对程序流具有很好的可预测性),但是使用10GB图数据结构可以通过挑战。

有许多专业框架,例如 GraphX 使用方法和特殊的计算范例来避免图形的固有挑战。

因此,要简要回答您的问题:正如其他人之前提到的那样,当您的数据不适合普通PC上的主内存,但您需要所有这些数据来回答您的问题,这是一个很好的暗示,您的数据已经有些大。确切的标签虽然取决于我对数据结构和提出的问题有所思考。

我认为大数据始于大小阻止您做想要的事情的点。在大多数情况下,限制了可行的运行时间。在某些情况下是一个小时,在某些情况下可能需要几周。只要数据不够大,只有O(n)算法才能在可行的时间范围内运行,您就不会达到大数据。

我喜欢这个定义,因为它对数量,技术水平和特定算法不可知。资源对资源不是不可知论,因此研究生将在Google之前达到大数据的点。

为了能够量化数据的大小,我想考虑备份它所需的时间。由于技术的进步,几年前被认为很大的数量现在是中等的。随着技术的发展,备份时间随着学习算法的运行时间而有所改善。我觉得谈论数据集需要x小时才能备份,而不是y字节的数据集。

PS。

重要的是要注意,即使您达到了大数据点,并且无法以直接的方式运行复杂性的算法,但您仍然可以做很多事情,以便仍然可以从这种算法中受益。

例如,功能选择可以减少许多算法运行时间所取决于的功能的数量。在许多长的尾巴分布中,重点介绍了头部的少数项目可能有益。您可以使用示例并在其上运行较慢的算法。

数据是“大数据”,如果它的数量如此之多,以至于在两台或更多商品计算机上分析它比在一台高端计算机上要少。

从本质上讲,这就是Google的“ BigFiles”文件系统的产生方式。 Page和Brin负担不起花哨的太阳服务器来存储和搜索其网络索引,因此将几台商品计算机连接起来

我倾向于同意@dan Levin已经说过的话。最终,由于我们想从数据中获取有用的见解,而不仅仅是存储它,所以 学习算法/系统的能力 这应该确定所谓的“大数据”。随着ML系统的发展,今天的大数据将不再是大数据。

定义大数据的一种方法可能是:

  • 大数据: :无法在其中构建ML模型的数据 合理的时间(1-2小时) 在典型的工作站(例如4GB RAM)
  • 非小数数据: :补充以上

假设此定义,只要单个行所占据的内存(单个数据点的所有变量)不超过机器RAM,我们就应该在 非小数数据 政权。

笔记: Vowpal Wabbit (到目前为止,迄今为止最快的ML系统)只要单个行(数据点)为<ram(例如4GB),就可以学习任何数据集。行的数量是 这不是限制 因为它在多个内核上使用SGD。从经验上讲,您可以一天训练具有10K功能和10MN行的模型。

“大数据”实际上只是很多数据。虽然这比其他任何东西都更像是一个营销术语,但这意味着您拥有如此多的数据,以至于您无法一次分析所有数据,因为将数据保存在内存中需要的记忆量(RAM)需要过程和分析它大于可用内存的量。

这意味着通常必须在数据的随机段上进行分析,这允许构建模型以与数据的其他部分进行比较。

许可以下: CC-BY-SA归因
scroll top