数据湖和数据仓库的差别如下:
1、在储存方面上,数据湖中数据为非结构化的,所有数据都保持原始形式。存储所有数据,并且仅在分析时再进行转换。而数据仓库就是数据通常从事务系统中提取。
2、在数据抓取中数据湖就是捕获半结构化和非结构化数据。而数据仓库则是捕获结构化数据并将其按模式组织。
3、在架构中数据湖通常,在存储数据之后定义架构,使用较少的初始工作并提供更大的灵活性。在数据仓库中存储数据之前定义架构,这需要清理和规范化数据,这意味着架构的灵活性要低不少。
1、存放值区别:
数据库只存放在当前值,数据仓库存放历史值;
2、数据变化区别:
数据库内数据是动态变化的,只要有业务发生,数据就会被更新,而数据仓库则是静态的历史数据,只能定期添加、刷新;
3、数据结构区别:
数据库中的数据结构比较复杂,有各种结构以适合业务处理系统的需要,而数据仓库中的数据结构则相对简单;
4、访问频率不同:
数据库中数据访问频率较高,但访问量较少,而数据仓库的访问频率低但访问量却很高;
5、目标人群区别:
数据库中数据的目标是面向业务处理人员的,为业务处理人员提供信息处理的支持,而数据仓库则是面向高层管理人员的,为其提供决策支持;
数据库与数据仓库的本质差别如下:
一、逻辑层面/概念层面不同:
1、数据库和数据仓库其实是一样的或者及其相似的,都是通过某个数据库软件,基于某种数据模型来组织、管理数据。
2、数据库通常更关注业务交易处理(OLTP),而数据仓库更关注数据分析层面(OLAP),由此产生的数据库模型上也会有很大的差异。
二、运行速度上的不同:
1、数据库通常追求交易的速度,交易完整性,数据的一致性等,在数据库模型上主要遵从范式模型(1NF,2NF,3NF等),从而尽可能减少数据冗余,保证引用完整性;
2、而数据仓库强调数据分析的效率,复杂查询的速度,数据之间的相关性分析,所以在数据库模型上,数据仓库喜欢使用*模型,从而提高数据分析的效率。
三、数据库和数据仓库软件不同:
1、数据库通常使用行式存储,如SAP ASE,Oracle, Microsoft SQL Server,
2、而数据仓库倾向使用列式存储,如SAP IQ,SAP HANA。
目前NoSQL数据库仍然没有一个统一的标准,它现在有四种大的分类:
(1)键值对存储(key-value):代表软件Redis,它的优点能够进行数据的快速查询,而缺点是需要存储数据之间的关系。
(2)列存储:代表软件Hbase,它的优点是对数据能快速查询,数据存储的扩展性强。而缺点是数据库的功能有局限性。
(3)文档数据库存储:代表软件MongoDB,它的优点是对数据结构要求不特别的严格。而缺点是查询性的性能不好,同时缺少一种统一查询语言。
(4)图形数据库存储:代表软件InfoGrid,它的优点可以方便的利用图结构相关算法进行计算。而缺点是要想得到结果必须进行整个图的计算,而且遇到不适合的数据模型时,图形数据库很难使用。
NoSQL数据库适合追求速度和可扩展性、业务多变的应用场景。对于非结构化数据的处理更合适,如文章、评论,这些数据如全文搜索、机器学习通常只用于模糊处理,并不需要像结构化数据一样,进行精确查询,而且这类数据的数据规模往往是海量的,数据规模的增长往往也是不可能预期的,而NoSQL数据库的扩展能力几乎也是无限的。
所以NoSQL数据库可以很好的满足这一类数据的存储。NoSQL数据库利用key-value可以大量的获取大量的非结构化数据,并且数据的获取效率很高,但用它查询结构化数据效果就比较差。
以上内容参考:
百度百科-数据库
百度百科-数据仓库
数据仓库的本质是什么?数据仓库的本质就是:完成从面向业务过程数据的组织管理到面向业务分析数据的组织和管理的转变过程。
业务过程数据的组织管理实际上就是由各种业务系统来完成的,比如ERP、CRM、OA等各类业务系统,他们解决的是基本的业务流程管理。通过数据的录入 Insert、删除Delete、修改 Update、查询 Search 即用户在业务系统操作界面中做的增删改查操作,这些操作和业务系统底层的数据库例如MySQL、Oracle、SQL Server 完成了数据的交互,数据也沉淀在这些数据库中。
那么把各个业务系统的数据库比做是一个个粮食仓库的话,数据仓库就可以简单理解要把各个分散的粮食仓库的粮食搬运到一个更大的粮食仓库来集中管理。不同的独立的粮食仓库中存储的粮食可能不一样,有的粮食坏了可能不能吃了,那么在汇总到大的粮食仓库过程中就需要把这些坏掉的粮食给去除掉。还有在不同的粮食仓库中可能也存了一些同样的粮食,那么在搬运到大的粮食仓库中,就需要去做一些归类合并,按照更好的一种陈列方式将粮食摆放整齐,最后对外支持的时候,就从这个大的粮食仓库直接取粮食就可以了。各类粮食都有,并且有很好的组织形式。这个从小的粮食仓库搬运、清洗转换、加载粮食的过程就是ETL过程,Extraction 抽取、Transformation 转换、Loading 加载。
所以,数据仓库的本质还是一个数据库,它将各个异构的数据源数据库的数据给统一管理起来,并且完成了质量较差的数据的剔除、格式转换,最终按照一种合理的建模方式来完成源数据组织形式的转变,以更好的支持到前端的可视化分析。
在这个过程中,有的时候可能用普通的汽车搬运粮食,有的可能用飞机运粮食,有的可能需要每小时运一次,有的可能就需要每天运一次或者每月运一次,这就是 ETL 工具的选择和数据抽取调度以及抽取频次的管理。有的时候粮食比较多,一般的粮食仓库容量不够,或者要求效率更高,就会选择不同的粮食仓库架构来进行管理,这就是数据仓库技术框架的选择,是选择大数据技术框架,还是一般的技术框架就可以满足,最终决定了我们要建设这个数据仓库的投入成本。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。