最近两年,大数据这把火一直很旺盛,我也算是从事大数据相关的开发人员,但是心中有几个疑虑,特做几个调查。
1、大家觉得什么样的业务场景才真正需要hadoop、spark、storm和hbase等这样的架构?
2、中小公司或者中小项目真的需要这些分布式处理架构吗?
3、真正使用这些框架或者技术的公司并且效果显著的多吗?(除了总所周知的bat,360等等)
4、随着开发门槛的降低,在北京大街上拉个人都能懂点hadoop,大数据难道又是一个骗局?
我参加过的项目架构是hbase + spark streaming + kafka,spark只中用来接收kafka数据至hbase,除了hbase个人觉得是必须外,相比于spark的维护成本,其作用显的微乎其微。我个人很喜欢这些分布式技术,但是如果存储数据量小于T级,需要spark处理的数据量小于G级,都觉得是大材小用得不偿失。
我是个数据科学初学者,个人观点也许不对,仅供参考:
1,先看拿数据做什么,再看“大不大”。
2,用的好了,小规模数据量就足够做出很好的成绩。小到几个excel文件规模的都可以。
3, 用不好,再大数据,也是无的放矢。
4, 从编程方式上看,
一般的编程,对付的是确定性的问题,所以任务很明确,只需要基本的逻辑推理就可以(if else,状态机)。
而大数据(数据挖掘、机器学习等),引入了概率论和统计推断,很明显是在不确定的情况下,根据统计学特征推断出当前情况,从而采取行动(例如进行分类或者是某动作)。
生活中和工作中,遇到最多的情境实际上是不确定的、有概率的情境。逻辑上完全确定的情境,反而是少数。
例如今天天气如何,我们出去吃饭,今天吃什么,完全是概率问题。
又例如股市的涨跌,自动驾驶汽车时的路面情况..癌细胞和普通细胞的区分...太多了
由对付确定性情况的编程,到对付不确定情况的编程,是编程领域的一个重大的范式变化。
也许再过几十年,对付确定性情况的编程的比例会越降越低。
这是一场范式革命。
可以与之类比的是,牛顿力学和量子力学,上帝在掷骰子。
从这一点看,现在的大数据的方向,其潜力无可限量。
这是个令人兴奋的金矿,几十年挖不完呐!
4楼 @brambles 这个大数据,还是有“数据规模大”的含义在吧。
wik百科的中英文解释
Big data is a broad term for data sets so large or complex that traditional data processing applications are inadequate. Challenges include analysis, capture, data curation, search, sharing, storage, transfer, visualization, and information privacy. The term often refers simply to the use of predictive analytics or other certain advanced methods to extract value from data, and seldom to a particular size of data set. Accuracy in big data may lead to more confident decision making. And better decisions can mean greater operational efficiency, cost reductions and reduced risk.
大數據(英语:Big data[1][2]或Megadata),或稱巨量資料、海量資料、大资料,指的是所涉及的資料量規模巨大到無法透過人工,在合理時間內達到擷取、管理、處理、並整理成為人類所能解讀的資訊[3][4]。在總資料量相同的情況下,與個別分析獨立的小型資料集(data set)相比,將各個小型資料集合併後進行分析可得出許多額外的資訊和資料關聯性,可用來察覺商業趨勢、判定研究品質、避免疾病擴散、打擊犯罪或測定即時交通路況等;這樣的用途正是大型資料集盛行的原因[5][6][7]。
sas 网站上的解释:
http://www.sas.com/en_us/insights/big-data/what-is-big-data.html
Big data is a popular term used to describe the exponential growth and availability of data, both structured and unstructured. And big data may be as important to business – and society – as the Internet has become. Why? More data may lead to more accurate analyses.
More accurate analyses may lead to more confident decision making. And better decisions can mean greater operational efficiencies, cost reductions and reduced risk.
还有个网站上的,我觉得也不错:
http://searchcloudcomputing.techtarget.com/definition/big-data-Big-Data
Big data is an evolving term that describes any voluminous amount of structured, semi-structured and unstructured data that has the potential to be mined for information. Although big data doesn't refer to any specific quantity, the term is often used when speaking about petabytes and exabytes of data.
以上解释里,我最倾向于最后一个。
表数据超过上亿,横向拆表,读写量大的表移库后,当我们做数据统计时,使用sql查询已经相当困难的时候,这时候不得不用大数据了。 去年我做的时候数据才几十万,一个sql轻轻松松做统计,现在.............你要用sql跑完得用小时来统计,而且频繁对主业务的表进行读写也会造成主从延迟。