以前,日志是我们的命脉现在,日志是我们的责任
本文最初发布于Substack网站,经原作者Vicki Boykis授权由InfoQ中文站翻译并分享。
当我们收集太多数据时,会发生什么?
Confluent的联合创始人、Kafka的联合创始人Jay Kreps写道:日志是从一开始就有的。
日志只是按时间排序的一系列记录。它被配置为允许在末尾追加越来越多的记录,如下图所示:
日志记录了所有的事情。计算环境中有各种各样的日志:
其中最重要的是服务器日志,它可以跟踪访问互联网上的内容和应用的计算机。
当你的计算机访问一个网站时,托管该网站的服务器将从你的计算机获取并保存一系列详细信息,包括计算机访问了哪些资源(网页)、计算机访问这些资源的时间以及访问这些资源的计算机的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的开源日志流解决方案)来收集这些数据,并将其传输到各种系统中进行分析。每家公司都在处理日志: Uber 、 Airbnb 、 Netflix ,以及几乎每一家电子商务公司。
今天,收集最多日志的公司之所以能胜出是因为,从表面上看,研究这些日志,就像对待许多互联网犯罪一样,可以让他们了解用户在做什么,什么时候做,并调整网站让他们的用户做得更多的事情。完成更多的购买;完成更多的MOOC课程;将免费用户转换为付费用户;想办法让更多的用户点赞;等等。然后,这些公司可以就他们为收集这些日志而构建的所有整洁的数据工程平台,以及他们能够在这些平台上进行分析的数据科学,写一些不错的博文,从而使他们的平台提升15%(对于提升的定义非常宽泛)。
幕后真正的赢家是参与处理日志数据的公司。例如,Jay的公司Confluent为Kafka提供了强大的支持,Kafka是一款流处理解决方案,在过去五年里取得了巨大的成功。但还有数百家公司专门从事点击流处理工具链的每个组件。整个行业都是围绕着收集、存储和分析日志数据的需求而发展起来的。只要看看今年的数据景观图就知道了。
所有这一切(日志收集、数据科学、工具货币化)对于收集日志数据的公司和构建工具来收集日志数据的公司来说都进行得非常顺利,直到最近发生了一些事情。
首先,剑桥分析公司(Cambridge Analytica)的丑闻不知何故做出了不可思议的事情,至少在一定程度上改变了公众对Facebook的主流看法。这意味着媒体最近对这些科技巨头的负面报道越来越多,这反过来又导致了议员们的不满。例如,即使在两年前,看到任何人谈论拆分科技巨头的言论,都会令人难以置信,更不用说作为总统竞选平台的积极组成部分了。
第二就是,GDPR(General Data Protection Regulation,欧盟通用数据保护条例)出台了。在欧洲,这是一笔巨大的交易。 Google已经因为违反这一条例而被课以巨额罚款。规模较小的公司举步维艰。第三方广告和跟踪都被查封了。
在美国,除了往人们的收件箱里乱扔通知之外,GDPR并没有产生太大的影响。但是CCPA(California Consumer Privacy Act,加州消费者隐私法案)将会产生很大的影响。 CCPA是加州的隐私法案,将于明年一月份生效。
毫无疑问,这项法案是目前美国任何一个州颁布的最严格的隐私法案,赋予了消费者更多的权利来保护他们的私人数据。随着包括Google和Facebook (这两家公司最近都遭受了数据泄露)在内的各种大型技术巨头进驻加州,加州第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开始发挥作用,公司开始处理日志问题时,请注意这两个方面。