从传统的IT时代到现今的互联网时代和大数据时代,随着技术不断快速发展,数据资产的存储方式也发生着翻天覆地的变化。数据资产存储的发展历程主要分为以下几个阶段。
在信息化发展的早期,由于人们对数据的认识较少以及对数据价值的重要性认识不够,再加上当时IT系统的发展较为缓慢,数据主要依靠文档的方式存储到计算机上,如图1-9所示,比如通过Excel表格等方式来存储和查看数据。文档存储只能存储一些重要的数据,而且数据量不能太大。
通过文档存储数据的方式通常存在以下不足:
· 数据写入和修改的速度较慢,并且需要人手工把数据录入文档中,效率非常低下。
· 数据管理和维护较难,由于都是手工管理,因此极易出错,并且需要花费大量的时间,人力成本非常高。
· 数据不方便查看和检索,由于数据是以文档的方式存储的,当查找多个文档中的数据时,需要人工手动到每个文档中进行查找。
图1-9
· 数据与数据之间的关联关系很难在文档数据库中记录,导致只能对数据进行一些简单的分析,无法进行复杂的关联分析。
如图1-10所示,随着计算机性能的更新换代以及IT技术的发展,开始出现了数据库技术,并且随着数据库技术的成熟发展以及SQL Server、MySQL、Oracle等很多关系数据库的出现,人们开始将数据存入数据库中。数据库的出现标志着数据资产信息化进程取得重要进展。
数据库存储可以解决很多文档存储数据的不足,比如不再需要人工录入和修改数据,可以通过数据库检索进一步提高数据的查询效率,通过数据库管理可以减少人工的手动管理和维护操作,数据库还可以存储数据与数据之间的关联关系,这样通过数据库就可以进行更复杂的数据分析以及数据查询等操作。
图1-10
随着大数据的发展以及谷歌等大型科技公司对大数据技术发展的推动,人们对数据的认知进一步加深,对数据价值的探索不断加大,信息化技术的发展推动小数据逐步进入大数据时代。在谷歌三大核心论文的推动下,开源社区涌现出了很多以Hadoop、HBase、HDFS、Hive为首的优秀的大数据开源项目。正是在这个时期,人们开始提出数据仓库的概念。在大数据时代,随着人们对数据的需求越来越大,数据存储的体积也在急速膨胀,普通的数据库已经无法存储海量的数据了,更加无法对海量的数据进行分析了。数据仓库的引入通常可以解决如下问题。
· 解决数据分散的问题:如图1-11所示,在很多企业中都存在多套不同的业务系统,每个业务系统负责不同的业务,并且每个业务系统的数据通常都是存储在各自的数据库中,这样就会让数据非常分散。在数据仓库中,数据会采用集中式的存储架构,会将所有数据汇集到一个中心化的存储平台中,从而方便数据的整合和处理,以及进行更深入的数据挖掘和分析,让数据产生更大的价值。
图1-11
· 实现数据的标准化:通常来说,在一个企业或者组织中,不同的部门或者业务领域的数据标准和格式可能是不一样的,这就会给数据的整合和分析带来很多不便。有了数据仓库后,企业或者组织就可以将数据按照统一的标准进行转换和存储,从而实现数据的标准化。
· 保护数据的安全:随着人们对隐私和安全日益重视,保护数据的安全和隐私显得越来越重要。在数据仓库中,可以通过统一的数据加密、脱敏和权限访问控制来保护数据的安全和隐私。另外,随着大数据技术的发展,数据仓库的底层都是通过分布式的文件存储系统来存储数据的,从而让数据的完整性更加有保障。
· 更好地进行数字化转型:在数字化时代下,很多传统的企业或者组织都在不断进行数字化转型以适应市场的快速变化和提升自身产品的竞争力,数据仓库的出现为企业或者组织提供更加全面和完整的数据支持,帮助企业或者组织更好地了解市场的动向,快速响应客户的需求,从而制定适合自己的数字化转型策略。
随着大数据技术的快速更新换代以及数据湖概念的提出,以Databricks为首的大数据科技公司推出了名为Delta Lake的数据湖项目,在开源社区也出现了Hudi、Iceberg等优秀的数据湖项目。数据湖存储的引入,弥补了数据仓库所缺乏的某些功能,比如:
· 数据仓库中只能存储结构化的数据,而在数据湖中则没有任何限制,数据湖中不但可以存储结构化的数据,还可以存储半结构化甚至非结构化的数据。
· 数据仓库一般用于存储处理后的数据,而数据湖既可以存储没有经过处理的原始数据,也可以存储处理后的数据。
· 在技术层面,数据湖可以解决一些数据仓库无法解决的技术难题,比如以Hive为首的数据仓库在数据更新和数据删除等方面的能力非常弱,并且无法支持像数据库一样的事务处理。而数据湖则解决了这些难题,在数据湖中,可以高效地进行数据的更新和删除操作,并且支持事务处理,允许数据处理失败时执行回滚操作。
湖仓一体这个概念是最近几年才慢慢被提出来的,湖仓一体是将数据仓库和数据湖的优势结合起来而发展出来的一种全新的数据处理和存储架构。湖仓一体架构可以将结构化、非结构化的数据统一存放在一个共享的存储平台中,并且支持多种类型的数据源的接入,以及不同类型的数据分析,从而能更有效地挖掘出数据的价值。