课程研讨|数据库原理第一周研讨-2

» StudyDiscuss

数据库产品分类、特点及区别

1. 关系型数据库和非关系型数据库

关系型数据库

数据库由数据表组成,但是每张数据表之间都存在关系。

关系型数据库模型是把复杂的数据结构归结为简单的二元关系。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

非关系型数据库

NoSQL(Not only SQL),泛指非关系型的数据库。

  • 键值存储数据库(key-value)

    ​ 键值数据库就类似传统语言中的哈希表,通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。

    键值数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。key/value模型对于IT系统来说的优势在于简单、易部署、高并发。

  • 列存储数据库(column-oriented)

    ​ 将数据存储在列族中,一个列族存储经常被一起查询相关数据。通常用于应对分布式存储海量数据。

  • 面向文档数据库(document-oriented)

    ​ 该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储。可以看作是键值数据库的升级版,允许之间嵌套键值。

    ​ 数据以文档形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名词与对应值,值既可以是简单的数据类型。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的。

  • 图形数据库

    ​ 允许我们将数据以图的方式存储。实体会被作为顶点,而实体之间的关系则会被作为边。

2. Oracle数据库

简介

​ Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。

特点

  • 完整的数据管理功能
    • 数据的大量性
    • 数据保存的持久性
    • 数据的共享性
    • 数据的可靠性
  • 完备关系的产品
    • 信息准则
    • 保证访问的准则
    • 视图更新准则
    • 数据物理性和逻辑性独立准则
  • 分布式处理功能
    • 分布式处理:分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。
  • 用Oracle能轻松实现数据仓库的操作
    • 数据仓库:数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

优点

  • 可用性强
  • 可扩展性强
  • 数据安全性强
  • 稳定性强

应用

3. MySQL

简介

​ MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

特点

  • 开源的
  • 平台独立性,可在多种操作系统下运行
  • 快速的、可靠的和易于使用的数据库服务器
  • 使用C和C++编写,保证源代码的可移植性
  • 支持多线程,充分利用CPU资源。采用优化SQL查询算法,提高查询速度
  • 既能够作为一个单独的应用程序应用在C/S网络环境中,也能作为一个库嵌入到其他的软件中
  • 提供TCP/IP、ODBC和JDBC等多种数据库连接途径
  • 提供用于管理、检查、优化数据库操作的管理工具
  • 可以处理拥有上千万条记录的大型数据库

4. SQL Server

简介

​ 是Microsoft公司推出的关系型数据库管理系统。具有使用方便、可伸缩性好,与相关软件集成程度高等优点。

特点

  • 是一项完美的C/S系统

  • 与Windows界面风格完全一致,易于安装和学习

  • 兼容性好、可扩展、可靠性高

  • 提供数据仓库服务

5. Memcached

简介

​ 是一套分布式高速缓存系统。其API使用32位元的循环冗余校验计算键值,将资料分散在不同的机器上。当表格满了以后,新增的资料会以LRU机制替换。一般使用目的是通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用速度,提高可扩展性。

特点

  • 协议简单

  • 基于libevent的事件处理
    • libevent是个程序库,将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥I/O性能。
  • 内置内存存储方式

  • 不互相通信的分布式

6. 区别与比较

  • 开放性
    • Oracle、MySQL能在所有主流平台上运行,采用完全开放策略
    • SQL Server只能在windows上运行
  • 面向对象
    • Oracle面向主流大型数据库,用于中大型网站开发
    • MySQL、SQL Server做中小型数据库,用于中小型网站以及个人使用
  • 操作性
    • Oracle较为复杂,同时提供GUI和命令行,多平台下操作相同
    • SQL Server操作简单,采用图形界面(GUI)
  • 易维护性、价格
    • Oracle价格较高,管理复杂
    • SQL Server图形管理界面易掌握,管理费用较低

7. 小结

  • 大型应用系统一般采用Oracle,提供高性能、高安全稳定性以及较高的数据处理能力;Oracle支持大型数据库、支持多种系统平台、数据安全级别为最高级

  • MySQL体积小、速度快,可以在多种操作系统下运行,大大降低数据库系统的总体拥有成本

  • 中小型企业或应用中采用SQL Server作为数据平台,节省资金的同时便于维护管理;运行平台必须是微软公司的操作系统,容易掌握

  • 很多网站使用Memcached提高网站的访问速度,尤其是对于大型的需要频繁访问的网站,减少查询效率,提高查询速度

参考资料

[1] (108条消息) 数据库的分类及产品相关介绍_zhouym_的博客-CSDN博客

[2] 第4章 常用数据库产品比较 - 百度文库 (baidu.com)