大数据的“第一性原理”:一个数据工程师带你重新认识这个世界
前言:我想和你聊聊“数据”,但不是你以为的那种聊法
你好,我是一名从业10+年以上的数据工程师,今年也失业了,工作挺难找的,主要还是太卷了,既然失业了就有时间,就把我前几年想写的一些东西慢慢整理分享给大家,以下一切观点都是个人视角,也是期望大家能从我多年从业的视角上去认识数据和看待数据。文章不会有太多的技术性的东西,主要还是浅谈一下我对数据的认知和思考吧。
如果你点开这篇文章,大概率是因为你对“大数据”这个词感到好奇,但又觉得它有点玄乎。你可能听过Hadoop、Spark、Flink,听过数据湖、数据仓库,听过ETL、OLAP——然后一头雾水。
但今天,我不打算讲任何一个框架。我想先带你做一件更重要的事:换一个视角看世界、看数据。
让你能看懂,那些你每天视而不见的东西,其实都是数据。让你看懂,那个你以为的“大数据”和你我之间到底是什么关系。
这篇文章,主要讲我认为的数据定义,这是一个系列的文章(包含数据定义、采集、存储、计算、报表、使用等),感兴趣的话,可以先关注我,等待我后续的更新。
一、别急着想“大数据”,我们先看看你包里那包纸巾
我不想一上来就给你扔数据定义。定义是冰冷的,但数据是活的。
你现在可以环顾一下四周。你看到了什么?
你桌上可能有一包纸巾。纸巾的包装上写着 “原生木浆,三层加厚,130抽”。
但是请注意,当你看到“130抽”这三个字的时候,你就已经遇到了一个数据。
“130抽”是什么?它是一个数字。它告诉你这包纸巾里有多少张。它是一个数量。
你拿起手机,屏幕右上角显示 “上午10:28”。这又是什么?这也是一个数据。它告诉你时间。
你站起来走两步,心里大概有个感觉:“从这儿到门口大概5米。”这“5米”是什么?这是一个距离。
你看,你什么都还没做,只是看了几眼周围,就已经碰到了三个数据:数量、时间、距离。
数据,就在我们身边。它就是你描述这个世界时,用到的最基本的那些词。
二、你钱包里那张银行卡,是一个数据的“集合”
现在,你从自己口袋里掏出钱包,或者打开手机里的支付APP。
这时候你看到银行卡号了吗?那一长串数字——6222 02xx xxxx xxxx。
这是什么?这也是数据。它唯一地标识了你这张卡,让它和全世界所有其他银行卡区分开来。在数据库里,这个也叫主键(Primary Key)。
你看到卡面上的有效期了吗?11/27。这也是数据。它告诉你这张卡什么时候失效。
你看到背面那个三位数的安全码了吗?859。这更是数据。它是一个验证凭证。
一张小小的银行卡,上面就承载了至少三类完全不同作用的数据:身份标识(卡号)、时间期限(有效期)、安全密钥(安全码)。
你从这些看,数据不只是孤零零的数字。它们组合在一起,就能定义一个东西,描述一个东西,保护一个东西。
三、你手机里那张照片,比你想象的更“数据”
别放下手机。你再打开手机相册,随便点开一张照片。
你看到的是画面。而我看到的,是一堆密密麻麻的数据。
你点一下“详情”或者“属性”。你会看到什么?
-
拍摄时间:2025年10月2日,下午15:47
-
拍摄地点:秦皇岛市,北戴河区,老虎石公园(精确到经纬度)
-
设备型号:iPhone 15 Pro
-
光圈值:f/1.78
-
曝光时间:1/120秒
-
感光度:ISO 80
-
文件大小:3.2 MB
-
分辨率:4032 × 3024
你只是按了一下快门。但你的手机,在那一瞬间,手机就自动为你记录了至少几十条诸如此类的数据。
这些数据,有的你看得见(时间、地点),有的你看不见(光圈、感光度)。但它们都结结实实地“贴”在这张照片上,成为这张照片的一部分。在技术圈,我们管这些叫元数据(Metadata)——描述数据的数据。
如果没有这些数据呢?这张照片就只是一片模糊的记忆。你不知道是哪天拍的,不知道在哪拍的,甚至想不起来是用什么拍的。
数据,就是记忆的锚点。它把模糊的印象,变成了确定的记录。
四、数据的三张脸:结构化、半结构化、非结构化
好了,我们刚才看到了很多数据。纸巾上的数量,银行卡的卡号,照片的拍摄时间。它们都是数据,但它们是同一种数据吗?
不是。为了方便理解和处理,我们把数据分成了三大类。
4.1 第一类:表格里的“乖孩子”——结构化数据(Structured Data)
你想象一下公司前台让你填的那张访客登记表。
| 姓名 | 身份证号 | 访问事由 | 体温 |
|---|---|---|---|
| 张三 | 110101xxxx | 面试 | 36.5℃ |
这张表,就是最典型的结构化数据。
它的特点是什么?事先画好格子,有严格的Schema(模式定义)。 第一列叫“姓名”,类型是字符串;第二列叫“身份证号”,类型是定长字符串;第三列叫“体温”,类型是浮点数。每一行都是一条完整的记录,每一个格子里的内容,类型都是规定好的,不能乱来。
你的银行卡号、手机号、家庭住址、商品价格、库存数量——所有这些能严丝合缝塞进表格里的数据,都叫结构化数据。
这是数据世界里最“听话”、最好管理的一类。因为它规矩,所以计算机处理起来特别快,特别准。传统的关系型数据库(如MySQL、Oracle、PostgreSQL)主要就是为它设计的。
4.2 第二类:有标签但不那么规矩的“灵活派”——半结构化数据(Semi-structured Data)
你刷短视频时,APP后台会记录你的每一个动作。它记下来的东西,大概长这样(JSON格式):
{
"timestamp": "2025-10-02 15:47:32",
"event": "like",
"user_id": "84756201",
"video_id": "99234187",
"author_id": "123456",
"watch_duration": 45
}
你看这段记录。它也有“标签”(timestamp, event, user_id……),每个标签后面跟着一个值。但它不是一张严格的表格。
为什么?因为下一条记录可能是这样的:
{
"timestamp": "2025-10-02 15:48:05",
"event": "share",
"user_id": "84756201",
"video_id": "99234187",
"share_platform": "wechat",
"share_target": "filehelper"
}
这条记录多了两个字段(share_platform, share_target),上一条没有。
这类数据,叫半结构化数据。它介于表格和纯文本之间:有标签结构(自描述),但格式灵活,字段可多可少。日志文件、JSON、XML、HTML,都是这一类。
你今天在网上的一举一动——点击、滑动、点赞、评论、转发、搜索——几乎全部被记录成半结构化的日志数据。
4.3 第三类:完全没有格式的“内容本身”——非结构化数据(Unstructured Data)
你手机里的照片、你录的一段语音、你正在看的这段文字、你昨晚刷的那两个小时短视频。
它们有表格吗?没有。
有标签吗?没有。
有任何预设的结构吗?没有。
它们就是内容本身。这类数据叫非结构化数据。
照片是像素的集合,音频是波形的序列,视频是连续播放的图像帧,文字是自然语言的排列。
它们包含的信息极其丰富——一张照片胜过千言万语——但也因为没有结构,传统计算机很难直接“看懂”里面有什么。以前的技术,对这类数据只能“存”,不能“懂”。现在有了人工智能,机器才能慢慢学会从照片里认出猫、从音频里听出歌词、从文字里读出情绪。
这三类数据,组成了我们今天数字世界的全部。
-
结构化数据是你的“身份档案”——它记录你是谁。
-
半结构化数据是你的“行为日志”——它记录你做了什么。
-
非结构化数据是你的“生活印记”——它记录你看见了什么、听见了什么、说出了什么。
五、数据也会“变装”——它们之间怎么互相转换?
千万别以为,一个数据生来是什么样,就永远是什么样。数据是可以“变装”的。 从一种形态变成另一种形态,正是数据工程师每天在干的活儿。
我给你举几个生活里的例子,你一听就懂。
5.1 把“野孩子”变成“乖孩子”(非结构化 → 结构化)
你手机里有一张花的照片。照片本身是非结构化数据——就是一堆像素。
但你想在相册里快速找到“所有红色花的照片”。怎么找?
现在可以了。因为你的手机相册有一个功能,会自动识别照片里的内容,然后给你打上标签:“花”、“红色”、“户外”。
这个过程,就是把非结构化的照片,转换成了结构化的标签数据。
在你的相册数据库里,这张照片的背后,其实偷偷关联了一行你看不见的表格数据:
| 照片ID | 物体 | 颜色 | 场景 |
|---|---|---|---|
| IMG_4201 | 花 | 红色 | 户外 |
这样你搜“红花”,系统就能瞬间找到它。这个过程,技术上叫特征提取(Feature Extraction) 或信息抽取(Information Extraction)。
5.2 把“行为痕迹”汇总成“成绩单”(半结构化 → 结构化)
你每天刷短视频的每一条行为——点赞、评论、转发、完播——都被记录成一条条半结构化的日志(JSON)。
这些日志单看没什么意义,就是一条一条的流水账。
但到了年底,APP给你生成“年度报告”的时候,它做了什么?
它把这一年里,你所有的日志数据,汇总、统计、计算,最后变成了一张漂亮的“成绩单”:
-
你一共观看了 3847 个视频
-
总时长为 216 小时
-
你点赞最多的类别是 美食
-
你最活跃的时间段是 凌晨0点-2点
这张成绩单,就是结构化数据。每一行都是一个统计指标,清清楚楚。这个过程,我们称之为聚合计算(Aggregation) 或OLAP(联机分析处理)。
5.3 把“成绩单”画成“图表”(结构化 → 非结构化)
反过来也可以。
你公司的销售数据,存在数据库的表格里,全是结构化数据:日期、地区、产品、销售额,几十万行。
你把这些数据直接拿给老板看,老板会疯掉。他要的不是表格,他想要的是一张趋势图。
于是你把表格数据,导入一个画图工具,生成了一个折线图——销售额随时间的走势,一目了然。
这个折线图是什么?它是一张图片。图片,就是非结构化数据。
你把规整的表格(结构化),变成了直观的图像(非结构化)。因为人脑天生对图像更敏感,对数字不敏感。这个过程,叫数据可视化(Data Visualization)。
5.4 给照片贴上“标签”(非结构化 → 半结构化)
你拍了张照片,发到朋友圈。照片本身是非结构化数据。
但你发的时候,系统会自动给你这张照片加上一些你看不见的东西,作为元数据:
{
"timestamp": "2025-10-02 18:42",
"location": "北戴河老虎石公园",
"device": "iPhone 15 Pro",
"format": "HEIC",
"dimensions": "4032x3024"
}
这个过程,是机器自动完成的:把非结构化的内容(照片本身),加上半结构化的描述信息(元数据),方便以后检索和管理。
5.5 转换关系小结
| 转换方向 | 生活化例子 | 技术目的 |
|---|---|---|
| 非结构化 → 结构化 | 照片识别成标签 | 让机器能搜索、统计 |
| 半结构化 → 结构化 | 一年日志汇总成年度报告 | 从流水账提炼规律 |
| 结构化 → 非结构化 | 销售表格画成折线图 | 让人一眼看懂趋势 |
| 非结构化 → 半结构化 | 拍照自动记录时间地点 | 方便管理海量文件 |
数据不是死板的。它可以根据我们需要,在不同的形态之间来回变换。理解了这三种形态,再加上它们之间的转换关系,你就已经摸到了数据处理的门把手。
六、物理世界与信息世界:一朵花,凭什么也是数据?
好,刚才说的这些,都还停留在手机里、电脑里、网络里——我们姑且叫它“数字世界”。
那数字世界之外呢?物理世界里的一朵花、一棵树、一个人——它们和数据有关系吗?
有。而且关系很深。
我们前面说过,你可以描述一朵花:大红色,高40厘米,蔷薇科,花期5月。
这些描述,是关于花的数据。
但花本身呢?它的红色,是因为花瓣细胞里有花青素。花青素的分子结构,决定了它吸收什么光、反射什么光。那个被反射出来的、波长大约650纳米的红色光——颜色的信息,早就“编码”在分子里了。
它的高度,是由细胞的数量和排列方式决定的。尺寸的信息,早就“存储”在组织结构里了。
它的物种,是由DNA的碱基序列决定的。遗传的信息,早就“写死”在基因里了。
所以你看,花本身就是一套信息的物理载体。
我们人类做的事情,无非是用眼睛、用仪器,把这些早已存在于物理世界中的信息,读取出来,翻译成我们看得懂的符号(数字、文字、图片),然后存进硬盘、纸张、云端。
从这个角度来说:
-
物理世界是信息的载体。 一切信息,最初都“存”在物理实体里——石头的硬度、水的温度、花的光谱、人的基因。
-
数字世界是物理世界的投影。 我们通过观察和测量,把物理世界里的信息“映射”到数字世界里,形成数据。
你手机里的那张花的照片,不是花本身。它是花在数字世界里的一帧投影。
医院的CT片子,不是你身体的本身。它是你身体内部结构的一组投影。
你的年度听歌报告,不是你听歌时心情的本身。它是那些心情在播放行为上留下的投影。
数据,本质上是物理世界在信息世界里投下的影子。
七、那“大数据”又是什么?——当一个人的脚印,变成几十亿人的脚印
地基打好了。现在我们来盖第一层楼。
7.1 先看你自己一天的数据
你现在回想一下,从今天早上起床到现在,你大概:
-
看了几次手机?(每次解锁,一条日志)
-
刷了多少条短视频?(每一条的观看时长,一条日志)
-
点了几次赞?(每次点赞,一条日志)
-
发了多少条微信?(每条消息,一条日志)
-
走了多少步?(手机传感器持续记录)
-
去了哪些地方?(GPS持续记录)
-
付了几次款?(每次支付,一条交易记录)
保守估计,你一个普通人,平平常常的一天,产生的数据条数,在几百到一千条之间。
你没填任何表格,没写任何文档。你只是活着,就产生了几百上千条数据。
7.2 把镜头拉远:一座城市的一天
现在把镜头从你身上拉远。
你在北京。北京有2200万人。
今天早上7点到9点,这2200万人里,有几百万人和你一样,坐地铁、坐公交、打车、骑车去上班。
每一个人,刷一次公交卡,就是一条数据。
每一个人,扫一次共享单车,就是一条数据。
每一个人,打一次网约车,就是一条数据(包含起点、终点、时间、价格、路线)。
光是早高峰这两个小时,北京这座城市,就产生了几千万条交通数据。
这几百万人到了公司楼下,有多少人会在便利店买早餐?每一个人买一个包子、一杯豆浆,用手机付款——就是一条支付数据。这条数据包含:买了什么、花了多少钱、几点买的、在哪家店买的。
光是早餐这一件事,一座城市一天就是几百万条消费数据。
现在把交通数据、消费数据,再加上这些人刷短视频的数据、发微信的数据、搜东西的数据、拍照的数据……一座城市一天产生的数据,是一个天文数字。
7.3 再把镜头拉远:整个地球的一天
把镜头从北京拉远,拉到整个中国。14亿人。拉到整个地球。70亿人。
这70亿人里,每天有几十亿人在用手机。每天有几千亿条消息在发送。每天有几亿小时的视频被上传。每天有几十亿次搜索请求。每一秒钟,有几十万笔支付在发生。
这些,全都是数据。
你一个人的一天,是几百上千条数据——像一个小小的水滴。
一座城市的一天,是几亿几十亿条数据——像一条奔腾的河流。
整个地球的一天,是一个你无法想象的、浩瀚无边的数据海洋。
7.4 量变引起质变:大数据的四个“V”
好,现在关键的问题来了。
你记100笔账,这是数据。你记100万笔账,这是“大数据”吗?
不是。
100万笔账,只是“更多的数据”。它本质上还是数据,只是量大了一点。
真正的“大数据”,不是因为多,而是因为多到一定程度之后,它开始展现出一些全新的特性。这些特性,是“小数据”根本不具备的。
这些特性,业界通常用四个“V”来概括。我用大白话讲给你听:
第一个V:Volume(体量巨大)
大到你的电脑装不下。你一个人的数据,一部手机就能装下。一座城市一天的数据,需要一整栋楼装满硬盘的服务器(数据中心)才能装下。数据量级从GB、TB跃升到PB、EB。
第二个V:Velocity(速度极快)
快到必须在一秒之内处理完。你记账,一天记一次就够了。但双十一零点,一秒钟之内有几十万人同时点“购买”。系统必须在这一秒之内处理完,因为下一秒又有几十万笔涌进来。数据像洪水一样涌来,处理速度必须跟上。
第三个V:Variety(种类繁多)
杂到表格装不下。你记账,全是数字和文字,全是结构化的。但大数据不一样。一个短视频平台的数据里,有表格(用户信息),有日志(点击点赞),有照片(头像),有视频(内容本身),有音频(背景音乐)。结构化、半结构化、非结构化,全部混杂在一起。传统数据库根本处理不了。
第四个V:Value(价值密度低,但总价值高)
稀到像沙子里淘金。你记100笔账,每一笔都很有价值——因为一共就100笔,丢了哪一笔都不行。
但大数据不是。一个小时的监控视频,可能59分钟都是空无一人的走廊,只有1分钟拍到了有人经过。那59分钟几乎毫无价值,但你不能不存——因为你不知道“有价值的那一分钟”什么时候出现。
大数据的价值密度极低,但因为总量极大,所以淘出来的金子总量非常可观。一条用户的点击毫无意义,但几亿条点击放在一起,就能看出他的兴趣、习惯、消费意图——这就是巨大的商业价值。
7.5 所以,什么是大数据?
大数据,就是当数据大到、快到、杂到、稀到——用传统方法完全处理不了的时候,给它起的一个新名字。
它不是数据的简单相加。
一个人的脚印,是数据。几十亿人的脚印汇在一起,大到只能用全新的方法(分布式存储、分布式计算、流处理)去处理——这就叫大数据。
就像一滴水,是水。无数滴水汇成海洋——海洋就不是“更多的水”了,海洋有潮汐、有洋流、有生态系统。它是一个全新的东西。
量变,最终引起了质变。
八、大数据和我们,到底是什么关系?
好了,现在我们知道了数据是什么,也知道了大数据是什么。
但作为一个普通人,你可能最关心的是另一个问题:这玩意儿,和我有什么关系?
那我说一句,那就是关系大了。而且这是一种双向且不对等的关系。
8.1 第一面:你以为是你在刷手机,其实是手机在“刷”你
你刷短视频,APP推的都是你爱看的。你觉得“这APP真懂我”。
没错,这是大数据和你关系的第一面:它服务你,让你爽。
但另一面呢?在你刷视频的这十几分钟里,你看了多久、看完没有、点赞没有、转发没有、在哪个画面停顿了——全被记录了下来。
系统拿着这些数据,在给你画像(User Profiling)。
“女性,大概25到30岁,一线城市,喜欢美食但自己不做,对猫没有抵抗力,笑点低,深夜活跃。”
你什么都没说,但你的行为,全在告诉系统你是谁。
然后系统就用这张画像,继续给你推内容——让你停不下来,让你多看几条,让你在APP里待得更久。
你的时间,就是平台的广告库存。你停留的每一秒,都在为平台创造价值。
你以为你在免费使用APP,其实你是APP的“产品”。
8.2 第二面:它比你妈还懂你,但懂你是为了什么?
你有没有发现,刚和朋友聊完露营,打开购物APP,首页就给你推帐篷了?
它怎么知道的?
因为它看了你几千次的行为。你搜索过“露营”,你看过帐篷的详情页,你给露营视频点过赞,你收藏过装备清单。这些行为串在一起,就是一个清晰得可怕的信号:这个人,想买露营装备,购买意向极高。
然后系统再做一件事:找和你行为相似的那群人(协同过滤),他们还买了什么?防潮垫、露营灯、折叠椅。
于是,你看到了帐篷、防潮垫、露营灯、折叠椅。
它懂你,不是为了和你做朋友。它懂你,是为了让你更快地花钱,或者花更多的时间。
8.3 第三面:你在数字世界里的另一个身份
在现实世界里,你是一个活生生的人。有名字,有身份证号,有喜怒哀乐。
但在大数据的世界里,你还有另一个身份:一串ID,和一堆标签。
系统不认识“张三”。系统只认识 user_id = 847562。
这个847562号用户的标签是:男,28-32岁,新一线城市,消费力中等偏上,兴趣是科技数码、汽车、户外运动、宠物(猫),最近活跃在凌晨,最近搜露营装备和降噪耳机,价格敏感度中等。
这些标签,构成了你的数据身份(Data Identity)。
这个身份,决定了很多你看不见的东西:你打车时看到的价格(动态定价),你申请贷款时的利率(信用评分),你投简历时会不会被初筛算法推荐(简历解析)。
你在不知不觉中,已经被你的数据身份代表了。
8.4 第四面:你也可以“看”数据,甚至“用”数据
听到这里,你可能会觉得有点无力:合着我就是个被观察、被测量、被利用的对象呗?
是,也不全是。
大数据不是只属于大公司的武器。它也是一种资源,一种视角。
你去体检,拿到报告。你可以拿着指标去查参考范围,去对比去年的数值,去判断自己的健康趋势——你在用数据了解自己。
你看账单,发现外卖花了三千,吓了一跳,下个月开始有意识减少——你在用数据改变自己。
你想换工作,去查不同岗位的薪资分布和技能要求,发现数据分析能力很值钱,于是决定学一学——你在用数据指导自己。
问题只在于:你是只愿意做被数据看的人,还是也愿意做一个会看数据的人?
九、结语:从“被看”到“会看”
所以,大数据和你我之间,是一种双向但不对等的关系。
平台用你的数据来赚钱,效率比你用数据来薅羊毛高得多。系统对你的“懂”,远比你对自己的“懂”更系统、更持续。
但不对等,不意味着你只能躺平。
你可以选择无视它,继续刷刷刷,做一个快乐的“数据生产者”。
你也可以选择看懂它,了解数据是怎么采集的、怎么存储的、怎么计算的、怎么影响你的——然后在力所能及的范围内,保护自己该保护的,利用自己能利用的。
这篇文章,只是一个开始。
我带你从最生活化的场景出发,一步步看清了数据的样子,理清了数据和大数据的区别,也看懂了它和你的关系。
接下来,我会在这个系列里,继续带你走进数据的一生——它是怎么被采集的、怎么被存储的、怎么被计算的、怎么被展示的、怎么被挖掘的。
我们不仅是数据海洋里的一粒沙。还要做能看懂洋流方向的人。
更多推荐
所有评论(0)