一、何为数据库?
数据库是以表格形式保存数据的特定结构。 支持通过基于表格结构的数据流的软件称为数据库管理系统(DBMS)。使用最广泛的数据库管理系(DBMS)是关系数据库管理系统(RDBMS)。数据库管理系统(DBMS)是一种计算机软件应用程序,可与终端用户,其他应用程序和数据库本身交互以捕获数据。通用数据库管理系统允许定义,创建,查询,更新和管理数据库。
数据库及其数据的功能是:
数据定义 | 创建,修改和删除为数据组织奠定基础的定义 |
---|---|
数据更新 | 插入,修改和删除数据 |
检索 | 通过进行特定查询从整个数据库检索数据 |
管理 | 用户创建和修改,数据安全性,性能监控,数据完整性,并发控制和数据恢复 |
因此,数据库系统是数据库模型,数据库管理系统(DBMS)和数据库的组合。
二、MariaDB和MySQL的比较
1. 概念:
MySQL:
MySQL是一个用C和C ++编写的开源多线程关系数据库管理,适用于任务关键型,重载生产系统以及嵌入大规模部署的软件。它被认为是LAMP栈(Linux,Apache,MySQL和PHP)的核心组件。MySQL数据库适用于Linux,Windows,MAC,BSD,UNIX等各种操作系统平台。
MySQL现在是Oracle公司以及其附属公司拥有的商标,并且是双重许可。用户可以选择GNU许可作为开源软件使用,甚至可以购买有Oracle许可证的商业软件。
MySQL体系结构:
MySQL服务器基于分层架构,由主要子系统和支持组件组成,它们通过相互交互来读取,解析和执行查询以返回结果。
MySQL的五种主要子系统是:查询引擎、 存储管理器、缓冲管理器、事务管理器、恢复管理器
MySQL的两个支持组件是:进程管理、函数库
MariaDB:
MariaDB数据库管理系统是MySQL的一个分支 ,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险,MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。
2. 特点:
MySQL的特点:
关系数据库管理系统: MySQL支持所有功能,这使得它成为一个完整的关系数据库管理系统(RDBMS)。它支持完整的SQL作为查询和更新数据的标准化语言,并且可以管理数据库。
简单而安全: 与其他数据库管理系统(DBMS)软件相比,MySQL使用非常简单且具有交互性,并且具有可靠的数据安全层,可为数据提供高效的加密,因此非常安全。
客户机/服务器体系结构: 其简单的客户机/服务器体系结构可帮助终端用户创建一个与许多客户机连接的服务器,以便与服务器进行通信进行插入,更新和管理数据库。
可伸缩性: MySQL可以处理大量数据而不会出现任何卡顿 – 多达5000万行。它可以处理高达8TB的数据而没有任何问题。
跨平台: 与几乎所有操作系统兼容,如UNIX,Windows,Linux,MAC OS X等。
高性能,灵活且高效的生产力: MySQL提供更快速,高度可靠,便宜的存储解决方案,并支持大量嵌入式应用程序。它利用触发器,程序和视图来提高生产力。
MariaDB的特点:
MariaDB可用于GPL,LGPL和BSD。
它包括广泛的存储引擎选择,包括高性能存储引擎,用于与其他关系数据库管理系统(RDBMS)数据源一起工作。
它使用标准和流行的查询语言。
MariaDB在许多操作系统上运行,并支持各种编程语言。
它提供对PHP的支持,PHP是最流行的Web开发语言之一。
它提供Galera群集技术。
MariaDB还提供了很多在MySQL中不可用的操作和命令,并消除/取代了对性能产生负面影响的功能。其他功能还包括多源复制,融合IO优化,表发现和联机更改表。
3. MariaDB相对于MySQL的优缺点:
优点:
MariaDB针对性能进行了优化,对于大型数据集,它比MySQL强大得多。从其他数据库系统可以优雅的迁移到MariaDB是另一个好处。
从MySQL切换到MariaDB相对容易,这对于系统管理员来说好像是一块蛋糕。
MariaDB通过引入微秒级精度和扩展用户统计数据提供更好的监控。
MariaDB增强了KILL命令,使您可以杀死用户的所有查询(KILL USER 用户名)或杀死查询ID(KILL QUERY ID query_id)。MariaDB也转而使用Perl兼容的正则表达式(PCRE),它提供比标准MySQL正则表达式支持更强大和更精确的查询。
MariaDB为与磁盘访问,连接操作,子查询,派生表和视图,执行控制甚至解释语句相关的查询应用了许多查询优化。
MariaDB纯粹是开源的,而不是MySQL使用的双重授权模式。一些仅适用于MySQL Enterprise客户的插件在MariaDB中具有等效的开源实现。
与MySQL相比,MariaDB支持更多的引擎(SphinxSE,Aria,FederatedX,TokuDB,Spider,ScaleDB等)。
MariaDB提供了一个用于商业用途的集群数据库,它也支持多主复制。任何人都可以自由使用它,并且不需要依赖MySQL Enterprise系统。