データベースとデータウェアハウス:
数据库(Database)的特点是:
- 相对复杂的表格结构,存储结构相对紧致,少冗余数据。
- 读和写都有优化。
- 相对简单的read/write query,单次作用于相对的少量数据。
数据仓库(Datawarehouse)的特点是:
- 相对简单的(Denormalized)表格结构,存储结构相对松散,多冗余数据。
- 一般只是读优化。
- 相对复杂的read query,单次作用于相对大量的数据(历史数据)。
数据仓库的所有的特性(独立不影响业务,表结构简单,读数据速度快,相对安全)
数据仓库的分层架构:
数据仓库架构可分为三层——源数据层、数据仓库层、数据应用层。
データベース操作:
创建库的语法为
CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION position];
删除库的语法为
DROP DATABASE db_name [CASCADE];
外部テーブルと内部テーブルの違い:
- 定义位置:内部表是在数据库内部定义和存储的,而外部表是在数据库外部定义和存储的。
- 存储位置:内部表的数据存储在数据库的数据文件中,而外部表的数据通常存储在独立的文件系统或外部数据源中,如操作系统的文件系统、分布式文件系统、Hadoop等。
- 数据访问:内部表的数据可以直接由数据库管理系统进行读取和处理,而外部表需要通过数据库连接器或外部数据源的接口进行访问和操作。
- 数据管理:内部表的数据由数据库管理系统负责管理,包括数据的存储、索引、事务处理等,而外部表的数据管理通常由外部数据源自身负责。
- 数据更新:内部表的数据可以进行插入、更新和删除等操作,而外部表通常只能进行查询操作,对其进行的修改操作可能需要通过外部数据源的接口或工具来实现。
- 数据一致性:内部表的数据与数据库的事务一致性保持同步,而外部表的数据可能不与数据库的事务一致,因为外部数据源可能由其他系统或应用程序维护。
- 数据集成:内部表的数据可以与数据库中的其他表进行关联和集成,进行复杂的查询和分析,而外部表需要通过数据导入或数据抽取等方式将外部数据与内部数据进行集成。
データベーステーブルに対する基本操作:
- 查看表操作
- 查看所有表: show tables;
- 查看建表语句: show create table 表名;
- 查看表结构信息: desc 表名;
- 查看表格式化信息: desc formatted 表名;
- 修改表操作
- 修改表名: alter table 旧表名 rename to 新表名;
- 修改表路径: alter table 表名 set location 'hdfs中存储路径';
- 修改表属性: alter table 表名 set tblproperties ('属性名'='属性值');
- 内外部表转换 • 内部表转外部表 alter table stu set tblproperties('EXTERNAL'='TRUE');
- 外部表转内部表 alter table stu set tblproperties('EXTERNAL'='FALSE');