Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

雪域孤鸿 2019-01-22

Oracle、MySQL、Microsoft SQL Server、PostgreSQL四大关系型数据库(DBMS)虽然互相之间暗自角力,但是仍然携手一统江湖数十年。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

上期我们对四大DBMS非技术因素的基本信息进行了比对,详见Oracle、MySQL等四大关系型数据库竞品分析之1-基本信息篇。

本期我们将进一步从基本技术角度进行比对。

1、实现DBMS的语言

谁说C语言是旧时代的产物,C语言其实是跨时代的超级大佬,四个DBMS全都是基于C或C++实现的。

  • Oracle:C和C++
  • MySQL:C和C++
  • SQL Server:C++
  • PostgreSQL:C

2、服务端操作系统

每个DBMS服务端的宿主操作系统各不相同。

  • Oracle

AIX、HP-UX、Linux、OS X、Solaris、Windows、z/OS

  • MySQL

FreeBSD、Linux、OS X、Solaris、Windows

  • SQL Server

Linux、Windows

  • PostgreSQL

FreeBSD、HP-UX、Linux、NetBSD、OpenBSD、OS X、Solaris、UNIX、Windows

3、DBMS支持的开发语言

Oracle支持的开发语言最多。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

四大DBMS支持的开发语言

4、服务端SQL脚本语言

各家语言都在标准SQL的基础上有所延伸,并不一定完全兼容标准SQL,并实现了一些特殊功能。一般开源的DBMS与标准SQL兼容度较好,商业化的DBMS会有更多扩充和不同。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

服务端SQL脚本语言

5、API等数据库连接方式

JDBC和ODBC是每家不可或缺的,此外每家都会进一步补充自己的特色连接方式。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

API等数据库连接方式

6、分区方法

分区方法,通俗的说,就是在不同节点上存储不同数据的方法。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

分区方法

7、复制方法

亦即在多个节点上冗余存取数据的方法。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

8、对MapReduce的支持

即是否提供了用户定义Map/Reduce API的方法,四大DBMS基本无支持,但是Oracle可以通过PL/SQL变通实现。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

对MapReduce的支持

9、事务

事务的四大特性是ACID:

  • A:原子性
  • C:一致性
  • I:隔离型
  • D:持久性

不同DBMS对于ACID基本都支持,但也会有不同之处。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

对事务的支持

10、内存支持

是否提供了一种可选方式,使得所有或一些结构可以只被放在内存中。

Oracle、MySQL等四大关系型数据库竞品分析之2-基本技术篇

内存支持

本系列根据DB-Engines等资料整理。
下期继续进行具体技术比对,欢迎关注“老王谈运维”。

相关推荐