我是靠谱客的博主 甜蜜酸奶,最近开发中收集的这篇文章主要介绍数据库简介基础复习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、什么是数据库?

数据库是按照数据结管理系统构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据库存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库(RDBMS)来存储和管理大数据量。
所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
Mysql是最流行的关系型数据库管理系统,在web应用方面mysql是最好的RDBMS(Relational Database Management System: 关系数据库管理系统)应用软件之一。

2、数据库在开发中的作用

从数据库系统应用角度来看,数据库系统常见的运行与应用结构有:客户端/服务端结构、浏览器/服务器结构。
在客户端/服务端(Client/Server,C/S)结构中,数据库的使用者(如DBA、程序设计者)通过命令行客户端、图形化界面管理工具或应用程序等连接到数据库管理系统,可以通过数据库管理系统查询和处理存储在底层数据库中的各种数据
数据库使用者与命令行客户端、图形化界面管理工具或应用程序等直接交互,而不与数据库管理系统直接联系。
在这种结构中,命令行客户端、图形化界面管理工具或应用程序等称为
“客户端”或“前台”,主要完成与数据库使用者的交互任务;而数据库管理系统则称为“服务器”或“后台”,主要负责数据管理。这种结构经常被称为“C/S”结构。
在客户端/服务器模式中,客户端和服务器可以同时工作在同一台计算机上,这中工作方式称为“单机方式”;也可以“网络方式”运行,即服务器被安装和部署在网络中某一台或多台主机上。
对于客户端应用程序的开发,目前常用的语言工具主要有Visual C++、Delphi、.Net框架、Visual Basic、Python等。
数据库能有效存储数据,读取数据、查找数据更是方便,其实那些管理软件就是通过软件的界面向内部的数据库进行数据的增、删、改、查操作。

3、常见数据库比较

3.1MySQL数据库
定位:
开源、多平台、关系型数据库
目前使用最广泛、流行度最高的开源数据库
功能:
支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据,有插件式存储引擎,支持多种存储引擎格式。
部署:
用编译安装的方式,或二进制包的方式,按照“安装软件-创建实例-库表用户初始化”,可以很快完成数据库部署。
使用:
使用标准的SQL语句进行数据库管理,简单SQL语句的并发和性能较好,对视图、存储过程、函数、触发器等支持的不是太好。
监控:
在命令行界面有一些常用的命令显示状态和性能,在图形界面方面,有比较多的开源监控工具来监控和记录数据库的状态,比如zabbix,nagios,cacti,lepus等。
备份:
逻辑备份mysqldump/mysqldumper,物理备份 用xtrabackup等工具进行备份。
高可用:
Mysql高可用有多种方案,官方有基础的master-slave主从复制,新版本的innodb cluster,第三方的有MHA等高可用方案。
扩展:
Mysql水平拆分,可以通过水平拆分proxy中间进行逻辑映射和拆分,扩大Mysql数据库的并发能力和吞吐量
适用场景:
默认的innodb存储引擎,支持高并发,简单的绝大部分OLTP场景。
MYISAM是MySQL关系数据库管理系统的(5.5之前)默认存储引擎。
它的查询效率高,占用内存少,检查和修复表格的大多数工具,如果只进行基础的CRUD操作,没有事务操作,那么Myisam是非常好的存储引擎选择。
MEMORY存储引擎插入数据速度快,如果查询临时表,可以选择这个引擎。
选择注意:
使用Mysql进行OLTP业务时,需要注意数据量级,如果数据量级过大,需要进行水平拆分;
如果有OLAP需求,可以结合其他架构综合考虑。
3.2 SQL Server数据库
定位:
商业、Windows平台、关系型数据库
最早接触、与微软体系结合紧密的商业数据库,属于“微软技术体系”
功能:
支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据。
部署:
在Windows平台,用图形界面进行软件安装。
使用:
在Windows平台,使用SQL Server Mangement Studio图形界面进行安装。
监控:
一般通过Windows资源管理和SQL server图形工具极限系统和数据库性能显示。
备份:
通常用第三份备份恢复软件进行备份恢复。
高可用:
通过共享存储和双机热备的方式,可以实现SQL Server数据库的高可用。
扩展:
SQL Server数据库集群采用共存存储的方式,通过硬件垂直升级来对数据库集群进行扩展。
使用场景:
大多数OLTP场景(与微软体系配合)
选择注意:
SQL Server与微软技术体系结合比较紧密,绝大多数工作,都是通过图形界面完成,对于习惯使用命令行的DBA可能会有些不习惯。
SQL Server对双引号,大小写,元信息的管理和处理方式,与其他数据库很不相同,需要注意。
使用SQL Server满足OLTP业务,会有比较好的效果,但对于大数据量的OLTP业务,最好还是选用专门的OLTP架构,不要在同一个SQL Server实例上混用OLTP和OLAP业务。
SQL Server属于商业软件,需要注意版权和licence授权费用。
3.3 Oracle数据库
定位:
商业、多平台、关系型数据库
功能最强大、最复杂、市场占比最高的商业数据库
功能:
支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据。
部署:
Oracle单实例数据库部署相对容易,但Oracle RAC集群环境,部署的步骤和依赖条件都比较多。
使用:
通常使用命令行工具,进行各种数据库的管理,通常也可以用shell脚本和python脚本提高Orcale数据库管理效率,各种管理功能,都比较强大。
监控:
Oracle官方有比较全面的监控工具,常用的第三方监控平台,如zabbix、cacti、lepus等都有对Oracle数据库的各项指标的完善监控。
备份:
支持冷备份和热备份,可以用exp/imp,expdp/impdp等进行逻辑备份和恢复,可以使用强大的RMAN工具进行专业的物理热备份和恢复。
高可用:
Oracle数据库的高可用架构,可以用第三方双机热备软件,结合Oracle单实例实现,可以使用Oracle Dataguard,实现mastr和standby的备份,可以使用Oracle RAC集群实现实例级别的高可用和负载均衡,使用ASM实现存储级别的高可用。
扩展:
由于Oracle集群采用共享存储的方式,一般只能通过垂直硬件升级进行升级。
使用场景:
绝大多数OLTP场景,部分OLAP。
选择注意:
Oracle从架构到运维,可以说是最难的数据库,学习和使用难度较高。

Mysql的优势

MySQL 使用的 SQL 语言是用于访问数据库的最常用的标准化语言。
  由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,因此搭配 PHP 和 Apache 服务器可组成良好的开发环境。
  MySQL 数据库管理系统具有以下系统特性:
(1) 使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。
(2)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
(3)为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
(4)支持多线程,充分利用 CPU 资源。
(5)优化的 SQL 查询算法,有效地提高查询速度。
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
(7)提供多语言支持,常见的编码如中文的 GB 2312、BIG 5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
(8)提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
(9)提供用于管理、检查、优化数据库操作的管理工具。
(10)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
(11)支持多种存储引擎。

以上用于复习 资料来源于网上 仅供参考

最后

以上就是甜蜜酸奶为你收集整理的数据库简介基础复习的全部内容,希望文章能够帮你解决数据库简介基础复习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部