Mysql梳理1——数据库概述(上)
条记来源:【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】 https://www.bilibili.com/video/BV1iq4y1u7vj目录
11.2 引入
11.2. 1 数据库与数据库管理系统
11.2.2 数据库与数据库管理系统的关系
11.2.3 常见的数据库管理系统排名(DBMS)
11.2.4 常见的数据库先容
11.2 Mysql先容
11.2.1 概述
11.2.2 MySQL发展史庞大事件
11.2.3 Oracle数据库
11.3 RDBMS与非RDBMS
11.3.1 实质
11.3.2 优势
11.4 非关系型数据库(非RDBMS)
11.4.1先容
14.4.2 有哪些非关系型数据库
11.4.3 NoSQL的演变
11.5 小结
11.2 引入
首先,我们先引入一个概念:长期化
长期化(Persistence):把数据保存到可掉电式设备中以供之后利用。大多数情况下,特别是企业级应用,数据长期化意味着将内存中的数据保存到硬盘上加以“固化”,而长期化的实现过程大多通过各种关系数据库来完成。
长期化的主要作用是将内存中的数据存储在关系型数据库中,固然也可以存储在磁盘文件、XML数据文件中。
https://i-blog.csdnimg.cn/direct/a4c3ffd1eec248aba05be06061fe1a30.png
11.2. 1 数据库与数据库管理系统
1.DB(数据库,Database):即存储数据的”仓库“,其本质是一个文件系统,它保存了一系列有组织的数据
2.DBMS:数据库管理系统(Database Management System):是一种操纵和管理数据库的大型软件,用于创建、利用和维护数据库,对数据库进行同一管理和控制。用户通过数据库管理系统访问数据库中表内的数据
3.SQL:布局化查询语言(Structured Query Language):专门用来与数据库通信的语言
11.2.2 数据库与数据库管理系统的关系
数据库管理系统(DBMS)可以管理多个数据库,一般开发职员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
https://i-blog.csdnimg.cn/direct/9dd8badbfc9c4f2f80fd7214701d6dcf.png
https://i-blog.csdnimg.cn/direct/cdb14f370c7c48e7a9ef4848a77f6f84.png
11.2.3 常见的数据库管理系统排名(DBMS)
现在互联网上常见的数据库管理软件有Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、 Sybase、Informix这几种。
下图所示为2024年各个数据库的利用数和利用趋势
DB-Engines Ranking - popularity ranking of database management systemshttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://db-engines.com/en/ranking数据库
https://i-blog.csdnimg.cn/direct/32865f72b8e3433db898451029c219fc.png
historical trend of the popularity ranking of database management systems (db-engines.com)https://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://db-engines.com/en/ranking_trend
https://i-blog.csdnimg.cn/direct/bc8332502b144705b3bc1d75d0dbab28.png
11.2.4 常见的数据库先容
Oracle
1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气 越来越大,公司也改名叫 Oracle 公司。
2007年,总计85亿美金收购BEA Systems。
2009年,总计74亿美金收购SUN。此前的2008年,SUN以10亿美金收购MySQL。意味着Oracle 同时拥有了 MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。
2013年,甲骨文逾越IBM,成为继Microsoft后全球第二大软件公司。 现在 Oracle 的年收入达到了 400 亿美金,足以证实商用(收费)数据库软件的价值。
SQL Server
SQL Server 是微软开发的大型商业数据库,诞生于 1989 年。C#、.net等语言常利用,与WinNT完全集成,也可以很好地与Microsoft BackOffice产物集成。
DB2
IBM公司的数据库产物,收费的。常应用在银行系统中。
PostgreSQL
PostgreSQL 的稳定性极强,最符合SQL标准,开放源码,具备商业级DBMS质量。PG对数据量大的文本以 及SQL处置惩罚较快。
SyBase
已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
SQLite
嵌入式的小型数据库,应用在手机端。 零设置,SQlite3不用安装,不用设置,不用启动,关闭或者设置 数据库实例。当系统崩溃后不用做任何规复操作,再下次利用数据库的时间自动规复。
informix
IBM公司出品,取自Information 和Unix的结合,它是第一个被移植到Linux上的商业数据库产物。仅运行 于unix/linux平台,命令行操作。 性能较高,支持集群,顺应于安全性要求极高的系统,尤其是银行,证券系统的应用。
11.2 Mysql先容
11.2.1 概述
[*]MySQL是一个 开放源代码的关系型数据库管理系统 ,由瑞典MySQL AB(创始人Michael Widenius)公司1995年开发,迅速成为开源数据库的 No.1。
[*]2008被 Sun 收购(10亿美金),2009年Sun被 Oracle 收购。 MariaDB 应运而生。(MySQL 的创 造者担心 MySQL 有闭源的风险,因此创建了 MySQL 的分支项目 MariaDB)
[*]MySQL6.x 版本之后分为 社区版 和 商业版 。
[*]MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将全部数据放在一个大仓库内,这样就增长了速率并进步了灵活性。
[*]MySQL是开源的,以是你不需要付出额外的费用。
[*]MySQL是可以定制的,接纳了 GPL(GNU General Public License) 协议,你可以修改源码来开发自己的MySQL系统。 MySQL支持大型的数据库。
[*]可以处置惩罚拥有上千万条记载的大型数据库。
[*]MySQL支持大型数据库,支持5000万条记载的数据仓库,32位系统表文件最大可支持 4GB ,64位系 统支持最大的表文件为 8TB 。
[*]MySQL利用 标准的SQL数据语言情势。
[*]MySQL可以答应运行于多个系统上,而且支持多种语言。这些编程语言包括C、C++、Python、 Java、Perl、PHP和Ruby等。
11.2.2 MySQL发展史庞大事件
MySQL的历史就是整个互联网的发展史。互联网业务从外交领域、电商领域到金融领域的发展,推动着 应用对数据库的需求提拔,对传统的数据库服务能力提出了挑衅。高并发、高性能、高可用、轻资源、 易维护、易扩展的需求,促进了MySQL的长足发展。
MySQL的历史上有许多庞大事件,这里列举几个:
1979年:Monty Widenius开始开发MySQL的前身,称为ISAM(Indexed Sequential Access Method)。
1995年:MySQL被Skip Spence, Andrew Kretschmann和Michael Widenius创建,最初是为了对现有数据库进行改进。
1996年:MySQL 3.11.1发布,支持了更多的数据类型和查询。
1999年:MySQL对象数据库(ODBM)1.0发布,这是MySQL支持对象的开端。
2000年:MySQL 4.0发布,引入了存储过程、触发器、视图和事件调度器等功能。
2002年:MySQL 4.1发布,引入了全文搜刮功能。
2008年:MySQL被Sun公司以10亿美元收购,不久后Sun公司又被Oracle收购,MySQL成为Oracle的产物。
2010年:MySQL 5.5发布,引入了InnoDB plugin,厥后成为默认的存储引擎。
2013年:MySQL 5.6发布,引入了物理日志,性能得到进一步优化。
2018年:MySQL 8.0发布,引入了窗口函数、公用表表达式(CTEs)、新的数据库系统变量、ASCII标量类型等特性。
2024年4月30日发布了 MySQL 8.4 版本(LTS), 该版本是创新版的第一个长期支持版本。(参考资料:http://t.csdnimg.cn/A40ut)
https://i-blog.csdnimg.cn/direct/c11560c757ff4c3ebbefb807b1460a05.png
为什么如此多的厂商要选用MySQL?
大概总结的原因主要有以下几点:
1. 开放源代码,利用成本低。
2. 性能杰出,服务稳定。
3. 软件体积小,利用简单,而且易于维护。
4. 历史久长,社区用户非常活跃,遇到问题可以寻求资助。
5. 许多互联网公司在用,经过了时间的验证。
11.2.3 Oracle数据库
Oracle vs MySQL Oracle 更适合大型跨国企业的利用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求。
MySQL 由于其体积小、速率快、总体拥有成本低,可处置惩罚上千万条记载的大型数据库,尤其是开放源码 这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库(Facebook,Twitter, YouTube,阿里巴巴/蚂蚁金服,去哪儿,美团外卖,腾讯)。
11.3 RDBMS与非RDBMS
从排名中我们能看出来,关系型数据库绝对是 DBMS 的主流,其中利用最多的 DBMS 分别是 Oracle、 MySQL 和 SQL Server。这些都是关系型数据库(RDBMS)。
11.3.1 实质
这种类型的数据库是 最古老 的数据库类型,关系型数据库模子是把复杂的数据布局归结为简单的 二元关系 (即二维表格情势)。
https://i-blog.csdnimg.cn/direct/db16afc01c9341df8de0ea45ed859822.png
关系型数据库以行(row) 和列(column) 的情势存储数据,以便于用户明确。
这一系列的行和列被称为 表(table) ,一组表构成了一个库(database)。
表与表之间的数据记载有关系(relationship)。现实世界中的各种实体以及实体之间的各种接洽均用 关系模子来表现。关系型数据库,就是创建在关系模子基础上的数据库。
SQL 就是关系型数据库的查询语言。
11.3.2 优势
[*]复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
[*]事务支持 使得对于安全性能很高的数据访问要求得以实现。
11.4 非关系型数据库(非RDBMS)
11.4.1先容
非关系型数据库,可看成传统关系型数据库的功能阉割版本,基于键值对存储数据库,不需要经过SQL层的剖析,性能非常高。同时,通过减少不常用的功能,进一步进步性能。
现在根本上大部分主流的非关系型数据库都是免费的。
14.4.2 有哪些非关系型数据库
相比于 SQL,NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜刮引擎和列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术席卷进来。
键值型数据库
键值型数据库通过 Key-Value 键值的方式来存储数据,其中 Key 和 Value 可以是简单的对象,也可以是复杂的对象。
Key 作为唯一的标识符,长处是查找速率快,在这方面明显优于关系型数据库,
缺点是无法像关系型数据库一样利用条件过滤(好比 WHERE),如果你不知道去那里找数据,就要遍历全部的键, 这就会消耗大量的计算。
键值型数据库典型的利用场景是作为内存缓存 。 Redis 是最盛行的键值型数据库。
文档型数据库
此类数据库可存放并获取文档,可以是XML、JSON等格式。在数据库中文档作为处置惩罚信息的根本单位, 一个文档就相当于一条记载。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。MongoDB 是最盛行的文档型数据库。别的,还有CouchDB等。
搜刮引擎数据库
虽然关系型数据库接纳了索引提拔检索效率,但是针对全文索引效率却较低。搜刮引擎数据库是应用在 搜刮引擎领域的数据存储情势,由于搜刮引擎会爬取大量的数据,并以特定的格式进行存储,这样在检 索的时间才能保证性能最优。核心原理是“倒排索引”。
典型产物:Solr、Elasticsearch、Splunk 等。
列式数据库
列式数据库是相对于行式存储的数据库,Oracle、MySQL、SQL Server 等数据库都是接纳的行式存储 (Row-based),而列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量低落系统的 I/O,适合于分布式文件系统,不足在于功能相对有限。典型产物:HBase等。
https://i-blog.csdnimg.cn/direct/2a2a470a2ea44e02ba441de06ef7dd53.png
图形数据库
图形数据库顾名思义,就是一种存储图形关系的数据库。它利用了图这种数据布局存储了实体(对象) 之间的关系。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。如外交网络中人物之间的关系,如果用关系型数据库则非常复杂,用图形数据库将非常简单。
图形数据库最典型的例子就是外交网络中人与人的关系,数据模子主要是以节点和边(关系)来实现,特点在于能高效地办理复杂的关系问题。
https://i-blog.csdnimg.cn/direct/e45f2acf07fb488aa34aa86bb64cbef1.png
典型产物: Neo4J、InfoGrid等。
11.4.3 NoSQL的演变
由于 SQL 不停称霸 DBMS,因此许多人在思考是否有一种数据库技术能远离 SQL,于是 NoSQL 诞生了, 但是随着发展却发现越来越离不开 SQL。到现在为止 NoSQL 阵营中的 DBMS 都会有实现类似 SQL的功能。下面是“NoSQL”这个名词在不同时期的诠释,从这些释义的变化中可以看出 NoSQL 功能的演变 :
1970:NoSQL = We have no SQL
1980:NoSQL = Know SQL
2000:NoSQL = No SQL!
2005:NoSQL = Not only SQL
2013:NoSQL = No, SQL!
NoSQL对SQL做出了很好的补充,好比实际开发中,有很多业务需求,实在并不需要完备的关系型数据库功能,非关系型数据库的功能就富足利用了。这种情况下,利用性能更高、成本更低 的非关系型数据库固然是更明智的选择。好比:日志网络、排行榜、定时器等。
11.5 小结
NoSQL 的分类很多,即便如此,在 DBMS 排名中,还是 SQL 阵营的比重更大,影响力前 5 的 DBMS 中有 4 个是关系型数据库,而排名前 20 的 DBMS 中也有 12 个是关系型数据库。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]