sql_基础学习_数据库,SQL,HIVE,HDFS

背景:工作日常使用,但是很多细节掌握较差,现在统一整体看一遍。

一、基础知识:

1,数据库:应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。

2,数据模型:

  • 层次模型:以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树;
  • 网状型:把每个数据节点和其他很多节点都连接起来,它的数据结构看起来就像很多城市之间的路网;
  • 关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表;

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,主流关系数据库

目前,主流的关系数据库主要分为以下几类:

  1. 商用数据库,例如:OracleSQL ServerDB2等;
  2. 开源数据库,例如:MySQLPostgreSQL等;
  3. 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
  4. 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。

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的区别

猜你喜欢

转载自www.cnblogs.com/CrazyJioJio/p/12590143.html