新睿云

> 知识库 > 数据库管理系统?云数据库?不想被大浪淘沙而“死掉”您必须要了解

数据库管理系统?云数据库?不想被大浪淘沙而“死掉”您必须要了解

作者/来源:新睿云小编 发布时间:2019-09-25

数据库管理系统(英语:database management system,缩写:DBMS) 是一种针对对象数据库,为管理数据库而设计的大型计算机软件管理系统。具有代表性的数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常数据库管理师会使用数据库管理系统来创建数据库系统。

如果搞过开发的朋友应该对数据库这个词汇并不陌生,现如今不论是应用还是网站想必大家都知道最重要的就是数据了,相对来说应用反而次要,不过是数据的一种处理以及展示形式罢了!选择好一个合适的数据库不单单能提高数据存储的安全性,还能提高程序的执行效率。当然这个应该是程序架构师应该考虑的事情。一套完整的数据库基本基于以下机制:

一、数据库管理系统是一套计算机程序,以控制数据库的分类及数据的访问。一套数据库包括:

1、模型语言,用以因应该数据库管理系统的数据模型,来定义各数据库的schema。

最常用的三大类分别为层次结构式、网络式及关系式的模型。一个数据库管理系统可提供一种、两种,甚至全部三种方式,也可能提供其他形式。最适合的模型要视乎个别应用程序、交易进行比率及查询经常使用的程度等。现时最常使用的则是SQL所支持,相似于关系式模型但又有些微违背的方式。很多数据库管理系统也支持ODBC,以支持程序编写员以标准方法访问该数据库管理系统。

最优化的数据结构(字段、纪录及文件),以支持在永久存储设备(permanent data storage device,即比主存(volatile main memory)慢得多)上存储极大量的数据。

2、查询语言及撰写报表的程序,让用户可以交互方式查问数据库,进行数据分析及依用户的权限来更新数据。

它必须控制数据的保安,以防止不获授权的用户观看甚至更新数据库的数据。用户可以提供有效的密码来访问整个数据库或其中一部分。譬如员工数据库包括所有员工数据的数据,但某组用户可能只被批准查看薪金相关的数据,其他的又可能只可以访问工作履历及病历数据。

如果该数据库管理系统向用户提供可输入更新数据库甚至进行查询的交互途径,则此能力可以用来管理个人的数据库。可是,它不一定提供审核或其他在多用户环境中所需要的各种控制机制。这些机制可能要整套应用程序都为数据输入或更新而修改才能提供。

3、交易机制(最好可以保证ACID特性),在多用户同时访问之下仍维持数据完整性(data integrity),与及提供故障排除(fault tolerance)。

数据库管理系统依靠不容许超过一名用户在同一时间更新同一项纪录来维持数据库的完整性。数据库管理系统可以用唯一索引限制来避免重复纪录。譬如不能有两位顾客有同一个顾客编号(主键)在数据库中存在。

数据库组成图

常见的数据库管理系统

1、数据库管理系统Oracle Database

Oracle无疑是最流行和应用最为广泛的企业级数据库管理系统,同时也是公认的最为先进的大型数据库管理系统。

2、数据库管理系统MySQL

MySQL是最流行的开源免费数据库,默认采用InnoDB数据存储引擎,是一种开源的关系型数据库管理系统。

3、数据库管理系统MongoDB

MongoDB是一种全新的数据库管理软件,提供企业版和社区版的非关系型数据库管理系统。MongoDB使用较为灵活的类JSON格式存储数据,每条数据都可以理解为以键值对形式保存的文档,其灵活性体现在可以随时改变文档的数据结构,社区版是一款非常优秀的免费NoSQL数据库管理工具。

4、数据库管理系统Firebird

同样,作为一款非常流行的关系型数据库管理系统,Firebird以其出色的并发能力、高性能以及强大的语言支持为业界所称道,常常被用于存储SQL程序和触发器。

5、数据库管理系统PostgreSQL

PostgreSQL是一个功能强大的开源对象关系型数据库管理系统,它使用和扩展了SQL语言,并结合许多安全存储和扩展来提升复杂数据工作负载的性能。

6、数据库管理系统MariaDB

我们怎么能够错过MariaDB呢?MariaDB Server是目前最受欢迎的数据库服务器之一。它由MySQL的原始开发人员开发。MariaDB将数据转换为各种应用程序中的结构化信息,应用范围从大型银行业务到各种网站。它是MySQL的增强型替代品。MariaDB是作为开源软件开发的,虽然同样是关系数据库,但是它提供了一个用于访问数据的SQL接口。最新版本的MariaDB还包括GIS和JSON功能。

7、数据库管理系统Cubrid

Cubrid是一个免费的开源关系数据库管理引擎,具有内置的企业级功能。它提供了独特而强大的功能,例如面向对象的数据库元素关系,数据分片,本机中间件代理,高性能数据缓存,可定制和可扩展的全球化支持。至少,它提供了与MySQL和其他已知数据库的高级SQL兼容性。

8、数据库管理系统SQLite

SQLite是一种轻量级的数据库管理软件。它是目前世界上最常用的数据库引擎之一,因为SQLite可以内置于所有手机和大多数计算机中。

当然本文不是商业推广文,也没有收广告费,对于谁好谁差都是仁者见仁智者见智。笔者很难阐述优劣,一个人心中有一千个“哈姆雷特”。Gartner 最近发表的一篇博文,引起了笔者的兴趣。标题是《数据库管理系统的未来就是云计算!》( The Future of Database Management Systems is Cloud! ),这篇博文还宣称,现在公用云就是管理数据的默认平台。不过,这一说法听起来并不那么耸人听闻。这篇博文基于 Donald Feinbert、Merv Adrian 和 Adam Ronthal 的研究,他们都是在数据库管理系统(DBMS)市场有长期经验的行业资深人士。

云数据库组成图

有趣的是,这篇博文还进一步提出了两个值得反复推敲的观点。

1、就数据库管理系统而言,新的创新现在只出现在云端中,或者至少首先出现在云端上。如果你不使用云计算的话,那么你就会错过尝试这些创新的机会。

2、避免资本支出而倾向于运营支出的定价模式正在推动这一转变。换言之,这是一个由基础经济学推动的长期趋势,因此,我们可以预期这种趋势将会持续下去,甚至可能会随着时间的推移而加剧。

这些说法充其量只是误导。如果你正在设计用于管理数据的系统,那么,只看表面价值的话,可能会导致严重的战略失误。你还可能会错过具有竞争力的技术,而且还限制了你企业的盈利能力。

这篇文章阐述的概念中反复突出了云计算,说数据库的创新就在云计算。其实现今已经出现了云数据这个概念,不过云数据库到底是什么呢?

云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。根据数据库类型一般分为关系型数据库和非关系型数据库(NoSQL数据库)。

云数据库的特性有:实例创建快速、支持只读实例、读写分离、故障自动切换、数据备份、Binlog备份、SQL审计、访问白名单、监控与消息通知等。

其优势:

轻松部署

用户能够在RDS控制台轻松的完成数据库申请和创建,RDS实例在几分钟内就可以准备就绪并投入使用。用户通过RDS提供的功能完善的控制台,对所有实例进行统一管理。

高可靠

云数据库具有故障自动单点切换、数据库自动备份等功能,保证实例高可用和数据安全。免费提供7天数据备份,可恢复或回滚至7天内任意备份点。

低成本

RDS支付的费用远低于自建数据库所需的成本,用户可以根据自己的需求选择不同套餐,使用很低的价格得到一整套专业的数据库支持服务。

不得不说其作者的远见卓识,作为一个企业如果不像被大浪淘沙拍死在沙滩上,紧跟技术潮流还是十分紧要的。如果您有兴趣想详细了解云数据库,也可以参阅《不要妖魔化“云”,您的数据库是否适合迁移到云服务器要看具体需求

本文有新睿云独家原创,如有转载请附上文章出处,谢谢合作!

热门标签
new year
在线咨询
咨询热线 400-1515-720
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待