共计 2175 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章给大家分享的是有关怎么快速的了解某种数据库的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
这段时间由于工作需要,接触了多种数据库。其中关系型数据库包括:Oracle、DB2、Informix、Teradata、Netezza、MySQL、MS SQLServer、Sybase、PostgreSQL、Greenplum、浪潮 KDB、达梦数据库、华三 MPP Data Engine、GBase、Hive 等;NoSQL 包括 MongoDB、Redis、HBase、Cassandra 等。那么,如何快速的了解或者学习某种数据库?大体可以通过数据库存储结构、数据库逻辑概念和对象结构以及字符集这四个方面快速了解或掌握。
0x01 数据库存储结构
存储结构,从存储设备上划分,可以粗略的划分为两大类:持久性存储(如硬盘、SSD 等)和临时性存储(如内存),对应这两类,数据库存储结构可以分为物理结构和内存结构。物理结构简单来说就是在持久性存储设备上可见的、物理存在的文件以及这些文件的用处和相互依存关系,内存结构指的是在内存中存在的数据结构以及这些结构的用处和关系。
如 Oracle,物理结构包括控制文件、在线日志文件、数据文件、参数文件等;内存结构包括 SGA、PGA 等;
如 Informix,物理结构包括数据文件、配置文件、物理日志文件等;内存结构包括共享内存端等;
如 Sybase,物理结构包括设备文件、配置文件、日志文件等;内存结构包括过程缓冲区、数据缓冲区等。
0x02 数据库逻辑概念
数据库逻辑概念,是对物理结构的逻辑封装,通过增加一系列的概念,便于使用和管理数据库。
如 Oracle,表空间 Tablespace 用于管理物理存储、Segment/Extend/Block 用于管理数据存储、User 作为容器可用于权限管理和数据库对象存储;
如 Teradata,用户 User 用于数据的存储组织和权限管理、数据库 DB 在 User 下用于数据的划分和组织等;
如 DB2,表空间 Tablespace 用于物理存储的管理、User 用于权限管理、Schema 作为数据库对象的存储容器、BufferPool 用于缓存的管理等;
如 Mongodb,数据库 DB 用于存储管理和数据组织、Collection 类似数据表作为数据的存储管理;
如 Redis,Key/Value 键值对,Key 可以是根据业务意义自定义的信息,Value 可以为任意序列化后的二进制数据或者更高级的 Set/List 等结构。
0x03 数据库对象结构
数据库对象,指的是数据库 Database、用户 User、模式 Schema、数据表 Table、索引 Index、约束 Constraint、触发器 Trigger、存储过程 Procedure 等对象。通过了解数据库对象结构,也就基本掌握如何通过 DML 操作数据库了。
如 Oracle,在同一台主机上可以有 N 个数据库,每个数据库中可以有 N 个 User(Schema),每个 User 下有 N 张表 ……,连接数据库后可通过 Username.Tablename 访问数据表。值得一提的是,在 12.2+ 版本后,增加了所谓的 ContainerDB,其实是在 DB 和 User 之间加了一层 database,实现了类似 SQLServer 或者 Sybase 的对象结构;
如 DB2,在同一台主机上可以有 N 个数据库,每个数据库中可以有 N 个 User,每个 User 下有 N 个 Schema,每个 Schema 下有 N 张表 ……,可通过 Schemaname.Tablename 访问数据表;
如 MySQL,在同一台主机上可以有 N 个 DB Server,每个 Server 可以有 N 个 DB,每个 DB 有 N 个 Table,数据表可通过以下方式进行访问:
database dbname
select * from tablename
如华三 MPP Data Engine,数据库对象结构基本与 MySQL 类似;
如 MongoDB,在同一台主机上可以有 N 个 DB Server,每个 Server 可以有 N 个 DB,每个 DB 有 N 个 Collection,数据表可通过以下方式进行访问:
use database
db.collectionname.find()
0x04 数据库字符集
数据库字符集,在先前文章已有介绍,不再详述。
如 Oracle,字符集有 ZHS16GBK、AL32UTF8、WE8ISO8859P1 等,其中 ZHS(中文)/AL(所有)/WE(西欧)等表示语言,16/32/ 8 表示字符存储使用字节数,最后一部分是实际的字符集。
如 DB2 LUW,常用字符集有 GBK、819(即 ISO8859P1)、1208(即 Unicode,使用 UTF8 编码)
如 Sybase,常用字符集有 EUCGB(即 GB2312)、CP850、GB18030、ISO_1(即 ISO8859P1)、Roman8(在 HP-UX 下的默认字符集)
如 MySQL,常用字符集有 Latin1(即 ISO8859P1)、UTF8、GBK
如 Teradata,常用字符集有 Latin、Unicode(使用 UTF16 编码)
感谢各位的阅读!关于“怎么快速的了解某种数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!