LinkedIn大数据平台深度解析(上)

我在六年前的一个令人兴奋的时刻加入到LinkedIn公司。从那个时候开始我们就破解单一的、集中式数据库的限制,并且启动到特殊的分布式系统套件的转换。这是一件令人兴奋的事情:我们构建、部署,而且直到今天仍然在运行的分布式图形数据库、分布式搜索后端、Hadoop安装以及第一代和第二代键值数据存储。

从这一切里我们体会到的最有益的事情是我们构建的许多东西的核心里都包含一个简单的理念:日志。有时候也称作预先写入日志或者提交日志或者事务日志,日志几乎在计算机产生的时候就存在,同时它还是许多分布式数据系统和">实时应用结构的核心。

不懂得日志,你就不可能完全懂得数据库,NoSQL存储,键值存储,复制,paxos,Hadoop,版本控制以及几乎所有的软件系统;然而大多数软件工程师对它们不是很熟悉。我愿意改变这种现状。在这篇博客文章里,我将带你浏览你必须了解的有关日志的所有的东西,包括日志是什么,如何在数据集成、实时处理和系统构建中使用日志等。

第一部分:日志是什么?

日志是一种简单的不能再简单的存储抽象。它是一个只能增加的,完全按照时间排序的一系列记录。日志看起来如下:

我们可以给日志的末尾添加记录,并且可以从左到右读取日志记录。每一条记录都指定了一个唯一的有一定顺序的日志记录编号。

日志记录的排序是由“时间”来确定的,这是因为位于左边的日志记录比位于右边的要早些。日志记录编号可以看作是这条日志 记录的“时间戳”。在一开始就把这种排序说成是按时间排序显得有点多余 ,不过 ,与任何一个具体的物理时钟相比,时间 属性是非常便于使用的属性。在我们运行多个分布式系统的时候,这个属性就显得非常重要。

对于这篇讨论的目标而言,日志记录的内容和格式不怎么重要。另外提醒一下,在完全耗尽存储空间的情况下,我们不可能 再给日志添加记录。稍后我们将会提到这个问题。

日志并不是完全不同于文件或者数据表的。文件是由一系列字节组成,表是由一系列记录组成,而日志实际上只是按照时间顺序存储记录的 一种数据表或者文件。

此时,你可能奇怪为什么要讨论这么简单的事情呢? 不同环境下的一个只可增加的有一定顺序的日志记录是怎样与数据系统关联起来的呢?答案是日志有其特定的应用目标:它记录了什么时间发生了什么事情。 而对分布式数据系统许多方面而言, 这才是问题的真正核心。

不过,在我们进行更加深入的讨论之前,让我先澄清有些让人混淆的概念。每个编程人员都熟悉另一种日志记录-应用使用syslog或者log4j可能写入到本地文件里的没有结构的错误信息或者追踪信息。为了区分开来,我们把这种情形的日志记录称为“应用日志记录”。应用日志记录是我在这儿所说的日志的一种低级的变种。最大的区别是:文本日志意味着主要用来方便人们阅读,而我所说明的“日志”或者“数据日志”的建立是方便程序访问。

(实际上,如果你对它进行深入的思考,那么人们读取某个机器上的日志这种理念有些不顺应时代潮流。当涉及到许多服务和服务器的时候,这种方法很快就变成一个难于管理的方式,而且为了认识多个机器的行为,日志的目标很快就变成查询和图形化这些行为的输入了-对多个机器的某些行为而言,文件里的英文形式的文本同这儿所描述的这种结构化的日志相比几乎就不适合了。)

数据库日志

我不知道日志概念起源于何处-可能它就像二进制搜索一样:发明者认为它太简单而不能当作一项发明。它早在IBM的系统R出现时候就出现了。数据库里的用法是在崩溃的时候用它来同步各种数据结构和索引。为了保证操作的原子性和持久性,在对数据库维护的所有各种数据结构做更改之前,数据库把即将修改的信息誊写到日志里。日志记录了发生了什么,而且其中的每个表或者索引都是一些数据结构或者索引的历史映射。由于日志是即刻永久化的,可以把它当作崩溃发生时用来恢复其他所有永久性结构的可信赖数据源。

随着时间的推移,日志的用途从实现ACID细节成长为数据库间复制数据的一种方法。利用日志的结果就是发生在数据库上的更改顺序与远端复制数据库上的更改顺序需要保持完全同步。

Oracle,MySQL 和PostgreSQL都包括用于给备用的复制数据库传输日志的日志传输协议。Oracle还把日志产品化为一个通用的数据订阅机制,这样非Oracle数据订阅用户就可以使用XStreams和GoldenGate订阅数据了,MySQL和PostgreSQL上的类似的实现则成为许多数据结构的关键组件。

正是由于这样的起源,机器可识别的日志的概念大部分都被局限在数据库内部。日志用做数据订阅的机制似乎是偶然出现的,不过要把这种 抽象用于支持所有类型的消息传输、数据流和实时数据处理是不切实际的。

(责任编辑:mengyishan)

时间: 2024-10-28 08:33:47

LinkedIn大数据平台深度解析(上)的相关文章

LinkedIn大数据平台深度解析(下)

第三部分:日志和实时流处理 到此为止,我只是描述从端到端数据复制的理想机制.但是在存储系统中搬运字节不是所要讲述内容的全部.最终我们发现日志是流的另一种说法,日志是流处理的核心. 但是,等等,什么是流处理呢? 如果你是http://www.aliyun.com/zixun/aggregation/16333.html">90年代晚期或者21世纪初数据库文化或者数据基础架构产品的爱好者,那么你就可能会把流处理与建创SQL引擎或者创建"箱子和箭头"接口用于事件驱动的处理等联

LinkedIn大数据专家深度解读日志的意义

文章讲的是LinkedIn大数据专家深度解读日志的意义,我在六年前的一个令人兴奋的时刻加入到LinkedIn公司.从那个时候开始我们就破解单一的.集中式数据库的限制,并且启动到特殊的分布式系统套件的转换.这是一件令人兴奋的事情:我们构建.部署,而且直到今天仍然在运行的分布式图形数据库.分布式搜索后端.Hadoop安装以及第一代和第二代键值数据存储. 从这一切里我们体会到的最有益的事情是我们构建的许多东西的核心里都包含一个简单的理念:日志.有时候也称作预先写入日志或者提交日志或者事务日志,日志几乎

支撑EB级规模的大数据平台深度揭秘

编者按: 4月20日,云栖大会走进深圳,由阿里云高级数据仓库专家陈鹏宇(花名:不老)分享的环节内容量巨大,引发现场用户关注.他分享的议题主要围绕阿里云数加平台,这一发布不久的大数据平台对很多人来说还比较陌生,但是这个平台的历史和其上所服务的众多业务,却是耳熟能详的,几个数字,瞬间抓住眼球:   双十一狂欢节,水立方实时直播,万亿级数据计算,3秒钟出结果 蚂蚁小贷利用大数据实现普惠金融,1秒钟放贷,全程自动化决策 菜鸟智能物流骨干网,货.人.车.仓智能调度,目标实现全国24小时送达 阿里集团99.

通信行业用统一大数据平台破解“多租户”

源于互联网的大数据技术,现如今已经深入到传统行业之中.各行各业大都在积极使用大数据推动数字化转型,基于每个行业的特点和信息化水平的不同,在大数据的应用上也各不相同,其中金融.电信.政府.交通行业领跑大数据应用. 某电信运营商的大数据应用在运营商中属于第一梯队,早在3.4年前就开始了大数据平台的建设.但随着业务带动数据量的增长,也产生了多租户的问题,所以在大数据平台二期建设上,其考虑通过统一架构来解决多租户问题. 运营商的多租户挑战 在大数据应用上可以分为三个阶段,第一,实验期,非核心业务的应用:

Mellanox智能网络助力美团点评深度学习和大数据平台

9月13日(北京)高性能计算.数据中心端到端互连方案提供商Mellanox今日宣布,国内最大的生活服务电商平台美团点评现已在其人工智能和大数据平台部署 Mellanox 端到端25GbE以太网络. 近来随着移动互联网的飞速发展,通过线上完成消费决策及交易,线下实际消费的O2O模式也吸引了越来越多的用户.作为国内最大的生活服务电商平台,美团点评已经为6亿注册用户.超450万合作商户提供各类生活娱乐相关的服务.美团点评通过对海量数据的挖掘及分析提供个性化的服务,更快满足用户需求;并借助美团云深度学习

美甲帮:玩转指甲上的大数据平台

11+大数据行业应用实践请见https://yq.aliyun.com/activity/156,同时这里还有流计算.机器学习.性能调优等技术实践.此外,通过Maxcompute及其配套产品,低廉的大数据分析仅需几步,详情访问https://www.aliyun.com/product/odps:更多精彩内容参见大数据频道:https://yq.aliyun.com/big-data . 美甲帮是牧云网络旗下一款专注美甲行业的社区型垂直电商APP,其核心业务包括美甲资讯.美甲行业认证.培训教学.

大数据的妙用?大数据才是史上最安全的“杀毒平台”!

科技与时俱进,网路犯罪.渗透.窃盗手法也不断精进翻新,特制的恶意软体可以轻松躲过侦测,进入企业盗取资讯如入无人之境,传统的安全软件工具顿时失去用武之地. 难道我们只能坐以待毙?当然不是.安全业者手中还握着一项打击网路安全犯罪的利器,那就是大数据(Big Data)! 根据Wiki,大数据在2009年开始成为网络热门用语,火红程度不输云端,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具处理,而此技术可在合理时间内达到撷取.管理.处理.并整理大量数据,更积极帮??助企业取得达成经营决策目的资

为什么选择这样的大数据平台架构?

当前BAT基本公开了其大数据平台架构,从网上也能查询到一些资料,关于大数据平台的各类技术介绍也不少,但在那个机制.那个环境.那个人才.那个薪酬体系下,对于传统企业,可借鉴的东西也是有限的. 技术最终为业务服务,没必要一定要追求先进性,各个企业应根据自己的实际情况去选择自己的技术路径. 与传统的更多从技术的角度来看待大数据平台架构的方式不同,笔者这次,更多的从业务的视角来谈谈关于大数据架构的理解,即更多的会问为什么要采用这个架构,到底能给业务带来多大价值,实践的最终结果是什么. 它不一定具有通用性

【阿里在线技术峰会】李金波:企业大数据平台仓库架构建设思路

本文根据阿里云高级技术专家李金波在首届阿里巴巴在线峰会的<企业大数据平台仓库架构建设思路>的分享整理而成.随着互联网规模不断的扩大,数据也在爆炸式地增长,各种结构化.半结构化.非结构化数据的产生,越来越多的企业开始在大数据平台下进行数据处理.分享中,李金波主要从总体思路.模型设计.数加架构.数据治理四个方面介绍了如何利用大数据平台的特性,构建更贴合大数据应用的数据仓库. 直播视频: (点击图片查看视频) 幻灯片下载:点此进入 以下为整理内容. 总体思路 随着互联网规模不断的扩大,数据也在爆炸式