什么是大数据随谈

大数据挑战与应对
什么是比高达他?

比高达他?呵呵,其实我想输入“什么是大数据”,一不小心大数 据敲成了英文Big Data,就成了上面的“什么是比高达他?”,你大概猜到了我用的是什么中文输入法,呵呵,兄弟姐妹大叔大婶们,我们有很多共同点啊。

今天突然想起来前段时间一个在深圳工作的美国朋友问我,什么是大数据,多大才算大以至于我们公司才需要大数据技术?我当时给了他一些参考,他还不是很明确。

很有意思的问题,现在我想起这个,直觉告诉我,他们公司还没有到需要大数据技术的阶段吧。

所以就想了想这个什么是大数据的话题,只是随便谈谈,给个精确定义这种事情还是留给搞科研的计算机科学家吧。

从宏观角度来说,由于各种各样数据源的增长 ,譬如包括各 种移动设备(智能手机,平板电脑),感应器,监测摄像机,智能电网,社会媒体,在线交易等,我们要存储和处理的数据量急剧膨胀。据IDC统计,2011年共产生了大约1.8trillion GB数据(1 trillion = 1 million million)!这大约包括500 quadrillion个文件(1 quadrillion=1000 million million)。而且数据量仍以每两年翻番的速度在增长!除了数据量之大,另一个
现象是数据类型的多样化,归纳起来有三种,传统的结构化数据(譬如交易数 据,包括购买者姓名,产品名称,价格,日期等),非结构化数据(譬如一篇博客文章里的文本)和半结构化数据(譬如XML,email)。随之而来的一个鲜明特点是非结构化数据占据了整体数据量的90%以上!

什么是大数据随谈



面对 这样多样化大规模的数据,任何一个企业都面临提升数据处理速度的挑战! 这个包括两方面,首先,数据产生如此之快(想想Facebook一秒钟内产生20万了类似点击“Like button”这样事件 ),你的企业有足够大的存储空间来存储这样的流数据嘛?其次,响应速度。传统的数据库技术处理几个TB也许没有问题能很快响应,可是在面临上百TB就面临瓶颈了,更不要说如何快速处理大规模文本这样的非结构化数据了。

所以,下面这3个V的组合就给出了一个很好的大数据定义方式,或者说是大数据给我们带来的3大挑战!
  • Volume
  • Velocity
  • Variety
可是,对一个具体的企业来讲,多大的数据算大呢?

不好说,你不能给个具体数字,说,瞧,达到这个数量级了才算。我对我的朋友说,4TB算不算大?大嘛?也许大也许不大。要看你的需求,怎么处理这些数据。我举了个很有名的例子。纽约时报曾经需要将4TB的扫描TIFF图片(几百万个图片)拼成新闻文章并转换为PDF文 件。他们的技术团队想到了Amazon AWS。通过使用Amazon EC2 搭建运行一个有100个节点的Hadoop集群 ,他们只花了不到1天的时间便完成了该项任务。想想用其他技术,这个要花多长时间呢?

所以,我对他说,你这个数据量大还是不大,取决于你的应用是什么,你的应用的SLA(Service Level Agreement)或者说你的上司给你完成任务的时间,以及你企业现有系统的存储和计算能力。

O'Reilly Radar Team的Edd Dumbill这样定义“大数据”:大数据指的是你的数据超过了传统数据库系统 处理能力;你的数据太大,产生太快,不能放在你现有的数据管理系统中;为了从这些数据中提取(商业)价值,你必须选择不同于传统数据库技术的方法来处理他们。

也许我们可以打个有意思的比方,说如果你已经足够有钱,克隆了一个Facebook那样的技术团队 ,从一开始就构建了他们那样的体系结构,你又克隆了他们的Business Model,  你有大数据问题吗?多半你没有。因为你没有他们现有的用户群,Google+不是还在拚了老命和Facebook在争夺用户嘛,技术和产品可以克隆,但我们的上帝--用户不一定买你的账,没有用户就没有数据,就没有大数据问题。可是Facebook虽然有庞大的一流大数据系统,他们还是会不断面临大数据挑战,因为他们有大量的用户和不断产生的新数据。想一想,每个新老用户的数据都不能丢弃,是不是这样?假如我是Facebook注册的第九个用户(不要问我前8个是谁),我放了一张照片在上面,然后我就去火星转了一圈,现在回来了,我希望我再登陆Facebook,我仍然能马上看到我多年前的照片,如果3秒以内看不到,我头上就会冒火星,就这么简单。

所以下次我可以这么打个不礼貌的比方跟我的朋友说 ,如果你只有1万个注册用户,目前只用到一个MySQL服务器,只有1TB硬盘,你只有一台Web Server,你没有负载平衡,你的开发小组Release新版本的时候,就是简单的重启你的数据库和你的Web Server,你的客服却从来没有接到过用户抱怨类似为什么他们刚刚写的文章不见了的投诉电话,你没有大数据问题,但是请不要告诉别人这些;因为很多的人在绞尽脑汁给MySQL做Shardin g和配置主从Cluster,运行多台Web Server, 为其配置支持Session管理,并在前面加上负载平衡,配以CDN,配以MemCached或者其它in-memory cache,不会同时重启所有服务器以保证availability ,减少用户操作/数据丢失,另外他们现在又加入了一种叫做Hadoop的利器及基于Hadoop的各种analytics工具和系统做离线处理以进行数据分析,数据挖掘和机器学习以建立模型;他 们还拥有另一种利器叫做“NoSQL” ,来获得实时响应的性能;他们可能还拥有第三种利器,叫做什么,我也不知道,他们还在秘密研发中,我们拭目以待......
### 大数据分析理念与方法 #### 数据分析的理念 在大数据时代,数据分析的核心理念围绕着从海量数据中挖掘潜在的价值和洞察力展开。由于数据量的快速增长以及多样性的增加,传统的数据分析方式已无法满足需求[^1]。现代数据分析强调以下几个方面: - **以业务为导向**:数据分析不再仅仅是统计学的应用,而是紧密联系企业的实际运营目标,通过数据驱动决策支持企业战略发展。 - **实时性与动态调整**:鉴于数据更新速度快的特点,在大数据环境中,分析过程需要具备快速响应能力并能及时反馈结果以便于做出即时决策[^2]。 #### 常见的大数据分析方法 为了应对大数据带来的挑战,多种先进的技术和算法被引入到数据分析领域当中。以下是几种主要的方法及其应用场景描述: ##### 机器学习模型构建 利用监督学习、非监督学习或者强化学习等不同类型的机器学习技术建立预测模型或分类器。例如,随机森林(Random Forests)可用于客户流失预测;K-means聚类则适合发现市场细分中的隐含模式[^2]。 ```python from sklearn.cluster import KMeans import numpy as np X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]) kmeans = KMeans(n_clusters=2).fit(X) print(kmeans.labels_) ``` ##### 文本挖掘与自然语言处理(NLP) 针对大量非结构化的文本资料(如社交媒体评论),采用NLP工具和技术进行语义理解和情感分析。这有助于品牌监测公众舆论趋势或是识别消费者偏好变化。 ##### 时间序列分析 对于金融交易记录或其他随时间连续产生的数值型变量集合,运用ARIMA(AutoRegressive Integrated Moving Average)之类的专门设计用于此类情况下的统计建模手段来进行未来走势预估[^1]。 ```r library(forecast) data <- ts(c(10, 20, 30), frequency = 12) model <- auto.arima(data) forecast(model, h = 5)$mean ``` ##### 可视化展示 借助专业的图表制作软件包比如Tableau 或者Python 的Matplotlib库把复杂抽象的结果转换成直观易懂的形式供相关人员解读参考。 ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4]) plt.ylabel('some numbers') plt.show() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值