一、基础概念

1.什么是数据库

  • 存储数据的仓库DB(DataBase)

  • 数据库管理系统DBMS

  • 核心功能:对数据进行增、删、改、查(CRUD)

  • 数据(data):对客观事务的记录,数字、文字、图形、符号、声音、视频等

  • 信息(info):进行加工、处理后的数据

2.数据库的分类?

  • 模型:

    • 关系模型(RDBMS):适合存储结构化数据(表格);

    • 非关系模型(NoSQL):适合存储半结构化数据(HTML)和非结构化数据(聊天记录);Redis(缓存)、MongoDB(文档型)

  • 部署:

    • 本地环境(裸金属服务器)

    • 云主机环境(私有云、公有云)

  • 用途:

    • OLTP:在线事务处理(重点:增删改查

    • OLAP:在线分析处理(简单了解)

    • HTAP:混合(简单了解)

  • 架构:

    • 集中式:所有数据存储在一台服务器上;

    • 分布式:将数据拆分到多台服务器上,通过网络连接;理论上可以无限扩容;

    • 云原生:云厂商提供的服务;

  • 介质:

    • QPS 每秒的请求量

    • 磁盘:持久化储存,断电不丢失;读写I/O性能较远低于内存;

    • 内存:一般作为缓存使用;临时存储,I/O性能高,方便快速的读写,断电后数据会消失;(抗高并发,节省成本)仅作为中间层;

3.关系型数据库和非关系型数据库的区别?

  • 结构化数据:例如:表格由行和列构成,每一列都要固定的格式和类型。

  • 半结构数据:例如:html、xml、json、yaml

  • 非结构化数据:例如:聊天记录、评论…

  • 关系型数据库RDBMS:结构化存储、SQL语句(结构化查询语言)

    • Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Snowflake、IBM Db2、SQLite

  • 非关系型数据库NoSQL:非结构化存储、半结构化存储

    • MongoDB:文档数据库、适合存储JSON数据。

       {
           name:"zhangsan",
           age:18
       }
    • Redis:内存型数据库,适合做缓存 K-V

    • Elasticsearch:适合全文搜索

4.了解数据库top10?国产信创数据库有哪些?

1.Oracle 甲骨文公司,收费的大型数据库,银行、金融、民航、电力…

2.MySQL 是一个C/S关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,目前依旧开源免费。MariaDB是MySQL的开源分支,是由原作者重新开源的产品。在互联网公司使用极为普遍。

3.Microsoft SQL Server 在Windows Server使用的数据库,常用于财务管理系统、餐饮管理系统等。

4.PostgreSQL 世界上最先进的开源关系数据库。诞生在加州大学伯克利分校。

5.MongoDB 文档数据库、适合存储JSON数据。

6.Snowflake 数据库是一款基于云的高性能数据仓库,具有独特的架构和强大的功能。

7.Redis 开源的基于内存型、key-value结构的数据库,用于数据缓存,实现高并发。

8.IBM Db2 和IBM服务器绑定使用。

9.Elasticsearch 搜索引擎,适合全文搜索、日志分析等功能。

10.SQLiet 微型关系数据库,以文件的方式存储数据,支持SQL,嵌入式设备、手机、App后台数据存储。

国产信创数据库

  • 达梦数据库

  • 金仓数据库

  • OceanBase

  • openGauss

5.SQL是什么?

SQL:(Structured Query Language)结构化查询语言,用于操作关系型数据的语言。