阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

  • 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:186467
用户头像

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

关注

评论 2 条评论

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

Go 实现 WebSockets:1.什么是 WebSockets

宇宙之一粟

Go 4月月更

网络安全之红蓝对抗实战

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

MariaDB 的自增字段 AUTO_INCREMENT 字段

HoneyMoose

哈希值游戏DAPP开发|区块链哈希值竞猜游戏开发

薇電13242772558

区块链 哈希值

Linux驱动开发-编写NEC红外线协议解码驱动

DS小龙哥

4月月更

CRMEB多商户后台前端代码打包并更新打包的代码到项目里面教程详解

CRMEB

Go 学习笔记——Only For

为自己带盐

Go 4月月更

模块2作业

KennyQ

全链路压测(九):容量评估和容量规划

老张

性能测试 全链路压测 稳定性保障

浅析基于Linux下的调度类分析(代码演示)

简说Linux内核

内存管理 Linux Kenel Linux内核 进程管理 嵌入式开发

基于 HTML+CSS+JS 的纸牌记忆游戏

海拥(haiyong.site)

html 游戏 4月月更

关于数据湖几个问题详细剖析

五分钟学大数据

数据湖 4月月更

Spring定义BeanDefinition

IT巅峰技术

crmeb Java 项目打包可运行jar文件详细教程

CRMEB

订单管理系统(OMS)搭建实战 - 低代码拖拽定制订单管理系统

蒋川

低代码 低代码开发 低代码平台 订单系统 订单管理系统

前端食堂技术周刊第 32 期:2022 年 3 月 TC39 会议、Rome Formatter、Node 内置 Test Runner

童欧巴

JavaScript 程序员 前端 web前端

音视频&流媒体的原理以及基础入门知识

玩转音视频技术

Linux SRS 音视频开发 流媒体开发

架构实战营 第 6 期 模块二课后作业

火钳刘明

#架构实战营 「架构实战营」

在终端中使用 GitHub Personal Access Token 访问仓库

信号量

架构师作业2

小虾米

架构师实战营

Java 初始化 List 的几种方法

HoneyMoose

手写实现分布式锁

Linux服务器开发

分布式锁 协程 定时器 后端开发 Linux服务器开发

微服务分布式事务处理

俞凡

架构 微服务

自己动手写Docker系列 -- 5.3实现logs命令查看容器日志

golang Docker

Tomcat:应用加载原理分析

IT巅峰技术

Tomccat

C/C++程序员黄金方向-音视频基础知识和ffmpeg编译

玩转音视频技术

HLS SRS 音视频开发 流媒体开发 C/C++程序员

对话核心开发者,波卡的EVM+最新技术分享活动回顾

One Block Community

区块链 Substrate EVM 波卡

LotusDB 设计与实现—1 基本概念

roseduan

Go 数据库 存储

一文读懂Linux内核进程调度原理

简说Linux内核

内存管理 Linux内核 进程管理 驱动开发 嵌入式开发

设置 Jupyter Notebook 主题

信号量

Python Jupyter Notebook notebook 主题 科学计算

Substrate Builders Program | 了解波卡生态云计算平台与最先进的查询节点框架

One Block Community

区块链 Substrate 波卡

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