背景:工作日常使用,但是很多细节掌握较差,现在统一整体看一遍。
一、基础知识:
1,数据库:应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。
2,数据模型:
3,数据类型:
INT | 整型 | 4字节整数类型,范围约+/-21亿 |
BIGINT | 长整型 | 8字节整数类型,范围约+/-922亿亿 |
REAL | 浮点型 | 4字节浮点数,范围约+/-1038 |
DOUBLE | 浮点型 | 8字节浮点数,范围约+/-10308 |
DECIMAL(M,N) | 高精度小数 | 由用户指定精度的小数,例如,DECIMAL(20,10)表示一共20位,其中小数10位,通常用于财务计算 |
CHAR(N) | 定长字符串 | 存储指定长度的字符串,例如,CHAR(100)总是存储100个字符的字符串 |
VARCHAR(N) | 变长字符串 | 存储可变长度的字符串,例如,VARCHAR(100)可以存储0~100个字符的字符串 |
BOOLEAN | 布尔类型 | 存储True或者False |
DATE | 日期类型 | 存储日期,例如,2018-06-22 |
TIME | 时间类型 | 存储时间,例如,12:20:59 |
DATETIME | 日期和时间类型 | 存储日期+时间,例如,2018-06-22 12:20:59 |
REAL= FLOAT(24), TINYINT(0-255)
HIVE数据类型
Hive数据类型 Java数据类型 长度 例子
TINYINT byte 1byte有符号整数 5
SMALINT short 2byte有符号整数 5
INT int 4byte有符号整数 55
BIGINT long 8byte有符号整数 5
BOOLEAN boolean 布尔类型,true或者false TRUE FALSE
FLOAT float 单精度浮点数 3.14159
DOUBLE double 双精度浮点数 3.14159
STRING string 字符系列。可以指定字符集。可以使用单引号或者双引号 ‘hello world‘
"hello world"
TIMESTAMP 时间类型
BINARY 字节数组
对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数。
4,主流关系数据库
目前,主流的关系数据库主要分为以下几类:
5,SQL:Structured Query Language;SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。
SQL语言操作数据库的能力:
DDL:Data Definition Language:DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。
DML:Data Manipulation Language
DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。
DQL:Data Query Language
DQL允许用户查询数据,这也是通常最频繁的数据库日常操作。
6,HIVE:Hive是一个构建在Hadoop上的数据仓库框架,是一个通用的、可伸缩的数据处理平台,hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
7,HDFS: Apache Hadoop Distributed File System (HDFS) ,HDFS是一个分布式文件存储系统。
HDFS的优点:1:容错(安全)2:支持海量的数据存储
HDFS的缺点:对于数据的写入,只是支持数据的写入,支持数据的删除,但是不支持数据的修改。
8,HBase :Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。
https://blog.csdn.net/zhangvalue/article/details/102155571 HDFS和HBASE的区别
原文:https://www.cnblogs.com/CrazyJioJio/p/12590143.html