非关系型数据库

class="table-box">
数据库特点
MongoDB文档数据库,灵活的模式,适合处理大规模数据,支持水平扩展。
Cassandra分布式列存储,适合高写入负载和高可用性,支持多数据中心部署。
Redis内存键值存储,速度极快,支持丰富的数据结构,常用于缓存和实时分析。
Couchbase文档存储,结合了键值和文档数据库的特点,支持强一致性和灵活查询。
Neo4j图数据库,适合处理复杂关系的数据,提供高效的图查询语言。
DynamoDB亚马逊提供的完全托管的键值和文档数据库,具备高可用性和可扩展性。



5、服务器、数据库、表的关系

  1. 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  2. 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
  3. 数据库服务器、数据库和表的关系如下:

img




6、MySQL架构

这部分的关键在于理解 mysqld 的构成。

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。


img




我们可以将MySQL的架构大致分为三层来理解:安全管理层、词法解析层和存储引擎层。这样的分层设计不仅清晰地划分了功能模块,还体现了MySQL的高度灵活性和可扩展性。





7、SQL语句的分类

SQL语句通常可以划分为以下五类:

1、数据定义语言(DDL, Data Definition Language)

2、数据操作语言(DML, Data Manipulation Language)

3、数据查询语言(DQL, Data Query Language)

4、数据控制语言(DCL, Data Control Language)

5、事务控制语言(TCL, Transaction Control Language)



这几个SQL的分类其实非常容易理解。我们可以用学习数据结构中的链表来类比:



8、MySQL存储引擎

存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎。

举个比较浅显的例子,你可以把存储引擎看做成一个类,不同的存储引擎就是不同的类,每个类的内部都定制有属于自己的一套存储和管理数据的方案。

查看存储引擎的SQL语句

show engines;
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

执行示例

在这里插入图片描述

存储引擎的对比图

img



注:本文借鉴此篇博客 https://blog.csdn.net/ljh1257/article/details/144963440, 在此基础上加入我的一些想法和见解,以及对一些语言表达和逻辑进行优化

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/2301_79499548/article/details/146001365","extend1":"pc","ab":"new"}">>
注:本文转载自blog.csdn.net的时差freebright的文章"https://blog.csdn.net/2301_79499548/article/details/146001365"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!