关系型数据库(Relational DataBase Management System), 简称 RDBMS. 说起关系型数据库, 我们脑海中会立即浮现出 Oracle,MySQL,SQLServer 等数据库, 这些都是我们常用的关系型数据库.
关系型数据库最大的特点就是在其关系这个词, 它可以保存数据库中的各种关系. 那么这个关系如何理解呢? 我们就拿学校的一个例子来讲吧. 在学校里, 我们有老师 (Teacher), 学生(Student), 课程(Course) 这几个实体, 而这几个实体之间都是有一定关系的. 例如: 一个老师能教多个学生, 一个学生也能被多个老师教, 所以老师和学生之间的关系是 N:N 的关系. 于此类似, 学生与课程也是 N:N 的关系.
关系型数据库的发展历程
在 1979 年, Larry Ellison 使用汇编和 C 语言主导开发了第一个商用关系型数据库 Oracle. 在此之后的接近 16 年内的时间, Oracle 数据库一路奔跑, 成为了世界上最流行的关系型数据库.
在 1989 年, 微软 (Microsoft) 也发布了一个关系型数据库 SQL Server, 但其同样也是一个收费的商业型数据库.
直到 1995 年, 瑞典公司 MySQL AB 发布了 MySQL 数据库的第一个版本, 从此终结了关系型数据库只能用 Oracle,SQL Server 这些收费软件的神话.
在 MySQL 诞生后, 因为其开源, 免费的特性, 所以其得到了众多中小使用者的拥护, 其用户量增长迅猛. 而在这期间, MySQL 的主人也几易其手. 在 2008 年, Sun 公司收购了 MySQL AB 公司, 同时也获得了 MySQL 数据库的管理权. 在 2010 年的时候, Oracle 公司收购了 Sun 公司, 获得了 MySQL 的管理权. 而就在 Oracle 收购 Sun 公司的当天, 因为担心被 Oracle 收购后 MySQL 的前景会受到限制, 被称为 MySQL 之父的 Michael Widenius fork 了 MySQL 的一个分支, 启动了 MariaDB 项目.
果不其然, 在被收购不久后, MySQL 随即推出了相关的收费版本. 虽然原来的免费版本仍然可以使用, 但在可预见的未来, Oracle 投入到 MySQL 中的精力可能很有限. 毕竟 Oracle 是一个商业公司, 也是要养家糊口的.
现在我们可以了解到现在主流关系型数据库的诞生和发展概况, 主要可以分为下面几个阶段:
1979 年, Oracle 数据库诞生
1989 年, SQL Server 数据库诞生
1995 年, MySQL 数据库诞生
那这些关系型数据库都有什么差异呢?
它们各自的适用场景又是哪些呢?
MySQL 与 Oracle 之间的恩怨
说到上面这三个数据库, 很多人的印象是 Oracle 很大, 但是很难使用. MySQL 使用很方便, 似乎是最好的选择. SQL Server 是最没有存在感的一个数据库, 基本上处于高不成低不就的状态.
从 db-engines.com 网站关系型数据库市场份额排名来看, 现在市场份额最高的还是 Oracle 数据库, MySQL 次之, 接下来则是 SQL Server 数据库.
上图的排名似乎远远颠覆了我们的日常认知, 因为在我们周边貌似很少人使用 Oracle, 但为什么其市场份额能这么高呢?
任何事情都不可能空穴来风, Oracle 能占有这么大市场份额是因为其在海量数据的处理上更具有优势, 并且能提供一整套的数据存储解决方案. 所以在一些非常大的企业里, 这些企业拥有庞大的资金能力, 所以它们会选择用钱购买解决方案, 而不是自己雇佣人员使用 MySQL 去维护. 总的来说, Oracle 比起 MySQL 具有下面的优点:
众多的数据库特性, 能满足企业的多样性需求
海量数据处理的优势
一整套数据解决方案
但是 Oracle 的缺点也很明显, 那就是价格昂贵.
因为 Oracle 有上面这些特性, 所以 Oracle 更加适合那些大型跨国企业. 因为这些企业资金充足, 能承担得起 Oracle 的昂贵费用. 另一方面, 这些企业的数据量也是非常庞大, 它们更注重数据的安全性和高效存储, 并且关心的出现问题的时候能快速解决, Oracle 提供的一系列服务正好符合它们的需求.
而对于一些中小型企业或者个人使用者来说, 一方面 Oracle 软件非常笨重, 另一方面 Oracle 授权费用昂贵, 对于它们来说无法承受. 而它们的数据库又恰好不是特别大, 所以对于这些使用者来说, 使用 MySQL 已经能够解决它们的需求了. 那么也就无需去付费使用 Oracle 的数据库了.
总结
如果单单是从数据库性能来比较的话, 那么 Oracle 数据库无疑是天下第一, 吊打 MySQL 的, 毕竟 Oracle 比 MySQL 诞生早了 10 多年. 但很多时候还是得结合具体的使用场景来做出合适的选择, 毕竟杀鸡不用牛刀嘛, 能不用钱解决的, 为何要付费解决呢!
所以当你的数据量很大, 并且你自身并不缺钱, 那么你直接上 Oracle 吧! 如果资金有限, 数据量也不大, 那么就用 MySQL 吧!
来源: https://www.cnblogs.com/chanshuyi/p/the_history_of_database.html