雪域孤鸿 2019-01-22
Oracle、MySQL、Microsoft SQL Server、PostgreSQL四大关系型数据库(DBMS)虽然互相之间暗自角力,但是仍然携手一统江湖数十年。
上期我们对四大DBMS非技术因素的基本信息进行了比对,详见Oracle、MySQL等四大关系型数据库竞品分析之1-基本信息篇。
本期我们将进一步从基本技术角度进行比对。
谁说C语言是旧时代的产物,C语言其实是跨时代的超级大佬,四个DBMS全都是基于C或C++实现的。
每个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
Oracle支持的开发语言最多。
四大DBMS支持的开发语言
各家语言都在标准SQL的基础上有所延伸,并不一定完全兼容标准SQL,并实现了一些特殊功能。一般开源的DBMS与标准SQL兼容度较好,商业化的DBMS会有更多扩充和不同。
服务端SQL脚本语言
JDBC和ODBC是每家不可或缺的,此外每家都会进一步补充自己的特色连接方式。
API等数据库连接方式
分区方法,通俗的说,就是在不同节点上存储不同数据的方法。
分区方法
亦即在多个节点上冗余存取数据的方法。
即是否提供了用户定义Map/Reduce API的方法,四大DBMS基本无支持,但是Oracle可以通过PL/SQL变通实现。
对MapReduce的支持
事务的四大特性是ACID:
不同DBMS对于ACID基本都支持,但也会有不同之处。
对事务的支持
是否提供了一种可选方式,使得所有或一些结构可以只被放在内存中。
内存支持
本系列根据DB-Engines等资料整理。 下期继续进行具体技术比对,欢迎关注“老王谈运维”。