摘要:100%自主研发TB级数据分析平台如何实现?某公司行为感知系统核心技术分享!
l 超过一万三千台设备在线运行; l 平台内部组件零故障; l 目前支持的用户业务数据中,最大能达到每日20亿条记录,数据容量达到48TB,总计1200亿条原始记录,超过2000亿条视图记录; l 每间隔5分钟同步更新超过50个数据仓库,视图总计50亿条记录; l 统计查询视图做到秒级返回。
这就是某公司上网行为管理最新推出的行为感知系统,拥有强大的数据计算和服务能力。该系统基于上网行为管理的海量上网日志,对用户行为特征进行深度建模分析,帮助企业发现用户行为风险,一经问世就获得大量用户的好评。
那么这个被称为“上网行为管理又一颠覆式创新”的数据分析平台是如何实现高性能、高稳定性及可扩展能力的?它有哪些自主研发的核心技术?
整体架构
行为感知系统整体架构图
某公司行为感知系统整体基于MapReduce计算框架,通过机器学习、图计算等多种先进算法,对上网行为进行多种建模分析,最后通过直观的应用商店和数据分析应用展现出来。今天我们就来解密其中几个核心技术:MapReduce框架、MVCC机制、mdi索引等。
可扩展的大数据集:MapReduce框架
MapReduce是一个分布式并行计算的软件框架,它的核心能力是将一项大任务,分解成多个互不干扰的并行的小任务,利用多CPU和多机器的计算资源提升性能。
区别于传统数据库顺序执行的计算方式,MapReduce框架的优势是可弹性扩展的计算能力。行为感知系统基于MapReduce,但做了许多独特的创新: 1、 MapReduce组件化,针对不同业务可快速替换组件,改进和优化更容易; 2、 MapReduce组件对象常驻内存,用完即毁,无需状态维护; 3、 采用C/C++实现,消除语言级别性能问题。
实现并发一致性:MVCC机制
MVCC机制即多版本并发控制机制,要解决的核心问题是并发一致性问题。举例来说,如果有多个人要同时读、写数据库中同一条记录的时候,该如何保障数据的一致性?
传统的解决思路是加一把锁,让不同的用户串行化执行,一个人操作完下一个人才能才开始操作,但是这种方法无疑形成了一个瓶颈,无法满足大量并行计算的要求。
MVCC机制通过多版本数据镜像的方式,在保障数据一致性的前提下,满足海量并发访问的性能要求。行为感知系统不仅解决读写冲突问题,还具备如下特点: 1、数据修改/删除实现存储顺序化,避免随机更新,最大化利用磁盘IO性能; 2、数据按版本备份,并支持自动化恢复; 3、并行处理数据的批量更新。
毫秒级查询:mdi索引
关系数据库的索引技术被吐槽多年。例如MYSQL的innodb引擎和myisam引擎的索引,实际上只能针对小数据量(百万级)起作用,如果数据上了千万级索引就基本是个负担。
更有甚者,一个表的索引字段一旦多起来不仅空间消耗大,影响建表速度,而且查询的执行计划有时还选择了最差路径,实在令人难以接受。
某公司独立研究并实现了一个多维索引引擎(mdi)。通过关键字全文索引、位图索引、行程索引几个维度的索引组合提升索引的构建和查询速度。在亿级别数据下的搜索性能也能达到毫秒级返回。
正是基于对用户需求的深刻洞察,才会有某公司行为感知系统的颠覆式创新。同时,行为感知系统通过不断推出不同场景的数据分析应用,比如泄密追踪分析、全网上网势态、校园网贷分析等,为用户持续挖掘数据价值,帮助组织洞悉行为风险,简化运维管理。
某公司智安全专注做实用的安全,能够帮助组织更有效地检测并阻止安全威胁,降低IT业务创新过程中的各种风险,为您的网络、数据和组织提供全面保护,让每个组织的安全建设更有效、更简单。
|