数据库是一类软件,这一类软件可以用来管理数据(能够对数据进行保存和增删查改)
数据结构不也是针对数据进行增删查改吗?和数据库有啥区别呢?
数据结构是实现数据增删查改的具体方式
数据库则是管理数据的软件,实现数据库软件内部就用到了很多的数据结构
(数据库中的老大哥) 甲骨文 .Java语言正是 甲骨文 维护的, 最牛逼的数据库(但挺贵的)
什么时候会用到Oracle?(银行)
Oracle贵主要是 买服务 (能上门服务,买一个放心)
Oracle一般要搭配小型机(仅次于超算的机器),不仅软件贵,硬件也贵,像这样的成本使一些互联网大厂都难以承担
应运而生 主打的就是开源免费可白嫖
阿里巴巴为了节约成本,阿里内部当时就推进了 去 Oracle 计划
用 MySQL 代替 Oracle (单挑抵不过可以群殴)
阿里就大大推进了 MySQL 的进化,让 MySQL 各个方面不断完善,甚至可以能够支撑像 双十一 这种非常可怕的业务场景了
于是其他公司也纷纷跟进 MySQL 一下就火起来了
后来 Oracle 直接把 MySQL 收购了
之前 MySQL 是靠社区驱动的,所有权归开源开发者
后来就相当于 Oracle 把版权买断了,以后 MySQL 怎么发展, Oracle 说的算
(就和 Oracle 买了 Java 是一样的)
MySQL 目前仍然是开源免费的,虽然无法超越 Oracle
之后 MySQL 的原作者另起炉灶,把 MySQL 的代码另外搞了分支,成了一个新的数据库 MariaDB (虽然和 MySQL 兼容,影响力还是差不少的)
这个数据库是 微软 搞的一个数据库,很多学校的数据库课,都是用 SQLServer
SQLServer 市场占有率并不高
东西是好东西,但微软早期的营销策略存在大问题
最开始微软是把 SQL Server 和 Windows Server 系统捆绑销售的
当时的 SQL Server只支持 Windows 系统,但当时且当下,服务器端主流的操作系统是 Linux,
当时SQL Server 并不能在 Linux 系统上运行
因此 SQL Server 的使用情况非常不乐观
后来微软改变策略,也想支持 Linux 的时候,为时已晚
安装 SQLServer 需要几个G的空间,安装 MySQL 也需要几百兆的空间,但 SQLite 整个数据库就只有一个可执行文件,体积大约是 1 MB 左右,是一个非常轻量的数据库
事实上,SQLite 市场份额也非常高
Android 手机上内置的数据库就是 SQLite
上述谈到的数据库都称为 关系型数据库,这样的数据库是按照 表格 的形式来组织数据的.(像 excel 表格)
因此,上述几种数据库,使用方法大同小异,所以只需要熟练掌握其中一个,后续如果用到其他的数据库也能信手拈来。
非关系型数据库也叫做 NoSQL
Redis , MongoDB, HBase… 都是非关系型数据库,往往是按照 键值对 或者 文档 的形式组织的
文档的结构更松散,没有上述的表格这样严格的要求
实际开发中,一个复杂的系统(网站)背后往往有多种 存储介质 ,很可能是 关系型数据库 和 非关系型数据库 搭配使用的
上述这些数据库中,最广泛使用的还得是 MySQL
上述数据库中,分成了关系型数据库和非关系型数据库,MySQL 属于关系型,使用 表 的结构来组织数据