数据库的种类

2020-08-08 10:50 By "Powerless" 2826 0 1

【层次数据库(Hierarchical Database,HDB)】

    层次数据库是最早研制成功的数据库系统,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。

    比较具有代表性的层次数据库是 IMS(Information Management System)数据库,由 IBM 公司研制成功。


【关系型数据库(Relational Database,RDB)】

    关系型数据库是现在应用最广泛的数据库。关系型数据库在 1969 年诞生,可谓历史悠久。和 Excel 工作表一样,关系型数据库也采用由行和列组成的二维表来管理数据,所以简单易懂。同时,它还使用 SQL(Structured Query Language,结构化查询语言)对数据进行操作。

    传统的关系型数据库采用表格的存储方式,数据以行和列的方式进行存储,要读取和查询都十分方便。下表是一些在关系型数据库中的数据。

    比较具有代表性的关系型数据库有 Oracle Database、SQL Server、DB2、PostgreSQL 和MySQL。


【面向文档(Document-Oriented)数据库】

    文档型数据库的灵感来自于 Lotus Notes 办公软件,和最后一种键值存储数据库类似。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。

    面向文档数据库会将数据以文档的形式存储。每个文档都是一系列数据项的集合。每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。

    数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或者JSONB等多种形式存储。

    具有代表性的面向文档数据库有 MongDB 和 CouchDB。


【列存储(Column-oriented)数据库】

    列存储数据库将数据存储存在列族(column family)中,一个列族用来存储经常被一起查询的相关数据。例如,如果有一个 Person 类,我们经常会一起查询他们的姓名和年龄而不是薪资。这种情况下,姓名和年龄就会被放入一个列族中,而薪资则在另一个列族中。

    列存储数据库通常用来应对分布式存储的海量数据。具有代表性的列存储数据库有 Cassandra 和 HBase。


【XML 数据库(XML Database,XMLDB)】

    XML 数据库是一种支持对 XML(标准通用标记语言下的一个应用)格式文档进行存储和查询等操作的数据管理系统。在系统中,开发人员可以对数据库中的 XML 文档进行查询、导出和指定格式的序列化。


【键值存储数据库(Key-Value Store,KVS)】

    键值存储数据库是用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。具有编程语言知识的读者可以把它想象成关联数组或者散列(hash)。

    近年来,随着键值存储数据库被应用到 Google 等需要对大量数据进行超高速查询的 Web 服务当中,它正逐渐为人们所关注。

    具有代表性的键值存储数据库有 Redis、Memcached 和 MemcachedDB。


评 论

View in WeChat

Others Discussion

  • PHP练习-移动数组内的0到最后并保持其他元素顺序不变
    Posted on 2020-08-14 20:32
  • PHP设计模式 - 委托模式
    Posted on 2019-04-25 16:15
  • HTTP头中隐藏PHP版本号
    Posted on 2021-01-11 16:38
  • Composer 异常 [ErrorException]
    Posted on 2019-11-25 17:55
  • PHP8.1 性能基准测试
    Posted on 2022-10-08 17:40
  • 必学十大经典排序算法,看这篇就够了
    Posted on 2019-11-18 16:30
  • Linux工具 - NM目标文件格式分析
    Posted on 2019-04-24 10:29
  • PHP练习-爬楼梯问题
    Posted on 2020-08-14 23:56