hive 和mysql的对比
项目 | hive | mysql |
---|---|---|
数据存储位置 | HDFS | 本地磁盘 |
数据格式 | 用户定义 | 系统决定 |
数据更新 | 不支持 | 支持 |
索引 | 有,但较弱,一般很少用 | 有,经常使用的 |
执行 | MapReduce | Executor |
执行延迟 | 高 | 低 |
可扩展性 | 高 | 低 |
数据规模 | 大 | 小 |
数据库 VS 数据仓库
数据库:传统的关系型数据库主要应用在事务处理,例如银行交易之类的场景,数据库支持增删改查这些常见的操作。
数据仓库:主要做一些复杂的分析操作,侧重决策支持,相对数据库而言,数据仓库分析的数据规模要大得多。但是数据仓库只支持查询操作,不支持修改和删除。
这些都是明面上的一些区别,其实数据库和数据仓库的本质区别就是OLTP和OLAP的区别
OLTP VS OLAP
OLTP(On-Line Transaction Processing):操作型处理,称为联机事务处理,也可以称为面向交易的处理系统,它是针对具体业务的数据库联机的日常操作,通常对少数记录进行查询,修改。用户较为关心操作的响应时间,数据的安全性,完整性等问题
OLAP(On-Line Analytical Processing):分析型处理,称为联机分析处理,一般针对某些主题历史数据进行分析,支持管理决策。
OLTP侧重于事务,OLAP侧重于分析。