各大数据库特点或优缺点
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 信任认证
