我是南城余!阿里云开发者平台专家博士证书获得者!
欢迎关注我的博客!一同成长!
一名从事运维开发的worker,记录分享学习。
专注于AI,运维开发,windows Linux 系统领域的分享!
1. 为什么要使用数据库?
持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企 业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多 通过各种关系数据库来完成。
持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数 据文件中。
2. 数据库类型
RDBMS (关系型数据库) 与 非RDBMS ( 非关系型数据库 )
a. 关系型数据库(RDBMS)
这种类型的数据库是 最古老 的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的 二元关系 (即二维表格形式)。
主流关系型数据库例举:
- MySQL:MySQL 是一种开源的关系型数据库管理系统,被广泛应用于各种规模的应用程序中。它具有高性能、可靠性和灵活性,支持多种操作系统和编程语言。
- Oracle Database:Oracle Database 是由 Oracle 公司开发和销售的一种关系型数据库管理系统。它具有强大的功能和可扩展性,广泛用于企业级应用程序和大型数据处理。
- Microsoft SQL Server:Microsoft SQL Server 是由 Microsoft 公司开发的一种关系型数据库管理系统。它适用于 Windows 环境,并提供了丰富的功能和工具,广泛应用于企业级应用程序和数据分析。
- PostgreSQL:PostgreSQL 是一种开源的关系型数据库管理系统,具有高度可扩展性和灵活性。它支持复杂的数据类型和功能,适用于各种规模的应用程序。
- IBM DB2:IBM DB2 是由 IBM 公司开发的一种关系型数据库管理系统,适用于多种平台和操作系统。它提供了高度可靠性和安全性,并支持大规模数据处理和复杂查询。
- SQLite:SQLite 是一种嵌入式关系型数据库管理系统,具有轻量级和快速的特点。它适用于嵌入式设备和移动应用程序,并广泛应用于各种小型项目和原型开发。
b. 非关系型数据库(非RDBMS)
非关系型数据库,可看成传统关系型数据库的功能 阉割版本 ,基于键值对存储数据,不需要经过SQL层 的解析, 性能非常高 。同时,通过减少不常用的功能,进一步提高性能。 目前基本上大部分主流的非关系型数据库都是免费的。
主流的非关系型数据库例举:
- 文档型数据库(Document Databases):如MongoDB、Couchbase。文档型数据库以类似于JSON的文档格式存储数据,适合存储和查询半结构化数据。
- 键值对数据库(Key-Value Stores):如Redis、Amazon DynamoDB。键值对数据库以键值对的形式存储数据,适合高速缓存、会话存储和分布式存储等场景。
- 列族数据库(Column-Family Databases):如Apache Cassandra、HBase。列族数据库以列族的形式存储数据,适合处理大规模数据集和高可用性需求。
- 图数据库(Graph Databases):如Neo4j、Amazon Neptune。图数据库以图的结构存储数据,适合处理复杂的关系和图分析。
- 时间序列数据库(Time Series Databases):如InfluxDB、Prometheus。时间序列数据库专门用于存储和分析时间序列数据,适合监控和物联网等领域。
- 对象数据库(Object Databases):如db4o、Versant. 对象数据库以对象的形式存储数据,适合面向对象的应用程序和复杂的数据模型。
ⅰ. 非关系型数据库种类
键值型数据库 文档型数据库 搜索引擎数据库 列式数据库 图形数据库
3. 数据库连接
cmd(命令行终端式,Linux无图形界面同理)
mysql -h 主机名 -P 端口号 -u 用户名 -p密码 #实例 mysql -h localhost -P 3306 -u root -pabc123 # 这里我设置的root用户的密码是abc123