各大数据库特点或优缺点

MongoDB 是一个基于分布式文件存储的数据库,是一种文档型数据库。关系与非关系之间。可以将热点数据加载到内存。不支持事务操作。占用空间过大。用C++编写的无模式数据库。内部存储器来存储工作集,这是其快速访问的原因。一个面向文档存储的数据库,操作起来比较简单和容易。

优点:

  • 文件验证
  • 加密存储引擎

常用用例:

  • 移动应用
  • 产品目录
  • 内容管理

  • 具有内存存储引擎(beta)的实时应用程序

  • 减少主要故障恢复的时间

缺点:

  • 不适合需要处理复杂事务的应用程序
  • 不是传统应用程序的替代品

MySQL

MySQL关系型数据库,体积小、速度快、成本低,开源。现在归 Oracle 拥有,开源协议是基于GPL协议,任何公司都可以免费使用,不允许修改后和衍生的代码做为闭源的商业软件发布和销售,只有innodb引擎支持事务,对ACID的支持上比PG稍弱弱,复制是基于binlog的逻辑异步复制,无法实现同步复制,仅在InnoDB中支持MVCC(并发版本控制)。

优点:

  • 基于主机的验证
  • 即使没有网络也可用
  • 灵活的权限和密码系统
  • 所有密码的安全加密
  • 可以嵌入到独立应用程序中的库
  • 提供服务器作为客户端/服务器联网环境的独立程序

缺点:

  • 被 Oracle 收购:

    • 用户觉得 MySQL 不再属于免费和开源

    • 不再是社区驱动

    • 会员无法修复 bug 和补丁

    • 由于更新缓慢而落后于其他数据库


MariaDB为MySQL的社区版本的一个分支功能基本一致。 优点:

  • 高可扩展性,易于集成

  • 能够实时访问

  • 具备 MySQL 的核心功能(MariaDB 是 MySQL 的替代方案)

  • 备用存储引擎,服务器优化和补丁

  • MariaDB 已经运作了20多年的广泛知识库

缺点:

  • 缺少密码复杂性插件

  • 没有 memcached 界面

  • 没有优化器跟踪   


SQLServer关系数据库。只能windows上运行,


Oracle安全性高,性能高,


PostgreSQL关系型数据库,还完全符合 ACID 要素(原子性,一致性,隔离性,持久性),PG的开源协议特别灵活,可以做到同步,异步,半同步复制,以及基于日志逻辑复制,可以实现表级别的订阅和发布,通过其MVCC实现有效地解决了并发问题,从而实现了非常高的并发性

优点:

  • 创建自定义数据类型和查询方法

  • 框架允许定义和创建自定义数据类型

  • 以十几种编程语言运行存储过程:

    • Java,Perl,Python,Ruby,Tcl,C / C ++及其自己的PL / pgSQL

  • GiST(广义搜索树)系统

    • B 树,B+树,R 树,部分和树,以及排名的 B+ 树

    • 提供不同的排序和搜索算法:

  • 创建扩展如 CitusDB 更多的并行性,而不修改 Postgres 代码

缺点:

  • MVCC系统需要定期的“清理(vacuuming)”

    • 高交易率环境中的问题

  • 由强大的社区发展起来的

改进需要更大的努力


SQLite关系数据库

优点:

  • 没有单独的服务器进程

  • 文件格式是跨平台的

  • 紧凑型库:运行速度比更大内存的还要快

  • 符合 ACID 原则

  • 占用小重量轻

    无需安装或配置

缺点:

  • 不推荐用于:

    • 客户端/服务器应用程序

    • 大容量网站

    • 大数据集

    • 高并发性    


Firebird

优点

  • Trace API 用于实时监控

  • Windows 信任的身份验证

  • 四个支持的架构:

    • SuperClassic, Classic, SuperServer, 和 Embedded

  • 多种开发工具:

    • 商业工具:FIBPlus 和 IBObjects

  • 自动扫描选项用于清理数据库

  • 数据库触发器和存储过程的事件通知

  • Firebird 的大型全球社区提供免费支持

缺点:

  • 不包括集成复制支持(仅作为附件)

  • 缺少临时表格和与其他数据库系统的集成

  • 与其他操作系统解决方案相比,缺乏 Windows 信任认证