星期二, 一月 31, 2012

什么是大数据(下)

前文,大数据的特征除了规模以外还有快速和多样

快速(Velocity)

数据流入组织的速度越来越快,这使得数据的速度和规模同样重要。以前只有少数行业如金融交易公司需要关注快速传输数据,那么现在许多行业都将面临这个问题。

其原因何在?因为如今我们处于互联网和移动时代,网络会记录下人们对各种产品和服务的消费,这样产生了大量的数据并流回到供应商手中。例如网上零售商就能够记录下客户的每一次点击和交互。那些能够迅速地利用这些信息的企业就能获得竞争优势。智能手机时代的出现则再次增加了数据流入的速度,因为消费者能随身携带它们以获取地理信息数据。


如果仅仅涉及到数据流入速度的话倒还好办,高速的数据流可以存到大容量存储器中,以后方便时再作处理。重点问题在于对输入数据进行处理的速度,或者说反馈系统的响应速度。打个比方,如果你大脑的处理速度很慢,只能处理五分钟前的交通位置,你甚至没办法过马路。对于这种快速传输的数据,其行业术语就是“数据流”或“复杂事务处理”。

考虑处理数据流有两个主要原因。第一个原因是当数据流太快而超出存储能力的情况。比如在欧洲核子研究中心大型强子对撞机会产生极多的数据,以至于科学家们必须放弃绝大多数的数据。第二个原因是应用程序对数据快速响应的问题。由于移动应用和在线游戏的崛起,这是一个越来越常见的情况。目前处理数据流的产品有IBM的InfoSphere Streams,以及Twitter的Strom和雅虎的S4。

如上所述,相比输入数据而言,系统的反应速度更为重要。反馈回路更快就会获得更大的竞争优势。正是这种对速度的需要,带动了关键值存储和纵列数据库的发展。这些数据库的形式也正是NoSQL概念下的一个大类。

多样(Variety)

很少有数据以所需要的形式存在。大数据系统的一个共同主题就是:原始数据是多样的,而且不能落入整齐的关系结构中。这类数据可能包括社交网络文本、图像数据、直接从传感器得到的数据。这些数据都是异构的、缺乏整合。即使在网络上,计算机之间的通信数据也是凌乱的。不同的浏览器发送着不同的数据,用户隐瞒着自己的信息,他们可能会使用不同的软件或不同的版本进行沟通。

大数据处理的一个常见方法是采用非结构化数据,然后从中提取有序的内容。因为对源数据进行处理意味着某种程度上信息的丢失。而大数据处理强调一个原则:即在条件允许下保留一切。

尽管关系数据库非常流行也很好理解,但它并非永远是数据的唯一目标地。某些数据库能更好地适应某些数据类型。例如XML编码的文件,存放在一个原生XML数据库(如MarkLogic)中能得到最大的用途。社交网络关系本质上是图形化的,用图形数据库(如Neo4j)对数据进行操作会更简单、更高效。

关系数据库的缺点是其架构的静态性质。在一个灵活、探索性的环境中,计算结果将会随着数据不断变化。半结构化的NoSQL数据库能满足这种灵活性的需要。

注:本文主要翻译自Edd Dumbill的文章

没有评论:

发表评论