分享

互联网(IT行业)主流数据库详细汇总

 火鸟课堂 2020-05-05

什么是数据库

维基百科上这样定义:

以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

简单讲,数据库是一个数据仓库,用来存储结构化数据。

数据库类型有哪些

早期比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网(IT行业)中,最常用的数据库模型主要是两种,即关系型数据库和非关系型数据库。

关系型数据库:

创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种关联均采用关系模型来表示。

数据保存在不同的二维表里,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

传统的关系型数据库,如MySql、Oracle、db2、SqlServer、PostgreSql等采用行式存储法。

非关系型数据库:

非关系型数据库也被称为 NoSQL(Not Only SQL的缩写) 数据库,是对不同于传统的关系型数据库的数据库管理系统的统称,可用于超大规模数据的存储。这些类型的数据存储不需要固定的模式(当然也有固定的模式),无需多余的操作就可以横向扩展。

NoSQL数据库拥有高并发、易扩展、可伸缩性,大数据下读写能力较强,而且操作简单,弱结构化存储等通用优点。

NoSQL 划分为 4 种类型:键值数据库、列式数据库、文档数据库和图形数据库。

键值数据库:使用一个哈希表,表中的 Key(键)用来定位 Value(值),即存储和检索具体的 Value。

典型代表:Memcached、Redis(临时性键值存储),ROMA、Redis (永久性键值存储)

优点:

  • 查找速度快
    缺点:
  • 数据无结构化
  • 列式数据库:以列簇式存储,每行列数可变,将一列数据存储在一起。

    典型代表:Cassandra、HBase、HP Vertica、EMC Greenplum

    优点:

  • 查找速度快
  • 扩展性强
  • 缺点:

  • 功能相对局限
  • 文档数据库:通过键来定位一个文档的,是键值数据库的一种衍生品。

    典型代表:MongoDB,CouchDB

    优点:

  • 数据结构要求不严格
  • 表结构可变
  • 不需要预先定义表结构
    缺点:
  • 查询性能不高
  • 缺乏统一的查询语法
  • 图形数据库:以图论为基础,用图来表示一个对象集合,包括顶点及连接顶点的边。

    典型代表:Neo4J、OrientDB、InfoGrid、Infinite Graph 、GraphDB

    优点:

  • 利用图结构相关算法
    缺点:
  • 要对整个图做计算才能得出需要的信息
  • 不太好做分布式的集群方案。
  • 关系型数据库对比分析

    MySql:关系型数据库,瑞典MySql公司开发,属于Oracle公司下的产品,是一个客户机/服务器结构的应用。

    优点:

  • 完全多线程,支持多处理器;
  • 同时访问数据库的用户数量不受限制;
  • 可以保存超过5千万条记录;
  • 运行速度快;
  • 用户权限设置简单、有效;
  • 体积小、成本低、代码开源;
  • 比较适合中小型项目开发。
  • 缺点:

  • 缺乏标准的RI(Referential Integrity-RI)机制;
  • 安全系统,复杂而非标准;
  • 没有一种存储过程(Stored Procedure)语言;
  • 不支持热备份。
  • Oracle:关系型数据库,甲骨文公司开发。在整个数据库领域一直处于领先地位,是目前世界上最流行的关系数据库管理系统。

    优点:

  • 开放性:能在所有主流平台上运行;
  • 安全级别高,非常高;获得最高认证级别的ISO标准认证;
  • 存储强,数据仓库存储能力非常强大;
  • 支持多种操作系统;
  • 处理速度快,非常快;保持开放平台下TPC-D和TPC-C世界记录;
  • 缺点:

  • 价格昂贵
  • db2:关系型数据库,IBM公司研制。主要应用于大型应用系统,具有较好的可伸缩性,支持从大型机到单用户环境。

    优点:

  • 高层次、完整性;
  • 最适于海量数据;
  • 开放性、可移植性好;
  • 可扩展性好;
  • 自动冲突检测;
  • DB2公认为电子商务基石。
  • 缺点:

  • 关闭机制有一定的不足;
  • SqlServer:关系型数据库,微软公司产品。

    优点:

  • 操作简单;
  • 全图形界面;
  • 可伸缩性;
  • 灵活性、扩充性好;
  • 价格便宜。
  • 缺点:

  • 安全性:没有获得任何安全证书;
  • 性能 :多用户时性能不佳;
  • PostgreSql:关系型数据库,美国加州大学计算机系研发。

    优点:

  • 支持继承、函数重载;
  • 复杂的sql、大量的分析函数,非常适合数据仓库;
  • 多CPU利用率比较高;
  • 缺点:

  • 对资源消耗比较大;
  • 不支持类型自动转换,需要显示转换或添加CAST;
  • sql语法限制比较严格。
  • 非关系型数据库

    #仅以MongoDB为例简单介绍

    MongoDB:介于关系数据库和非关系数据库之间,C++语言编写,分布式文件存储,可扩展的高性能数据存储,是一种NoSQL的数据库。存放xml、json、bson类型的数据,数据结构由键值(key=>value)对组成。

    优点:

  • 不需要编写sql语句;
  • 不需要建表,只需定制Collection,MongoDB自动创建Collection。
  • 数据读写速度十分快;
  • 高可用和集群架构拥有十分高的扩展性;
  • 适合文档格式的存储与查询;
  • 适合做数据仓库。
  • 缺点:

  • 不支持事务操作、占用空间过大。
  • 国内有哪些比较优秀的数据库呢

    南大通用、武汉达梦、人大金仓、神舟通用等。

      本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约

      类似文章 更多