NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

以前,日志是我们的命脉 现在,日志是我们的责任

  • 2019-10-18
  • 本文字数:3641 字

    阅读完需:约 12 分钟

以前,日志是我们的命脉 现在,日志是我们的责任

本文最初发布于 Substack 网站,经原作者 Vicki Boykis 授权由 InfoQ 中文站翻译并分享。


当我们收集太多数据时,会发生什么?


Confluent 的联合创始人、Kafka 的联合创始人 Jay Kreps 写道:日志是从一开始就有的。


日志只是按时间排序的一系列记录。它被配置为允许在末尾追加越来越多的记录,如下图所示:



日志记录了所有的事情。计算环境中有各种各样的日志


数据类型示例来源
点击流日志Web 服务器、路由器、代理服务器、广告服务器
应用日志本地日志文件、log4j、og4net、WebLogic、WebSphere, JBoss、.Net、PHP
系统日志路由器、交换机、网络设备
Windows 日志Windows 应用、安全和系统日志


其中最重要的是服务器日志,它可以跟踪访问互联网上的内容和应用的计算机。


当你的计算机访问一个网站时,托管该网站的服务器将从你的计算机获取并保存一系列详细信息,包括计算机访问了哪些资源(网页)、计算机访问这些资源的时间以及访问这些资源的计算机的 IP 地址。


这些日志的标准称为“普通日志格式”(Common Log Format),它们看起来像这样


64.242.88.10 - - [07/Mar/2004:16:05:49 -0800] "GET /twiki/bin/edit/Main/Double_bounce_sender?topicparent= HTTP/1.1" 401 12846
复制代码


64.242.88.10 - - [07/Mar/2004:16:06:51 -0800] "GET /twiki/bin/rdiff/TWiki/NewUserTemplate?rev1=1.3&rev2=1.2 HTTP/1.1" 200 4523
复制代码


64.242.88.10 - - [07/Mar/2004:16:10:02 -0800] "GET /mailman/listinfo/hsdivision HTTP/1.1" 200 6291
复制代码


这看起来可能并不是很多,是吧?但从这些日志中,你可以由此推断出访问这些资源的用户的概况,他们是如何浏览你的网站,将他们与特定的地理位置联系起来,等等。


这是用户跟踪日志的集合,称为“点击流数据”(Clickstream Data)。对于 Facebook 和 Netflix 这样面向消费者的互联网公司来说,点击流日志就是他们的命脉。早在 2010 年,Facebook 就开始收集这些数据,并使用 Flume(Hadoop 的开源日志流解决方案)来收集这些数据,并将其传输到各种系统中进行分析。每家公司都在处理日志:UberAirbnbNetflix,以及几乎每一家电子商务公司


今天,收集最多日志的公司之所以能胜出是因为,从表面上看,研究这些日志,就像对待许多互联网犯罪一样,可以让他们了解用户在做什么,什么时候做,并调整网站让他们的用户做得更多的事情。完成更多的购买;完成更多的 MOOC 课程;将免费用户转换为付费用户;想办法让更多的用户点赞;等等。然后,这些公司可以就他们为收集这些日志而构建的所有整洁的数据工程平台,以及他们能够在这些平台上进行分析的数据科学,写一些不错的博文,从而使他们的平台提升 15%(对于提升的定义非常宽泛)。


幕后真正的赢家是参与处理日志数据的公司。例如,Jay 的公司 Confluent 为 Kafka 提供了强大的支持,Kafka 是一款流处理解决方案,在过去五年里取得了巨大的成功。但还有数百家公司专门从事点击流处理工具链的每个组件。整个行业都是围绕着收集、存储和分析日志数据的需求而发展起来的。只要看看今年的数据景观图就知道了。



所有这一切(日志收集、数据科学、工具货币化)对于收集日志数据的公司和构建工具来收集日志数据的公司来说都进行得非常顺利,直到最近发生了一些事情。


首先,剑桥分析公司(Cambridge Analytica)的丑闻不知何故做出了不可思议的事情,至少在一定程度上改变了公众对 Facebook 的主流看法。这意味着媒体最近对这些科技巨头的负面报道越来越多,这反过来又导致了议员们的不满。例如,即使在两年前,看到任何人谈论拆分科技巨头的言论,都会令人难以置信,更不用说作为总统竞选平台的积极组成部分了


第二就是,GDPR(General Data Protection Regulation,欧盟通用数据保护条例)出台了。在欧洲,这是一笔巨大的交易Google 已经因为违反这一条例而被课以巨额罚款。规模较小的公司举步维艰。第三方广告和跟踪都被查封了


在美国,除了往人们的收件箱里乱扔通知之外,GDPR 并没有产生太大的影响。但是 CCPA(California Consumer Privacy Act,加州消费者隐私法案) 将会产生很大的影响。CCPA 是加州的隐私法案,将于明年一月份生效


毫无疑问,这项法案是目前美国任何一个州颁布的最严格的隐私法案,赋予了消费者更多的权利来保护他们的私人数据。随着包括 GoogleFacebook(这两家公司最近都遭受了数据泄露)在内的各种大型技术巨头进驻加州,加州第 375 号法案将对数据隐私产生深远的影响。加州第 375 号法案将于 2020 年 1 月 1 日全面生效。


届时,在加州运营的公司基本上必须要做到能够完全告知消费者他们正在收集的信息,并允许他们删除所有的数据来选择退出。这意味着要删除成千上万的日志,并找出如何重新构建日志收集系统的平台,以便能够删除数据。


CCPA 的天才之处在于,如果一家大公司在加州运营,那么它很可能也在美国其他所有州都有运营。而且,人们很难在州 / 司法管辖区一级上将混合的日志数据分离开来,这意味着要么公司将迁移总部离开加州,要么必须遵守 CCPA 对其所有数据更严格的规定。


日志是一件有趣的事情:一方面,它们非常有用。而另一方面,因为它们是按设计呈指数增长的,而且数量从来就没有减少过,它们似乎无处不在,就像碎屑一样,你就是无法摆脱。它们是一个巨大的麻烦,需要跟踪、存储、清理、与其他数据绑定,同样重要的是,为了数据科学目的,还需要样本。


CCPA 本身就给这个日志存储和分析系统带来了压力。


在我看来,我们将要看到的结果是,收集更多的日志并非好事一桩。你保存的日志越多,你必须删除的就越多。你必须为客户提供的服务也越多。对于 GDPR 所揭露的这类违规行为,责任就越大。


Maciej 是我最欣赏的网民之一,三年前,他在一次重要的数据会议 Strata 上的主题演讲中就预言到了这一点。


自从我第一次听到这个演讲之后,我就一直在引用它,但是它变得越来越重要了。它被称为“数据困扰”(Haunted by Data),他说:


关于大数据的术语出人意料地富有田园风格。数据通过流进入数据湖,否则将被记录在日志中。数据竖井(Data Silo)位于旧的数据仓库旁边,那里曾是祖父曾经用来存放数据的地方。

在它上面飘着的是云。然后这些东西可能会流入数字海洋。

我想挑战这幅图所描绘的情景,请你们不要把数据想象成一种原始资源,而是一种废物,一堆我们不知道该如何处理的具有放射性、有毒的污泥。


这是真的。公司和工程师们仍然在讨论收集和分析日志的复杂方法,而 Hacker News 则充斥着大量关于分布式流数据收集和分析系统的讨论。但是,主流媒体开始谈论其他事情:日志收集是如何影响我们的社会,以及如何拆分收集日志的科技公司。


现在,日志还不是一种责任,但很快就会成为责任。正是这一点,比任何复杂的流架构都值得公司认真思考。


以我作为付费数据科学家的角度来看,这里真正非常大的问题是,这对数据科学意味着什么呢?迄今为止,数据科学的爆炸式发展都是基于预测日志来了解用户行为的艺术。这是否意味着数据科学以及支持它的工具生态系统正在消失呢?


我倒不这么认为。但我认为在未来五到十年内,数据科学的发展将与前十年有着根本的不同。


如果说,前十年的数据科学都是关于收集和分析所有数据,那么后十年将是关于如何谨慎和有选择性的收集和分析数据。


我想在这里提到两个线索作为一个起点,并在未来的稿件中进一步探讨:采样的技巧,以及删除和模糊化用户数据的技巧。


首先要说的是采样。在 2000 年的一篇文章中,这篇文章令人惊叹,但被人低估了:Jakob Nielsen 在这篇文章中谈到了为什么只需五个用户来执行测试。乍一看,这似乎很疯狂。你怎么可能推断 Facebook 的 10 亿用户,以及他们的地理、经济和种族多样性,会在这个网站上做什么呢?我不知道只需五个用户就够了,但这篇文章背后的指导原则是,一旦你超过一定数量的用户,你收集的数据就只是额外的噪音,这点是正确的。真正的挑战将是如何收集足够多的数据以达到统计上的有效性,而不是多收集一个日志。


其次,删除和模糊化数据的能力将变得更加重要。我还没有看到任何关于如何正确配置系统以增量方式来删除数据的讨论。但这将变得非常重要,因为如果你从不收集数据,就永远不能放弃这些数据。Snapchat 的想法是正确的。我乐观地预计,未来将会出现更多临时数据收集工具。


实际上,我看到的更多的是关于差分隐私(Differential Privacy)的讨论,或者在使用用户数据进行统计分析时模糊化用户数据的做法,这些在 Google 已经开始出现了(Google 在这方面有很多经验)。差分隐私本质上就是在真实数据中加入白噪声,也就是虚假数据,直到真实数据在统计上仍然有效,但你却不能从中推断出任何一个真实用户。


译注:差分隐私,英文名为 differential privacy,顾名思义,保护的是数据源中一点微小的改动导致的隐私泄露问题。比如有一群人出去聚餐,那么其中某人是否是单身狗就属于差分隐私。


当 CCPA 开始发挥作用,公司开始处理日志问题时,请注意这两个方面。


作者介绍:


Vicki Boykis,美国费城的数据科学家。


原文链接:


Logs were our lifeblood. Now they’re our liability.


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-10-18 09:186469
用户头像

发布了 370 篇内容, 共 171.4 次阅读, 收获喜欢 940 次。

关注

评论 2 条评论

发布
用户头像
机翻?
2020-04-17 14:15
回复
用户头像
我朝应该出台类似的隐私法案,百度之流的无良公司太可恶了
2019-10-18 13:53
回复
没有更多了
发现更多内容

架构实战营 模块一:课后作业

Ahu

架构实战营

架构实战营模块1作业

竹林七贤

Android高级工程师进阶学习,架构师必备技能

欢喜学安卓

android 程序员 面试 移动开发

全网疯传!对标阿里P5-P9的知识体系学习路线及阿里内部Java核心知识手册。

Java架构之路

Java 程序员 架构 面试 编程语言

架构实战营第一次作业

CmHuang

架构实战营

2021 年推荐给 React 开发者的 Visual Studio Code 插件及配置

清秋

推荐 vscode 插件 React 4月日更

Substrate 合约书之合约综述

Patract

智能合约

Java多线程与并发系列从0到1全部合集!拿走不送~

钟奕礼

Java 编程 程序员 架构 面试

Java-GC概述

如何用 iMazing 备份和恢复辐射避难所

懒得勤快

手机 游戏 ios管理 imazing

什么是 NIO ?6000 字详解 NIO

hepingfly

Java nio IO流

架构实战营模块一总结

竹林七贤

架构实战营模块1作业

林子钧

作业 架构实战营 模块一

“区块链+”,应用积分营销

电微13828808271

区块链

架构实战营模块1作业

阿体

肝了一个月,终于完成了24万字的Java面试手册!

码农之家

Java 编程 程序员 互联网 面试

2021最新拼多多Java面试题(现场五面),全面涵盖Java高级到高并发

钟奕礼

Java 编程 程序员 架构 面试

“区块链+版权”应用保护者

电微13828808271

不是吧?不会多态,你还说自己会Java

学Java关注我

Java 编程 架构 程序人生 技术宅

手起刀落,连斩获阿里(四面)+字节(四面)+美团(三面)三家一线大厂Offer!

Java架构追梦

Java 架构 面试

架构实战

颜培攀

架构实战营

《iOS应用逆向与安全》

Thrash

读后感

独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless

Serverless Devs

阿里云 运维 云原生 #Serverless

翻译:《实用的Python编程》07_05_Decorated_methods

codists

Python

4月17日,HarmonyOS开发者日将于上海启幕

Geek_283163

华为

28次面试从未被拒,只因学了阿里P8大牛写的这份《Java技术成长笔记》

Java架构之路

Java 程序员 架构 面试 编程语言

模块一:课后作业

sN0wpeak

架构实战营

架构实战营-模块1-微信业务架构-学生系统架构备选方案

吴建中

这份阿里21年最新版Java面试手册简直无敌了,已经助我拿下五个大厂offer!

Java架构之路

Java 程序员 架构 面试 编程语言

2021互联网大厂面经最新分享:百度/阿里/蚂蚁(附答案解析)

比伯

Java 架构 面试 程序人生 技术宅

2021最新中高阶Android面试题总结,成功入职阿里

欢喜学安卓

android 程序员 面试 移动开发

以前,日志是我们的命脉 现在,日志是我们的责任_大数据_Vicki Boykis_InfoQ精选文章