【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

百度技术沙龙第 20 期回顾:如何设计优良的日志分析系统(含资料下载)

  • 2011-11-20
  • 本文字数:2903 字

    阅读完需:约 10 分钟

在 11 月 19 日由百度主办、InfoQ 策划组织实施的第 20 期百度技术沙龙活动上,来自百度基础架构部资深工程师陈晓鸣、一淘网数据部高级技术专家张茂森分别分享了各自在日志分析和数据统计领域所取得的成果及经验,话题涉及百度海量日志分析架构及处理经验分享,以及淘宝量子统计架构设计中的核心点等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。

主题一:百度海量日志分析架构及处理经验分享演讲稿下载

来自百度基础架构部的陈晓鸣第一个为大家分享,分别从日志分析基本过程、百度日志分析成长历程、深入 LSP 平台和深入 DISQL 语言等几个部分为参会者进行了讲述。日志可帮助我们更加清晰地了解用户(地域来源、跳转来源、所使用的终端等)和了解自己(访问量、易用性、可用性等)。日志分析的基本过程主要分为四个阶段:

  • 线上(提取与处理)
  • 预处理(解析与过滤)
  • 计算(预定义计算、Ad hoc 查询)
  • 使用(报表、图表以及回馈线上等)

接下来,陈晓鸣介绍了百度日志分析的成长历程,还分别从平台架构、平台 UI 以及三种编辑模式(简单模式、DQuery 模式、复杂模式)等角度对 LSP 平台进行了讨论。 陈晓鸣重点讲述了 DISQL 部分,他提到 DISQL 具有以下几个特点:

  • 用 PHP 表达的类 SQL 逻辑 (非常简约)
    • 封装所有 SQL 算子的 M/R 分布式实现:分组、表连接、行列过滤、集合操作、输入输出格式转换
  • 通过连续函数调用表达 DAG 数据流
    • 自动翻译为一轮或多轮 MapReduce
    • 也可翻译为单机计算或数据流图
  • 用逻辑顺序而非 SQL 顺序表达逻辑
  • 支持 PHP 自定义函数(简洁)
  • 支持 C++ 自定义函数(同样简洁 + 高效)和 C-Runtime NEW!
    • 全自动高效内存管理 (RAII + 内存池)
    • 廉价对象复制(Copy On Write)
    • 字段操作翻译为数组操作,无字典查找 (schema 推导)
    • C++ 的性能,PHP 的开发代价!

处理阶段主要可分为前端语言处理、中间语言翻译和运行时这三个阶段,其中中间语言处理主要负责对数据流图做多次等价交换,其中涉及到正规化、算子替换、优化、阶段划分、Schema 推导和字段偏移量推导以及代码生成这几个步骤。

最后陈晓鸣对演讲进行了总结并回答了现场观众的提问,同时还为下月在 Hadoop in China 大会中的演讲进行了预告,届时,他将对 DISQL2.0 方面的话题进行演讲。

主题二:淘宝量子统计架构设计中的核心点演讲稿下载

一淘网张茂森(花名张中)第二个为大家分享,演讲主要涵盖量子统计面临的挑战、量子统计架构设计以及量子统计的技术研究方向这几部分。张中提到,量子统计主要面临的挑战有:

  • 成本
  • 高并发数据分析网站的 C10K 问题
  • 关系型数据库和实时数据计算结果的异构融合
  • 复杂的数据查询接口逻辑和开发效率、查询效率、和正确性
  • 分布式计算和任务管理

从数据的角度来看,实时计算处理数据量在 3T/ 日,离线分布式计算处理超过 20T/ 日,实时结果请求 1700W/ 日,服务超过百万的淘宝卖家。

在量子数据中间层,其核心是由 Nginx 和量子贡献的扩展模块组成,技术核心点主要涉及非阻塞缓存、非阻塞数据库访问、实时引擎访问接口和单元测试。异构数据的融合通过 LZSQL 来实现,Lua 则作为粘合剂主要解决非阻塞程序编写困难,以及提升数据二次处理能力。

此外,张中还为大家分享了实时流计算框架 SuperMario,实时计算、查询引擎,离线分布式计算和任务调度管理以及数据分析网站的运维等话题。最后,张中提到了量子的技术研究方向:

  • 多维数据分析
    • 将昂贵的数据分析技术分享给更多的用户
    • 实时滑动窗口的多维分析
    • 海量数据的多维分析
  • 数据可视化
    • 教育和培养用户解读数据
    • 更直观的展现数据的价值
  • NoSQL 产品在实时计算中的应用
    • 解决 K-V 服务扩展性的难题
    • 解决数据实时转换的难题
    • 量子和 OceanBase 的合作

Open Space(开放式讨论环节)

和以往的环节一样,​为了让参会者能够有更多的时间进行相互的交流,本次活动依然设置了 Open ​Space(开放式讨论)环节。除了讲师百度​陈晓鸣、一淘网张中外,张俊、江畅、姚海涛和喻先兵也参与了小组讨论。在 Open Space 的总结环节,几位话题小组长​分别对讨论的内容进行了总结:

陈晓鸣分享了“百度海量日志分析技术”的话题,继续讨论了 LSP 平台及 DISQL 在实现上的一些细节,对相应的技术点做了解答。

张中分享了“开源数据库”的话题,讨论了实时计算、数据仓库和多维数据分析相关的问题,针对大家比较关注的,如何从业务层面让数据汇总的更快、计算的更快、如何让系统运行地更稳定等问题进行了讨论。

张俊分享了“推荐系统”的话题,主要围绕推荐系统如何去设计,如何去运算和评价等问题进行了讨论。

江畅分享了“数据开发”的话题,分享了各自在自动化运维中的经验以及如何利用自动化工具来实现更新。

姚海涛分享了“基于 Twitter Storm 的实时计算”的话题,讨论了基于 Twitter Storm 构建实时计算系统时所遇到的问题及相关的经验分享,就具体的分布式存储、多维度数据等问题进行了探讨。

特别感谢从广州专程来参加本次活动的喻先兵,他来自于多玩游戏,本次还在 OpenSpace 环节与大家一起分享了“分布式存储与计算”的话题。

会后,一些参会者也通过新浪微博分享了他们的参会感受:​​

@kersus :在#百度技术沙龙#中,和 @math1141 一起过来听日志分析技术。下午一点四十五到居然就没位置了,人山人海,IT 果然是劳动力密集型行业啊。

@许杨毅:今天的感想就是,一淘和百度在利用开源技术和自我创新实现 ETL 这类经典概念,同时实时流式计算越来越形成自己的技术特征和多竞态的技术形态,storm 只是一个样本,互联网技术圈的人们最为充满活力所言非虚。今天的技术沙龙百度和淘宝的朋友 share 了两条泾渭分明的技术路线,左边是 HCE 和 C++, 右边是 JAVA 和 SuperMario,淘宝的实时 streaming-computeing,关注 @陈晓鸣在百度 很久了,但是 @maosen 的确是第一次见,技术无优劣,适应有侧重,一个是私有云,一个是公有服务,数据分析是个经典的话题,若有经常的线下沙龙则更加好,期待能形成组织和团体,一淘利用 JS/ajax 卸载服务端数据分析逻辑和展现体现了很好的成本意识,利用 LUA 作为粘合剂搭建服务平台也是有益的内部工作;百度则通过 DISQL 层来为数据分析提供内部平台化服务。

@haitao_yao #百度技术沙龙# 技术实力还有很大提升的余地,看到差距,同时也看到方向。

@张乙宁#百度技术沙龙# 一淘的分享:运维的压力会是制约一个数据团队发展的重要因素。可惜国内互联网公司基本都不重视。作为一个运维工程师,真是悲哀。

@帝都小肥羊 @maosen 今天的技术沙龙讲的很给力啊,清楚的描述了整个技术架构体系,赞!要是时间多点,各个模块就能讲的更细致,就更完美了。另外, @breezelark 你又被提到啦,堪比专业 DBA 的美女前端。

@叫我戴夫:昨天技术沙龙,百度的一个人说他们编了一个叫 DISQL 的编译器做 log 的分析和提取,一淘的人说他们用 Hive,我想这就是做 C 和做 java 的人做事风格的差异吧。c 总是要把东西做的复杂,java 总是朝着偷懒的方向走。不管怎样,对于还停留在 cron awk 的我,真的还有很长的路要走。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 ** @百度技术沙龙,或者加入百度技术沙龙微群 **,InfoQ 上也总结了过往 19 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览阅读

2011-11-20 19:278514
用户头像

发布了 156 篇内容, 共 49.6 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

VUE v-for 循环的 2 个使用

HoneyMoose

AQS 条件队列机制源码分享

new life

AQS

Spring @PostMapping 能在 URL 中带有参数吗

HoneyMoose

LeetCode-164. 最大间距(Java)

bug菌

9月日更 Leet Code 9月月更

在线编码、格式转换

人生如梦

React 在线格式化 在线编码 转码工具

如何刻意练习-中秋读书随笔

刘旭东

刻意练习

redis 作为缓存时存在的问题

想要飞的猪

redis 淘汰策略 redis缓存过期

算法基础(一)| 快速排序和归并排序详解

timerring

算法 9月月更

Python 教程之变量(3)—— 全局变量和局部变量

海拥(haiyong.site)

Python 9月月更

【Nacos云原生】阅读源码第一步,本地启动Nacos

石臻臻的杂货铺

云原生 nacos 9月月更

AQS 阻塞队列机制源码分享

new life

AQS

2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”, 并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。 我们最多能将数组分成

福大大架构师每日一题

算法 rust 福大大

【C语言深度剖析】深入理解字符数组和字符串数组

Albert Edison

C语言 9月月更 strlen 字符数组 字符串数组

【C语言】字符函数&字符串函数&内存函数(下)[进阶篇_复习专用]

Dream-Y.ocean

c c++ 9月月更

Python 教程之变量(2)—— Python中整数的最大可能值是多少?

海拥(haiyong.site)

Python 9月月更

架构师的十八般武艺:架构边界

agnostic

架构边界

B-Tree索引

急需上岸的小谢

9月月更

DevOps实践中的“道法术器”

阿泽🧸

DevOps 9月月更

【JavaWeb】Filter系列——过滤器有什么用,如何编写?Filter过滤器的设计模式

胖虎不秃头

java; 过滤器 9月月更

5分钟教你如何利用华为云IoT进行物联网设备上云

wljslmz

物联网 IoT 华为云 9月月更

关于 SAP UI5 所有控件的共同祖先 - sap.ui.base.ManagedObject

Jerry Wang

SAP Fiori SAP UI5 ui5 9月月更

为什么需要微服务

穿过生命散发芬芳

微服务 9月月更

Moment.js 如何对时间进行比较获得不同的天数

HoneyMoose

VUE v-for 数据引用

HoneyMoose

ATDD的小妙用

Bruce Talk

敏捷开发 随笔 Agile

许世伟老师架构课笔记分享

BeyondLife

架构师 需求设计

TCP/IP参考模型

StackOverflow

编程 计算机网络 9月月更

开始思考吧

吴京

学习 思考 思想

【iOS逆向】某不知名App越狱检测

小陈

iOS逆向

力扣15 - 三数之和【奇妙的双指针】

Fire_Shield

双指针 LeetCode 9月月更

阻碍【程序员职业发展】的 5 个“绊脚石”

掘金安东尼

程序员 前端 9月月更

百度技术沙龙第20期回顾:如何设计优良的日志分析系统(含资料下载)_百度_贾国清_InfoQ精选文章