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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(1)

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

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

1、实现DBMS的语言

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

2、服务端操作系统

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

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

FreeBSD、Linux、OS X、Solaris、Windows

Linux、Windows

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

3、DBMS支持的开发语言

Oracle支持的开发语言最多。

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(2)

四大DBMS支持的开发语言

4、服务端SQL脚本语言

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(3)

服务端SQL脚本语言

5、API等数据库连接方式

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(4)

API等数据库连接方式

6、分区方法

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(5)

分区方法

7、复制方法

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(6)

8、对MapReduce的支持

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(7)

对MapReduce的支持

9、事务

事务的四大特性是ACID:

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(8)

对事务的支持

10、内存支持

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

oracle数据库基础与案例开发详解:MySQL等四大关系型数据库竞品分析之2-基本技术篇(9)

内存支持

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

,