我们需要一次怎样的数据架构变革?

现有数据架构难以支撑现代化应用的实现 。
 
随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价比等优势已经让很多企业把“云”业务列入到未来发展战略规划中 。现代化应用是现有应用程序的再升级,也是基于新技术新模式开发的新应用 。现代化应用可以帮助企业面对更加复杂的业务竞争,并在这样的竞争中凭借模型的先进、数据的洞察、应用的创新实现领先 。因此,许多企业希望通过采用现代应用程序开发的模式,转变应用程序的设计、构建和管理方式,从而提高敏捷性,并加快自身的创新进程 。以云原生、容器、微服务、Serverless 等为基础的现代化应用开发兴起之际,各行业都把关注的目光瞄准到了数据架构上 。毕竟微服务、Serverless 构建的应用就像是引擎,而数据才是真正的动力 。
1.现代化应用开发之难亦是数据架构创新之难现代化应用对规模、可用性和性能都提出了更高的要求 。
我们需要一次怎样的数据架构变革?

文章插图
对于现代化应用来说,不仅要应对剧增的用户数量,还要支撑不断增长的应用负载种类和数量 。这是现代化应用开发面对的第一个难题——更强的可扩展性 。
以游戏的场景为例,目前排名靠前的国民级游戏日活用户已经超过 1 亿多人,未来百万以上用户量将成为应用程序的常态,我们畅想一下最近大火的元宇宙场景,如果是一个全球级别的元宇宙应用,其用户数量会是这个数据的数倍,甚至数十倍,媲美亚马逊黑色星期五大促销的高并发情况将成为日常 。所有人都在一个元宇宙进行交互的场景,对应的后端系统响应并发的要求是极高的 。这不是在揣测,而是基于事实和现状,对未来的合理预测 。因此首先需要解决的,就是更大规模并发问题 。
现代化应用开发面对的第二个问题,是如何存储海量数据,以及存储海量数据之后,如何对这些数据进行实时化和智能化处理 。
当前数据已呈现出“二八定律”:结构化数据占 20%,非结构化数据占 80% 。《微软飞行模拟器》模拟真实的山脉、道路、云朵,产生了超过 2.5PB(2.5 x 10^6 GB)的结构化数据,终极元宇宙所需数据量至少比此高出多个数量级 。
根据 IDC 的最新报告,现有数据中非结构化数据占比已超过 90% 。随着新型软件的增多,非结构化数据占比将越来越高 。不同格式、不同标准的非结构化数据在技术上比结构化数据更难存储和分析 。传统数据架构应对这样的海量数据将会很吃力 。
另外,现代化应用还需要考虑性能和延迟的问题 。未来,新的现代化应用都会以遍布全球的用户为目标,这就对延迟有极高的要求 。在游戏中,10ms 的延迟都是不可接受的,有些游戏甚至需要内存级别的延迟 。超强的带宽、超快的传输速度等的实现,需要遍布全球的通信基础设施建设 。
需要注意的是,在考虑高并发和低延迟的同时,还需要兼顾考虑总体质量和成本 。建立、运行和维护这么大规模的应用需要耗费的人力和物力,一般企业可能难以承受 。所以除了质量,成本也是需要考虑的问题 。
总结来看,现代化应用至少要处理 TB 级、PB 级的结构化数据和数倍于此的非结构化数据,支持分布在全球的数百万用户,并以极低的延迟每秒处理数百万个请求 。
对于非结构化数据,如今很多企业开始基于 Amazon S3 这类具备 EB 级扩展能力的云存储构建云上数据湖,并通过云原生数据分析处理工具对这些数据进行处理分析 。而对于结构化数据,还需要弥补以下缺陷: