“大数据”已跃升为我们行业中最受炒作的术语之一,但炒作不应使人们忽视这样一个事实,即这是数据在世界上的作用真正重要的转变。数据源的数量、速度和价值正在迅速增加。数据管理必须在五个广泛领域发生变化:从更广泛的来源提取数据,使用新的数据库和集成方法改变数据管理的组织方式,在运行分析项目中使用敏捷原则,强调数据技术将数据与噪声分开的解释,以及精心设计的可视化的重要性使该数据更容易理解。这意味着我们不需要大的分析项目,相反我们希望新的数据思维渗透到我们的日常工作中。
- 数据在我们的活动中扮演的角色发生了重大变化。
- 尽管大数据这个词经常被用来描述这种变化,但这不仅仅是我们希望使用多少数据。
- 你可能想把“大”应用到数据的重要性上——数据在我们的生活中发挥着更大的作用,而不只是从字面上理解“大数据”。
- 大数据是一个引起大量炒作的术语。但我认为在这种情况下抵制我们通常对炒作的厌恶很重要——思维正在发生重大变化。
- 这种转变迫使我们改变许多长期以来对数据的假设。它开辟了新机遇,但也需要新思维和新技能。
一 数据世界正在发生怎样的变化
数据是凌乱的
在结构上
- 传统上,数据被认为来自组织良好的数据库,这些数据库具有受控模式,具有强大的验证条件。
- 但我们现在看到的数据有多种形式:日志文件、消息队列、电子表格。这些数据分散在整个组织及其生态系统中。
- 通常很少或没有模式来控制其结构。
- 数据通常是不统一的,每个元素都具有不同的属性。
在内容上
- 由于存在多个数据源、众包甚至自动推理和发现数据——数据质量存在很大问题。
数据是分散式
- 通过Internet的广泛可用性和易于访问意味着数据来自更多的贡献者。
- 这引发了处理来自不同来源的许多更新、确保人们输入有用数据以及考虑如何检查输入数据的一致性和准确性等问题。
我们曾经想过从信息系统获取数据,
但是现在有很多设备需要考虑。
非洲98%的互联网接入点是移动的,还有更多需要考虑的:
数据是量大的
- 沃尔玛:每小时100万笔交易†
- eBay:每天50PB的数据†
- Facebook:400亿张照片
庞大的数据量足以击败许多长期采用的数据管理方法,集中式数据库系统无法处理大量数据,因此不得不使用集群。
最重要的是数据是有价值的
- 每年3000亿美元:美国医疗保健
- 60%增长:零售利润率
- 尽管很难获得关于充分利用数据的价值的确切数字,但亚马逊和谷歌等公司的成功在很大程度上归功于它们对数据的有效利用。
二 如何应对这些变化
数据世界中正在发生的变化,我们需要了解软件开发世界如何响应这些变化。
数据来自许多来源
提取数据很复杂,但真正的问题是知道去哪里找
- 由于有用数据存在于如此多的地方,挑战往往更多地在于认识到其中一些数据的价值。
- 通常只有每天使用应用程序的技术人员才知道有用数据隐藏在哪里。他们可能知道数据是什么,但通常不知道它的潜在价值有多大。
- 业务人员通常意识到问题,但不知道数据如何帮助他们,如果数据存在,它在哪里。
所以跨职能协作必不可少
- 如果要将重要问题与数据匹配,则需要具有业务知识的人员、知道存在哪些数据的人员以及能够了解如何处理数据以揭示问题的人员之间的协作。
- 了解哪些数据可用也是一项多学科工作。数据库人员通常都非常了解数据库,但要考虑更多的来源,让广泛的技术专家参与进来就很重要了。
数据管理的作用需要重新思考它是
- 旨在实现企业中单一、连贯和一致的数据模型
- 主要基于关系数据库
- 专注于仅存储经过验证的数据
这些变化需要新的策略
- 需要新的数据库技术来更直接地支持应用需求。应用程序团队现在需要考虑哪种数据库技术适合他们的情况,而不是对所有事情都使用单一(关系)技术。
- 数据的集中管理正在让位于管理其自身数据需求的特定应用程序。中央小组现在需要专注于实现应用程序团队之间的有效共享。
关系单一文化的时代已经结束,我们现在不得不问什么是满足我们需求的正确数据库
- 二十多年来,关系数据库一直是企业中占主导地位的数据存储技术。
- 他们过去曾抵制过许多挑战,但NoSQL数据库的兴起正在打破这种控制。
面向聚合的数据库
适合
- 作为单个工作单元(聚合)读取和操作的单一层次数据结构。
- 集群操作,因为聚合是很好的分布单位。
不是为了
- 以不同的结构对数据进行切片和切块时
- 面向聚合的数据库将复杂的数据结构存储在一个单元中,而不是将数据分布在许多表中的许多行上。
图数据库
适合
- 具有丰富连接结构的小数据单元
- 图数据库将数据表示为节点和弧形图结构。它们专为快速遍历图形结构而设计,并支持可以根据图形构建的查询。
我们发现NoSQL数据库适合企业应用
- 现在大型集团已经使用多个NoSQL数据库构建了关键的生产系统,特别是Couchbase、Riak、MongoDB(面向聚合)和Neo4J(图形)。项目团队报告了出色的生产力,我们会推荐这些用于未来的项目。
但这并不意味着关系已死
- 关系数据模型以其简单的表格结构和强大的查询语言,是多种数据的正确选择。
- 关系数据库是成熟的技术,很多人都熟悉并且拥有良好的工具。除非对其他事情有充分的论据,否则它们目前仍然是默认选择。
NoSQL、Relational和其他数据库技术都摆在桌面上
- 关键点是数据存储不是决定的时候结束了。现在必须根据如何使用该数据来主动选择数据库。
我们称之为多语言持久性
- 企业应该期待针对不同应用程序的多种数据存储技术。
- 当数据集具有不同的特征时,即使是单个应用程序也可以使用多语言持久性。
许多组织将应用程序与共享数据库集成
- SQL作为标准查询语言的存在实现了共享数据库集成。
- 它通过共享数据库结构将应用程序相互耦合,使应用程序更难快速更改。
- 它为所有应用程序使用单一的数据库技术和模式,这使得针对单个应用程序的需求使用适当的数据库技术变得更加困难。
- 这使得简单案例的报告更容易,因为SQL的报告工具很多。但报告需求通常会降低应用程序的速度,并且只能报告共享数据库中的数据。
现在我们封装数据库并通过服务API共享
- 应用程序数据库仅由单个应用程序使用。任何外部集成都是通过该应用程序构建和公开的API完成的。
- 通过应用程序API封装数据库,客户端不再直接耦合到数据库技术和结构。
- 应用程序API提供比底层数据库模型范围更广的数据模型。
- 一个问题是分析客户可能需要专门为他们创建的API才能以有效的方式获取重要数据。如果这对应用程序开发团队不重要,可能会出现令人沮丧的延迟和交接。ServiceCustodian方法可以帮助解决这个问题。
三 大数据分析过程
- 业务领导使用他们的战略目标来指示应该使用哪些指标进行分析。
6个月对于有效行动来说太长了
- 迅速采取行动具有竞争优势。
- 长周期时间会导致白费力气,因为在您开始尝试使用数据之前,很难理解哪些数据是重要的。
- 最重要的是,缓慢的循环时间会降低学习能力。每次通过该循环时,都会了解到哪些分析形式是有价值的,并且对下一步应该做什么有更深入的了解。学习的速度放大了整个循环中速度的优势。
因此,需要一种具有快速周期的敏捷方法
- 缩小每个周期的范围,以便可以快速运行整个周期。
- 使用一个周期的结果来决定下一个周期要做什么。
一个敏捷分析的例子
首先建立一个高层次的业务目标:我们如何识别即将离开的高价值客户并激励他们留下来?
接下来,选择目标的一个小而简单的方面作为分析起点: 离开的客户有哪些共同特征?
离开的顾客有哪些购物行为?
与业务利益相关者一起验证结果的有用性和可操作性,并选择另一个方面进行探索。
使敏捷分析方法发挥作用的一些指南
- 构建小团队,一次只专注于一个方面。
- 不要试图构建一个宏大的分析平台,而是解决特定问题并收获一个平台。
- 利用轻量级的工具,可以根据需要逐渐建立能力。
- 将分析操作视为一个敏捷软件开发项目,遵循敏捷应用程序开发的常规原则。
一项针对美国3,141个县的肾癌发病率的研究揭示了一个显着的模式。肾癌发病率最低的县大多是农村,人口稀少,位于中西部、南部和西部的传统共和党州。你怎么看这个?
难道是因为...
- 共和党统治?
- 农村空气和环境干净吗?
现在考虑肾癌发病率最高的县。这些境况不佳的县往往大多是农村、人口稀少,并且位于中西部、南部和西部的传统共和党州。
这是由于小数定律
- 农村人口少
- 人口少是样本量小
- 较小的样本量倾向于极端
对这种结果的解释就像张三和李四各自从罐子里抽出彩球。每个罐子里装有相等数量的红球和白球。张三抽了四个球,李四抽了七个。就概率而言,张三会比李四看到更多的所有相同颜色球的平局(8倍)。
这是统计数据进行错误直觉推理的一个例子
- 人们通常会错误地将原因归因于偶然事件。
- 这种在随机中看到模式的倾向可以通过多种方式来欺骗我们。
- 小数定律是概率错觉的现象的众多例子之一
- 就像光学错觉混淆了眼睛一样,概率错觉混淆了我们的推理。
- 随着我们更多地使用数据,这个问题可能会变得更加普遍,因为有太多人患有概率文盲。事实上,即使是科学家和数学家也经常被这些错觉所愚弄。
我们有责任对自己和用户进行概率错觉教育
如果我们要构建工具来让人们挖掘大数据中的意义,我们有责任确保人们发现的信息不仅仅是统计噪声。
自我教育
我们需要确保更好地掌握概率和统计数据——至少足以提醒我们可能出现的问题。
结合统计技能
参与分析的团队需要具有统计学背景的人员,他们具有区分信号和噪声的经验和知识。
教育用户
我们必须通过帮助客户和用户理解数字的实际意义来确保客户和用户不是很可能是文盲。
数据科学家是新的热门职位
“数据科学家”很快将成为我们行业中最被夸大的职位。很多人会把它附加到他们的简历中,以期获得更好的职位
但尽管大肆宣传,还是有一套真正的技能:
- 探索问题并将其表述为可以用统计数据检验的假设的能力。
- 业务知识、咨询和协作技能。
- 了解机器学习技术。
- 编程能力足以实现他们正在使用的各种模型。
尽管大多数数据科学家会很乐意使用专门的工具,但这不仅仅是知道如何使用R语言。了解何时使用模型通常比能够使用它们更重要,如何避免概率错觉和过度拟合也很重要。
可视化在将数据转化为洞察力方面发挥着关键作用
- 很难看出原始数据发生了什么。
- 良好的可视化应该侧重于数据如何告知分析目标。
- 现代可视化工具可以使用交互性和动态性来探索和挖掘细节,同时保留整体视图。
- 了解可视化的一个好方法是探索不同方法的示例。
- 这个“元素周期表”是一个交互式显示,是使用不同可视化技术的重要灵感来源。
- d3.js是构建可视化的重要工具。
- d3.js是一个允许从javascript数据绑定到DOM元素的框架,对于创建动态svg可视化特别有价值。
- 上述照片展示了许多使用d3构建的有趣的可视化效果,并为可视化和实现技术提供了灵感。
探索可能性
- 令人印象深刻的可视化可能非常有价值,值得为创建它们付出相当大的努力。
- 但是不要纠结于复杂性,通常可以毫不费力地构建有用的可视化效果。
- 可以尝试使用迷你图为值提供历史背景。
- 在没有任何先验知识的情况下,花了几个小时搜索有用的显示(使用jquerysparklines)。
- 只有在构建迷你图后,才会意识到不需要其他一些数据显示。
四 大数据是大炒作吗
- 炒作层出不穷,但硝烟背后却是大火。
- 数据呈现给我们的方式发生了重大变化,这些变化导致了行业响应的适当重大行动。
- 许多权威人士,都会对未来几年的确切变化做出错误的预测。然而,我相信会有重大变化。
- 与任何技术计划一样,大数据工作需要由业务驱动。但是在这个平台上探索的主题意味着与技术团队的密切合作比平时更为重要。
- 这些表明了公司发展的能力和个人获得的技能。
任何软件项目都应该融入“大数据”思想
- 许多软件项目可以做更多的工作来有效地公开他们的数据。
- 寻找更多可以有效提取数据的地方
- 与客户和用户密切合作,探索哪些数据有用。
- 小心避免概率错觉
- 尝试可视化,从可以快速构建的简单可视化开始
- 所有这一切都需要创新思维,而创新思维通常来自在自适应过程中运作的小型多元化团队。