您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 百科

一文搞明白Hive与数据库区别

时间:2023-11-02 13:12:58  来源:尚硅谷教育  作者:

Hive 采用了类似SQL 的查询语言 HQL (Hive Query Language),因此很容易将 Hive 理解为数据库。其实Hive 是为数据仓库设计的,是数据仓库的客户端,所以要搞清楚Hive与数据库的区别,只要我们搞清楚数据仓库和数据库的区别就可以了。

一、概念

数据库其实是一种逻辑概念,用来存放各种数据(通常数据库指关系数据库),而数据仓库是数据库概念的升级。换句话说,数据仓库可以理解为多个数据库的集合,也是由一张一张的数据表组成的,可以从以下方面区分理解。

从逻辑上理解,数据库和数据仓库没有区别,都是用来存储数据的。

从数据量来说,数据仓库要比数据库数据量体积庞大得多,通常数据仓库是GB级别(百万行数据)大小,而数据仓库则是TB级别甚至是PB级别。

从用途上来看,数据库主要用于业务平台的事务处理(不同业务平台有各自的数据库),而数据仓库主要用于海量数据分析。

二、设计原则

关系数据库一般情况下遵循范式设计,目前关系数据库有六种范式,即第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯−科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。通常设计只需满足3NF规范即可。3NF范式主要要求包括如下:

第1,表内的每一个值都只能表达一个意思。

第2,表内的每一行都有唯一的主键。

第3,表内的每一行的非主键不应该依赖于其它字段信息。

数据仓库设计原则要考虑的因素较多,从访问性能、数据成本、使用成本、数据质量、扩展性来考虑。简单概括如下:

第1,数据产出稳定并且有保障

第2,保证数据干净,数据质量

第3,数据要涵盖的业务足够广

第4,数据构成体系足够透明

由此数据仓库设计采用范式+维度设计,从而达到全局数据分析的目的。

三、功能实现

关系数据库通过数据库软件来实现,主流的关系数据库软件有SQL Server、Oracle、MySQL、DB2等,主要用于业务事务的处理。

一文搞明白Hive与数据库区别

数据仓库并不是基于某个软件来实现,而是基于Hadoop生态来构建的。数据存储基于HDFS来实现分布式文件存储,通过Sqoop、Maxwell、Datax来实现数据仓库的数据导入导出,通过Hive、Spark、Flink来实现数据挖掘分析,从而达到辅助企业做决策。

一文搞明白Hive与数据库区别

四、数据体现

关系数据库通常服务于企业的业务平台,每个业务平台都有各自的关系数据库及其对应的表,各业务平台之间是独立且分离的。表中保存的是与业务相关的数据,反应了与业务相关数据的动态情况,记录地是业务目前的状态。

数据仓库的数据保存地是各个业务平台的一个或者多个数据库或者文件,比如说像MySQL、redisExcel文本文件、各业务平台日志文件等等,可以简单理解为很多个业务平台的数据往数据仓库输送,是各种数据的一个集合体。多个业务平台输入的数据都会被保存下来,一般情况不会删除掉,这样也就体现出数据仓库中的数据是有历史轨迹的,数据量体积相对关系数据库更加庞大,这也是与关系数据库的不同之处。

五、总结

数据仓库本质也是数据库,这是它们在概念上相同之处,不同点体现在使用用途、数据量存储方面。从软件的实现及操作方面也就有明显区别,比如关系数据库支持增删改操作,且对交互要求高;数据仓库通常是一次写入多次读取,不支持修改和删除,对交互要求不高。



Tags:Hive   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
一文搞明白Hive与数据库区别
Hive 采用了类似SQL 的查询语言 HQL (Hive Query Language),因此很容易将 Hive 理解为数据库。其实Hive 是为数据仓库设计的,是数据仓库的客户端,所以要搞清楚Hive与数据库的区...【详细内容】
2023-11-02  Search: Hive  点击:(186)  评论:(0)  加入收藏
MySQL到TiDB:Hive Metastore横向扩展之路
一、背景大数据元数据服务Hive Metastore Service(以下简称HMS),存储着数据仓库中所依赖的所有元数据并提供相应的查询服务,使得计算引擎(Hive、Spark、Presto)能在海量数据中准确...【详细内容】
2023-09-28  Search: Hive  点击:(334)  评论:(0)  加入收藏
十分钟掌握Doris,超越Hive、Elasticsearch和PostgreSQL
以前,数据仓库通常由Apache Hive、MySQL、Elasticsearch和PostgreSQL组成。它们支持数据仓库的数据计算和数据存储层: 数据计算:Apache Hive作为计算引擎。 数据存储:MySQL为Dat...【详细内容】
2023-09-27  Search: Hive  点击:(223)  评论:(0)  加入收藏
你真的能搞明白Hive与数据库区别吗?
Hive 采用了类似SQL 的查询语言 HQL (Hive Query Language),因此很容易将 Hive 理解为数据库。其实Hive 是为数据仓库设计的,是数据仓库的客户端,所以要搞清楚Hive与数据库的区...【详细内容】
2023-06-26  Search: Hive  点击:(195)  评论:(0)  加入收藏
【大数据】Hive Join 的原理与机制
一、概述Hive是一个基于Hadoop的数据仓库解决方案,它提供了类似于SQL的查询语言,称为HiveQL,用于处理结构化数据。在Hive中,JOIN操作用于将两个或多个表中的数据连接在一起,以便...【详细内容】
2023-05-08  Search: Hive  点击:(124)  评论:(0)  加入收藏
Hive DDL 操作与视图讲解
一、概述Hive是建立在Hadoop上的数据仓库工具,它允许用户通过类SQL的语法来查询和管理数据。在Hive中,DDL(数据定义语言)和视图操作是非常常见的。 1)表和视图关系表和视图都是数...【详细内容】
2023-05-06  Search: Hive  点击:(148)  评论:(0)  加入收藏
【大数据】Hive 分区和分桶的区别及示例讲解
一、概述在大数据处理过程中,Hive是一种非常常用的数据仓库工具。Hive分区和分桶是优化Hive性能的两种方式,它们的区别如下:1、分区概述Hive分区是把数据按照某个属性分成不同...【详细内容】
2023-05-04  Search: Hive  点击:(159)  评论:(0)  加入收藏
Hive 和 Spark 分区策略剖析
一、概述随着技术的不断的发展,大数据领域对于海量数据的存储和处理的技术框架越来越多。在离线数据处理生态系统最具代表性的分布式处理引擎当属Hive和Spark,它们在分区策略...【详细内容】
2023-03-30  Search: Hive  点击:(147)  评论:(0)  加入收藏
比Hive快十倍的大数据查询利器,你知道吗?
目前最流行的大数据查询引擎非hive莫属,它是基于MR的类SQL查询工具,会把输入的查询SQL解释为MapReduce,能极大的降低使用大数据查询的门槛, 让一般的业务人员也可以直接对大数据...【详细内容】
2023-03-07  Search: Hive  点击:(203)  评论:(0)  加入收藏
大多数开发人员都弄错的Hive与MapReduce小文件合并问题
因为设置上面四个参数,看上去规定了map结束,MR结束合并文件,如果文件平均小于smallfiles.avgsize启动一个新的MRj进行文件的二次合并。如果启动mr合并文件,没有问题。0.背景近来...【详细内容】
2023-01-31  Search: Hive  点击:(214)  评论:(0)  加入收藏
▌简易百科推荐
一文搞明白Hive与数据库区别
Hive 采用了类似SQL 的查询语言 HQL (Hive Query Language),因此很容易将 Hive 理解为数据库。其实Hive 是为数据仓库设计的,是数据仓库的客户端,所以要搞清楚Hive与数据库的区...【详细内容】
2023-11-02    尚硅谷教育  Tags:Hive   点击:(186)  评论:(0)  加入收藏
Google Play上线问题及解决方案
将应用上线到Google Play商店也可能会面临一些问题,在上线应用到Google Play商店之前,确保你充分测试应用,遵循Google Play的开发者政策和要求,以及关注用户的反馈,这些都能帮助...【详细内容】
2023-08-24  北京APP外包    Tags:Google Play   点击:(208)  评论:(0)  加入收藏
Google Play应用成功上架秘籍:如何避免封号、拒审、下架?
Google Play是全球最大的移动应用商店之一,它是运行Android操作系统的设备的官方应用商店。它提供各种数字内容,包括应用程序(应用)、游戏、音乐、书籍等,包括免费和付费选项。这...【详细内容】
2023-08-17  Balen跨境说    Tags:Google play   点击:(289)  评论:(0)  加入收藏
开发移动应用如何高效利用Taro工具
最近公司的一些项目需要跨端框架,技术老大选了Taro,实践了一段时间下来,愈发觉得Taro是个好东西,所以在本篇文章中稍微介绍下。什么是Taro?Taro(或称为Taro框架)是一种用于构建跨平...【详细内容】
2023-06-07  Onegun    Tags:Taro工具   点击:(399)  评论:(0)  加入收藏
如何获得GitHub Copilot并结合VS Code使用?
​译者 | 布加迪审校 | 重楼GitHub Copilot是一种基于AI的代码生成工具。它使用OpenAI的GPT(生成式预训练Transformer)技术来提供建议。它可以根据您正在编写的代码上下文建议...【详细内容】
2023-04-17  布加迪  51CTO  Tags:GitHub   点击:(268)  评论:(0)  加入收藏
全面讲解在Rust中处理错误的有效方法
错误不可避免,可能由于各种原因而发生:从无效的用户输入到网络故障、硬件故障或编程错误,不一而足。错误处理是检测和报告错误并从中恢复的机制,以防程序崩溃或数据损坏。有效的...【详细内容】
2023-04-17  布加迪  51CTO  Tags:Rust   点击:(223)  评论:(0)  加入收藏
DevOps 在移动应用程序开发中的作用是什么?
本文探讨了 DevOps 在移动应用程序开发中扮演的角色以及它如何帮助开发人员和企业。您想将您的移动应用程序开发过程提升到一个新的水平吗?如果您在开发应用程序时实施 DevOp...【详细内容】
2023-04-09  科技狠活与软件技术  今日头条  Tags:DevOps   点击:(220)  评论:(0)  加入收藏
一名C++程序员的 Rust入门初体验
作 者 | 吴强强(去鸿)作者最近尝试写了一些Rust代码,本文主要讲述了对Rust的看法和Rust与C++的一些区别。背景S2在推进团队代码规范时,先后学习了盘古编程规范,CPP core guide...【详细内容】
2023-03-31  阿里云云栖号     Tags:Rust   点击:(245)  评论:(0)  加入收藏
利用微信公众号的图片上传接口,创造属于自己的图床功能!
作为一个技术博主,了不起不是在创作就是在创作的路上(当然偶尔也会有点恰饭文~还指望大家多多支持),特别是在写一些技术文章的时候,经常会用到图片,然而为了在多个平台同步发文,就...【详细内容】
2023-03-27  Java极客技术  微信公众号  Tags:接口   点击:(227)  评论:(0)  加入收藏
移动开发中Docker等容器技术如何落地?
移动应用程序的开发面临着很多挑战,包括开发环境的设置、测试的困难、部署的复杂性等。由于移动应用程序通常需要在多个平台上运行,因此开发人员需要花费大量的时间来构建和测...【详细内容】
2023-03-22  Onegun    Tags:移动开发   点击:(147)  评论:(0)  加入收藏
站内最新
站内热门
站内头条