大数据技术平台建设实践

[2015年技术沙龙分享]

因工作内容需要,在2010年初公司规划要建设大数据基础平台,以解决公司多业务多系统支持的混乱局面。因为有之前SNS平台的建设经验,深知一个“平台”的建设不是一个简单的项目,需要投入大量的人力、时间、资源,需要有良好的架构设计能力以及大数据技术的实践储备,是一个持续建设的过程,同时对一个中小企业而言,面临着“大”数据的处理挑战。

设立平台目标

  • 一平台支持多应用
  • 提高运营部门服务客户问题的及时性
  • 降低系统的维护成本
  • 提高公司技术的复用性
  • 建立企业的核心竞争力

需要了解的知识

  • 大数据理论和技术体系(中小企业还较少用)
  • 云计算(2010年时阿里云也刚起步)
众多的技术名词

需要回答的问题

  • 如何获取种类繁多的数据?
  • 如何将非结构化数据转为结构化数据?
  • 如何将多样的数据格式一致化?
  • 如何高效、安全的存储巨大的数据?
  • 如何高效的分析处理巨大的数据?
  • 如何准确的提供给客户有价值的数据?
  • 要做到以上,如何使企业的成本最低?

平台的业务定义

一句话定义
互联网信息采集挖掘服务
扩展定义
互联网在线智能计算平台,面向公司内部产品研发和运营团队、第三方应用开发商及独立开发者,在研发政府、媒体、企业、财经、网站等领域的应用时,提供信息、情报、知识、行为、运算等方面的关键支持;

平台的建设

平台整体分为4大部分,同时也成立了4个团队,数据采集、数据存储、数据挖掘、数据接口。

架构设计
平台逻辑架构图
系统层次
数据流处理面临的几次问题
平台1.0信息架构

问题1: 实时数据在处理过程有延时,时效性不高,业务要求数据处理的及时性在秒级响应
问题2:批处理数据方式效率不高,mfs本质还是文件遍历的方式,无法并行计算
问题3:关联数据的存储和分析

平台2.0信息架构

主要做了两个改动:

(1)加入分布式的消息中间件MQ
实时系统原来的轮循模式改为发布订阅模式
解耦流式数据处理和 批数据处理模式
(2)引入分布式存储以及并行计算Hadoop生态体系
存储规模增大,写入速度更高
批处理采用MapReduce并行计算方式大幅提升历史数据效率

引入的大数据开源技术

随着业界的技术发展以及公司业务的持续性发展,大数据平台也逐步引入了更多的开源技术体系


平台引入的开源技术体系

一点建议和思考

(1)技术方面

  • 多向业界学习,扩展自己的视野;
  • 了解行业动态,以及技术发展趋势;
  • 借鉴业界成熟的技术思想,不闭门造车。

(2)业务方面

  • 手中有数,心中少术,甜蜜的烦恼,我们应合理的利用数据;
  • 项目到服务模式的改变,应重视运营和运维,系统应尽量绿色和自动化,减少肉搏;
  • 以业务驱动技术,不盲目追随,减少成本的投入。

后续备注

大数据平台的建设需要成熟的技术团队和公司大量成本的投入,在平台的建设过程中从业务发展、成本投入、技术方案上需要综合考虑,建议在有强烈的业务驱动力下再去投入,公司在平台的建设过程遇中到的各种技术问题很多,包括文中设计的整体架构随着业务的发展仍然面临着新的问题,后续再逐步分享。

你可能感兴趣的:(大数据技术平台建设实践)