大数据介绍及规划
一、背景
1、定义
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合
————麦肯锡全球研究所
2、特点
① 种类多样
实际生产中面临的数据的种类和来源是多样化的,可能是结构化、半结构化及非结构化的。
扩展:例如我们聊天常用的文本、语音,发朋友圈的图像、视频,哪怕HTML页面也是数据的一种。
② 体量巨大
数据存量早已不单局限在GB
扩展:当下手机百GB很平常,电脑TB也很正常,仅我们目前从抓取的粗粒度、公开、环境相关数据已达到200GB+,做采集的小伙伴应该更清楚,涉及细粒度的实时数据体量会更大。
③ 快速增长
数据的快速增长带来了数据的时效性问题,同时要求快速处理,高速响应。
扩展:数据增长速度就不详细展开了,增长的背后更需要注意的是如何处理,例如XX提前说要爆料,微博担心数据压力过大,提前扩展宽带;发生热点事件后,你的电商推荐页面是否会及时调整?
④ 低价值密度
在海量的数据源中,数据质量无法得到保障,许多数据可能相互矛盾,或是不完整的。
扩展:例如我们抓取的空气质量数据可能就因为来源繁多,计算标准理解不一,这时就需通过合适的分析算法不断挖掘、统计、建立关系、比对优化,提高指数据的准确度和可信赖度。
3、生命周期主要节点
① 生产
随着手机与物联网的发展,各式传感器的普及,各类数据正在以难以想象的速度增长。
扩展:在直观感受中你的每一条动态、每一篇日志、每一笔消费、每一次搜索都会产生数据;同时背后客观事实里你的行进轨迹、(
App
、模块、页面)停留时间、每一次鼠标(手指)滑动的轨迹都是隐形的数据被存档日后使用。
② 存储
数据保存方式从纸质到电子,从光盘到硬盘到云端,无不体现着数据存储成本的降低,传输的便利性,同时意味着数据的长久保存。
扩展:医疗机构很早前畅想将人一生的体征数据都实时存档,任何一点异常都会提前发现诊断,针对个体可以辅助诊断、针对可能的大规模疾病提前预警。现在随着手环、手表各种体感设备的普及,这种畅想已经到来。
③ 使用
基础用法:提供基础数据检索,所见即所得。
常规用法:基于数据的统计、分析,得出相对标准数据,例如AQI、综合指数、年优良天数等。
高级用法:借助各类分析方法,完成数据清洗、挖掘、学习计算,实现规律总结、特征提取,例如文字识别、图片识别。
综合用法:跨时空、区域、类型进行数据整合利用,发现数据背后的价值,例如个性化推荐、用户画像、公共场合拥挤预测、智能物流。
扩展:当下我们主要处在常规用法的阶段,局部在探索高级用法。
④ 新的数据
使用过程中会产生新的过程数据、结果数据,周而复始,例如用户使用习惯,上述各类分析结果。
扩展:除去极少数情况删除,数据总会不断增加,可能在你手里,或者在为你服务的公司手里,就算短时间不知道怎么分析,极大的可能会留存,待技术成熟了再使用,类似尾矿库,毕竟存储成本极低。
4、现状
数据类别繁多且孤立
数据使用手段单一且价值认同感低
扩展:通过转发方式实现公用数据共用,局限性较大,后续更新也困难重重。
业务间、环节间相对割裂,基本没有关联分析。
二、大数据平台架构
1、采集层
网络爬虫、第三方接口、批量采集、实时采集
扩展:实现他方数据采集,我方数据壁垒打通。
2、存储层
MongoDB
集群部署、Sql Server
集群部署、HDFS
集群部署
扩展:实现数据存储安全、优化。
3、分析层
计算引擎pySpark
、深度学习TensorFlow
扩展:通过分布式计算引擎,实现高效数据清洗,扩展深度学习算法,实现数据综合分析。
4、应用层
数据服务:业务中台、数据中台
扩展:提供可拓展、快速响应的业务中台服务,例如新接入土壤数据源,快速接入、快速存档、快速形成服务、快速预览。
提供具有准确、可靠主线的数据中台,例如从时间、空间、对象上建立数据联系。
业务中台提供数据——>数据中台处理分析数据——>业务中台使用分析结果建立新的应用场景——>新的应用场景生成新的数据
数据可视化:大屏Portal
、地理信息Leaflet
、AMap
、baiduMap
、图表D3
、Echarts
、G2
、自定义组件、报表...
扩展:提供各种二次封装组件,开放二次开发接口。
5、后台管理
服务器管理、数据管理、作业管理、服务管理、数据安全
扩展:从硬件到数据库、到采集程序、分析程序、到数据服务、组件服务全访问保障。
三、实现步骤
1、 服务器 / 运行环境规划、搭建
Easy
模式:操作系统安装、对应软件、搭建数据库集群。
Normal
模式:熟悉服务器/操作系统使用、监控方法,具备反应性监控能力。
扩展:数据库、服务器出现的问题已经在前端体现出来,抱着解决问题的态度去监控排查原因、处理问题。
Hard
模式:实现可视化监控、前瞻性监控能力。
扩展:数据库、服务器出现的问题前往往有征兆,通过对征兆的分析预警,避免问题扩大。例如监控CPU、内存、磁盘、网络、GPU、数据库运行状态、操作执行效率。
# 涉及岗位
# 运维工程师 + 数据库工程师
2、 原始数据积累
Easy
模式: 现有抓取数据、抓取程序迁移,后续数据抓取、第三方数据对接。
Normal
模式:整合抓取、对接程序,实现采集预警,具备反应性监控能力。
扩展:能主动发现数据源,指定对应抓取策略
Hard
模式:实现“傻瓜”式统一采集程序。
扩展:便于后续非编码人员提供接入数据源
# 涉及岗位
# 研发工程师 + 产品设计
3、分布式数据计算
Easy
模式:按需完成数据清洗,掌握常规分析方法。
Normal
模式:掌握简单算法,关注计算性能,了解简单机器学习、深度学习方法。
Hard
模式:掌握常见机器学习、深度学习方法,适用场景,能根据需求改进完善模型。
# 涉及岗位
# 研发工程师 + 算法工程师 + 产品设计
4、服务、可视化
Easy
模式:实现数据中台服务、业务中台服务。
扩展:分解数据、业务,提炼公用数据,从数据上避免重新开发服务。
Normal
模式:实现安全度高的服务自由扩展,二次使用,实现基础可视化组件封装。
扩展:例如新抓取数据快速形成服务,数据与数据间快速组成新的业务场景服务。
例如封装基础常用组件,地图、图表、报表,保障整体产品一致性。
Hard
模式:实现高级可视化组件封装,提供完整二次开发文档、示例,支持跨平台、跨语言使用。
扩展:例如地图组件和图表组件结合形成新的组件,完整、不断更新的教程才能让大家更好的使用,更好的收集改进意见。
# 涉及岗位
# 研发工程师 + 产品设计
四、预期解决痛点
1、硬件提升
① 设备生命周期打造
扩展:例如设备从生产、测试、出厂、安装、调试、运行、维修、报废全过程跟踪,便于设备比对、优化,提高设备质量。
② 动态管控
扩展:通过多种数据比对分析,达到防止数据作假、提高数据质量、辅助运维、促进治污减排。
2、软件提升
① 降低开发工作量
扩展:通过统一数据服务降低各业务系统后台服务开发数量(工作量),通过数据可视化降低公用内容开发工作量。
② 公用数据唯一性
扩展:确保各业务系统使用同一份公用数据,统一维护。
③ 扩展分析方式、方法
扩展:建立跨业务系统分析可能性,降低分析人员数据来源混乱问题。
五、补充说明
1、关于产品
数据安全与隐私
扩展:敏感数据加密存储、抓取、清洗数据脱敏处理、对外服务强制要求访问许可。
服务使用记录
扩展:谁用了、通过什么形式用的、使用频率、用后有没有问题,提高从业人员数据敏感度,所见、所用、所思皆数据。
持续优化
扩展:大数据平台从来不是一蹴而就,也不是建完即止,需持续投入,不断分析优化,方可对内持续使用、对外具备竞争力。
2、关于团队
追求快,但更要稳
扩展:这里多说两句,首先不急,罗马不是一天建成的,规划拆分目标稳步前进;其次相信自己,大多数情况下团队比个人可靠,如果不是,则需要相互探讨、不断磨合、尝试调整;
我们作为一个小团队,欢迎大家以
任何形式
参与交流,作为一个部门,对内,技术没有壁垒。
3、关于个人
避免沦为调用工程师、调参工程师
扩展:想跑赢技术,只能主动去了解技术;想跑赢疲于应付项目,只能产品化;因为年轻,但求甚解。
六、最后
数据从来并不遥远,技术也不是瓶颈,缺的是有趣的想法