找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

105

积分

0

好友

11

主题
发表于 前天 04:04 | 查看: 10| 回复: 0

AI时代,数据库从传统的存储与查询系统迈向智能数据系统已成行业共识,但通往这一目标的路径仍充满不确定,包括技术路线、架构模型、计算范式到人与系统的交互方式,都有待重新定义。

当我们在迷雾中探寻方向时,不妨回望大数据时代,数据库技术与架构的演进,或许能为今天的迷茫提供可借鉴的经验。正如丘吉尔所言:"The longer you can look back, the farther you can look forward"(能看见多远的过去,就能看见多远的未来)。

图片

01 大数据时代数据库蓝图

时间回到2013年,大数据的热度已从技术圈蔓延至主流商业视野。那年10月,全球顶尖数据库专家,包括Jeffrey Dean、Michael Stonebraker等30位学者,在加州大学欧文分校贝克曼研究中心齐聚一堂,参加为期两天的闭门会议,深入探讨数据库在应对海量数据挑战时的未来发展路径,并最终发布了《The Beckman Report on Database Research》报告。

报告系统回答了两个核心问题:大数据对数据库的根本性挑战是什么?我们应如何应对?其准确预见云原生数据库兴起,数据中台与湖仓一体化发展,以及数据质量、治理与安全的重要性变化,几乎描绘了大数据时代数据库演进的全貌。

本文将重读这篇经典,探寻它的核心思想,以及它为何至今仍对理解数据库技术的发展具有重要意义。通过回顾这份具有前瞻性的战略蓝图,我们可以学习如何在今天的AI时代,重新审视核心原则,并为智能数据系统的未来发展寻找启示。

图片

02 大数据兴起的数据库契机

报告开宗明义地将大数据视为数据库面临的核心挑战,并强调其本质是三大关键趋势融合所致。

数据生成成本的大幅降低:得益于廉价的存储、传感器、智能设备、社交软件、多人游戏和连接家庭、汽车、电器等的物联网。

数据处理成本的大幅降低:得益于多核CPU、固态存储、廉价的云计算以及开源软件的进步。

数据管理的民主化:数据生成、处理和消费不再是数据库专业人员的专属,决策者、领域科学家、应用用户、记者、众包工作者以及普通消费者都在常规性地参与数据管理。

这些趋势导致空前体量的数据需要被捕获、存储、查询、处理并最终转化为知识。尽管早期的一些大数据系统为了追求可扩展性和对商用硬件的容错能力而放弃了声明式编程和事务一致性等关系型原则,但最新一代的大数据系统已经开始重新认识并采纳数据库社区的长期资产和方法。

报告说明大数据带来了体量(Volume)、速度(Velocity)和多样性(Variety)这三个主要特征。虽然数据库在体量和速度方面已工作数十年,但空前的规模仍需要对现有解决方案进行根本性反思。其中,多样性的挑战尤为复杂,不仅涉及来自不同来源、格式和质量的数据整合,还包括处理大数据所需的硬件基础设施、处理框架、语言、系统和编程抽象的多样性,以及用户复杂程度和偏好的多样性。

除了这三个V特征,报告确定了五项关键的挑战,前三项涉及体量、速度和多样性,后两项则关注大数据应用的部署和人员参与:

  • 可扩展的大/快速数据基础设施(Scalable big/fast data infrastructures)
  • 应对数据管理的多样性(Coping with diversity in data management)
  • 数据的端到端处理(End-to-end processing of data)
  • 云服务(Cloud services)
  • 人在数据生命周期中的角色(The roles of people in the data life cycle)

图片

03 大数据带来的五大挑战解析

可扩展的大/快速数据基础设施

报告讨论了基础设施面临的变革。一方面,并行和分布式处理取得了巨大成功。分布式计算领域通过MapReduce等受限编程模型,在大量x86机器上处理非结构化数据的能力得到扩展。Hadoop、Pig和Hive等开源平台被快速采用。另一方面,由于声明式语言的广泛应用,人们日益认识到需要更强大的、具备成本感知能力的查询优化器和面向集合的查询执行引擎,以便充分利用大规模多核处理器集群,实现scale up和scale out。

2013年的报告提出的查询优化与执行引擎需求,为Spark、Hive、Flink、Presto等系统的发展奠定了理论基础。声明式编程、成本感知的优化方法,以及基于集合/算子的执行引擎,证明了数据库社区对优化理论的坚持在现代分布式基础设施中仍然不可或缺。

关于新硬件,报告强调了通信技术和处理技术的变化要求重新考虑并行和分布式查询处理算法。研究人员需要探索利用专业化处理器,如GPU、FPGA、ASIC来处理超大型数据集的方法。此外,成本效益高的存储技术,包括SSD、各种非易失性随机存取存储器NVRAM,要求数据库研究社区重新学习如何利用它们,并重新开启关于shared memory、shared disk、shared nothing架构的争论。

关于晚绑定结构,传统数据库是先定义结构再装载数据(Schema-on-Write)。但这对于很多只处理一次甚至可能永远不用的数据来说,代价太高。一种更灵活的方式是先存储原始文件在读取时再解析结构(Schema-on-Read)。数据可以存为JSON、Parquet等半结构化格式。这个改变,挑战变成如何在这种灵活模式下,依然提供接近传统数据库的高效查询性能。这催生了后来数据湖和Dremio查询引擎的发展。

关于高速度数据流,报告预见到需要新的可扩展技术来摄取和处理数据流,包括需要根据硬件行为精心调整算法,以及对低信息密度的高速数据源进行在线处理、采样和聚合,而不是全部持久化。

关于数据一致性,NoSQL系统的兴起是为了处理高数据捕获率和对无模式数据的更新,但它们通常只提供基本的访问和较弱的原子性与隔离性保证。报告指出,这促使新一类大数据系统出现,它们在键值存储等底层架构之上提供完整的类似数据库的特性。社区需要在"强一致性"和"最终一致性"之间,寻找更丰富的、适合不同场景的一致性模型和编程模型,让开发者能更容易地构建可靠的应用。后来的NewSQL数据库,就是在这个方向上的探索。

应对数据管理的多样性

在面对针对数据多样性的挑战,该报告的观点是承认并拥抱多样性,放弃寻找一个"银弹"来解决所有数据问题的幻想。面对数据来源、格式和质量的日益多样化,以及存储在不同系统中的不同表示形式,报告预测将出现多类系统,每类系统解决特定的需求或利用特定的硬件平台。

而今天数据库生态系统发展印证了这一点,图、时序、文档、向量、搜索、列式等专业化数据库系统百花齐放。不同的数据形态和负载模型,需要不同的专用系统来最高效地处理,至少到今天也没有统一的数据库管理系统能解决所有场景问题。

既然数据管理系统多种多样,让数据分析师能够跨系统无缝组合和分析数据就成为关键。这不仅要求解决数据格式和查询语言的异构性,还需要在性能上进行优化,例如智能决定计算任务的执行位置,以及尽量减少跨系统的数据传输。这正是数据联邦(Data Federation)和数据编织理念的雏形所在。

多样性的世界需要多样的编程抽象,单一的分析语言无法满足所有需求。用户需要用他们认为最自然的方式来分析数据,包括SQL、Pig、R、Python或特定的领域语言。报告建议开发可重用的中间层组件,以支持多种语言绑定,并简化新可扩展、数据并行语言的快速开发工具。也就是说,底层可以是一个统一的执行引擎(比如Spark),但上层要提供SQL、DataFrame API、Streaming API等多种选择。

数据的端到端处理

报告指出,数据库研究社区必须更加关注数据的端到端处理。尽管经过多年的研发,从原始数据到提取知识的过程中,很少有工具可以在每一步不依赖大量人工干预的情况下完成,且介入人员通常需要具备高度的计算机知识。

传统的数据管道包括:数据采集,选择、评估、清洗和转换,提取和整合,挖掘和分析,以及结果总结、出处和解释。由于数据的多样性和用户群体的扩大,这一过程的难度显著增加。

降低工具的使用门槛,工具不仅要功能强大,更要易于操作。使用者不应仅限于IT专家,业务专家也应能够轻松上手。这要求工具能够充分利用人类反馈,比如在数据清洗过程中,用户只需标记少量错误样本,系统即可借助机器学习自动识别并处理相似的数据,实现智能化清洗。

另一个关键是知识库的利用。我们对目标领域的知识了解越多,工具就能更好地分析数据。报告强调了创建、共享和使用领域知识的趋势,知识库被用于提高原始数据到知识管道的准确性、回答领域查询以及查找领域专家。

云服务

云原生将大规模应用,需要新技术来提供可预测的性能和灵活的互操作性。理想的目标是实现数据平台即服务(Data PaaS),用户无需关心租赁实例、操作系统、数据库分区或调优,只需上传和查询数据。

实现这一理想面临关键挑战:

弹性(Elasticity):移动数据成本高昂。Data PaaS需要能够在工作负载高峰期快速分配资源,但在资源被抢占时仍能良好运行。

数据复制(Data Replication):地理分布式数据中心之间的延迟使得保持副本一致性同时提供良好吞吐量变得困难。多主复制是替代方案,但对主流程序员来说,由此产生的编程模型并不直观。挑战在于如何权衡可用性、一致性、性能、可编程性和成本。

系统管理和调优自动化:在Data PaaS世界中,数据库和系统管理员的角色消失了。所有管理任务(容量规划、资源供应、物理数据管理、资源控制参数设置)必须自动化。

多租户(Multitenancy):为了保持竞争力,Data PaaS必须通过共享物理资源来降低成本。这引入了安全保障、信息泄露隔离,以及在保证SLA的情况下确保一个租户的需求爆发不影响其他租户服务的挑战。

在2013年时,Data PaaS仍处于早期愿景阶段。报告中的预测,比如无运维(No-Ops)和弹性伸缩,正是现代云原生数据库,如Amazon Aurora、Snowflakes等,过去十年里努力实现的核心目标。

人在数据生命周期中的角色

随着数据管理的民主化,人们在数据生命周期中的角色变得多样化,并可能由众包服务。报告将人员角色分为四类:

数据生产者(Data Producers):几乎任何人都可以通过移动电话、社交平台和可穿戴设备生成数据洪流。挑战在于开发算法和激励措施,引导人们在保持所需隐私水平的同时,生产和分享最有用的数据,并帮助他们快速准确地添加元数据。

数据管理者(Data Curators):数据不再仅由DBA控制。众包是一种重要方法。挑战在于如何从常常不完美的人类管理者那里获得高质量的数据集,并构建平台允许人们轻松管理数据。

数据消费者(Data Consumers):消费者希望以复杂的方式使用"凌乱"的数据。许多消费者可能不知道如何表达查询。这需要新的查询界面,例如基于多点触控的界面,并结合可视化、查询和导航的多模态界面。

在线社区(Online Communities):人们希望与其他社区成员协作创建、共享和管理数据,例如共同构建领域特定的知识库或维基百科。

报告强调了"人"(human)在数据生命周期中的核心作用。特别是对非专业用户的支持,这预示了未来数据工具必须是高度可用、低门槛的。从专业的SQL查询到面向领域专家的分析工具的转变,是大数据时代普及知识的关键。

图片

04 总结

这份报告的在于其独到的前瞻性,没有盲目追随NoSQL或分布式的潮流,而是将大数据视为契机,重新审视数据库核心原则,能够在2013年,就预见到新型存储技术和专用处理器将颠覆传统算法,同时洞察到数据管理与使用的民主化趋势,使工具的可用性与可解释性成为核心要求。

可以说,这份报告仿佛告诫数据库从业人员,在面对大数据这片无垠海洋时,绘制的一张详细的航海图,告诉我们虽然航线变化了,风暴更大了,但我们携带的关系模型和事务一致性的罗盘,依然是克服挑战、驶向知识彼岸的重要工具。

参考

  1. https://pages.cs.wisc.edu/~anhai/papers/beckman-cacm16.pdf
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-1 12:46 , Processed in 0.054315 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表