
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
大家在学习大数据技术的时候应该都接触过数据仓库这个概念吧,而本文我们就通过案例分析来简单了解一下,数据仓库的特点与注意事项分享。
数据仓库(DataWarehouse),是由被誉为全球数据仓库之父的W.H.Inmon于1990年提出的,其相对学术的解释:数据仓库是一个面向主题的(SubjectOriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化的(TimeVariant)数据集合,用于支持管理决策和信息的全局共享;
所谓主题:是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;
所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的;
所谓集成:是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。
所谓随时间变化:是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测;
之所以使用数据仓库而不是前台线上业务系统的OLTP数据库进行BI等数据分析,一个重要的原始是OLTP只能应对简单的关联查询,支撑基本的和日常的事务处理,不适用数据的多维度分析;而数仓底层一般是擅长多维分析的OLAP数据库(还有一个原因是数据分析属于后台系统,不能影响前台线上业务系统的性能)
数据仓库一般具有以下特点:
数仓强调数据建模,需要根据领域知识按照分层建模理论,进行详细的模型设计;
数据由外部系统进入数仓时,需要经过清洗转化后加载进数据仓库,即ETL;
数据需要ETL后进入数仓,本质是由于外部系统中的数据模型跟数仓中的数据模型是不同的(外部OLTP系统一般是按照范式设计的数据库中的表,而数仓一般是OLAP中反范式的大宽表);
数仓模型的建设一般耗时耗力,但数仓模型一旦创建完毕,相对来说不会轻易做出改变;
ETL的本质是SCHEMAONWRITE,即数据进入数仓时经由ETL完成了清洗和转换,所以数仓中的数据质量较高;
数仓分层比较的有:ODS,DWD,DWS,ADS等;
数仓是商业智能BI的基础,主要基于建好的数仓模型,经过分析回答固定的已知问题,从而支撑BI的报表和大屏等;
数仓一般内置存储系统,且不对外直接暴露存储系统接口(不允许外部系统直接访问数仓底层存储系统中的数据比如文件),而是将数据抽象的表或视图的方式,通过提供数据进出的服务接口对外提供访问(常见的数据访问方式是SQL,有的数仓对加载数据也提供了RESTFUL接口或专用的LOAD/COPY等命令);
数据仓库通过抽象数据访问接口/权限管理/数据本身,带来了一定的封闭性,但换取了更高的性能(无论是存储还是计算)、闭环的安全体系、数据治理的能力等,可以应对安全/合规等企业级要求;
数仓内置存储系统但不对外直接暴露存储系统接口,而是提供数据进出的服务接口,带来了以下优缺点:
数仓具有封闭性,只能使用数仓专用的分析引擎,一般不能对接三方其它引擎;
数仓具有封闭性,不同数仓之间的数据迁移相对较难;
数仓性能较好:数仓计算引擎对内置存储系统的数据存储格式有深入了解,存储和计算可以配合着做深度优化,提高数仓的性能;
数仓在数据治理上具有优势:有完善的元数据管理能力,完善的血缘体系等,可以对数据进行全生命周期的细粒度的治理;
关于数仓,有以下几点需要注意下:
传统的数仓,底层一般是基于数据库的,底层只能以表的形式存储结构化数据,如GreenPlum,Teradata,Vertica等,成本相对较高;
传统的数仓,一般是存储计算耦合的架构,在横向扩展性和弹性能力上相对不足,能管理的数据量相对较小;
新兴的云数仓,底层一般是基于云上对象存储的,如AWSRedshift、GoogleBigQuery、阿里云MaxCompute,Snowflake等;
新兴的云数仓,一般是存算分离的架构,存储和计算可以独立进行扩展,有着很好的横向扩展性和弹性,可以管理大量数据;
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。