数据库分类知多少

写了好多年的后端,一直没想过咱们使用的数据库究竟有多少,为什么一直用mysql,今天巴拉巴拉,真的是愧对IT农民工这个新名词,下面看看咱们有多少数据库吧

(转:http://c.biancheng.net/view/3856.html)

大家常见或者是耳熟能详的数据库大概也就是MySQL、Oracle、SQLServer、Redis、MongoDB、Elasticsearch,另外的HBase、Hive这些宽表数据库对部分同学来说就有点偏了,对于Cache数据库,小编一直以为只是单纯的缓存,和大家所熟知的mysql,oracle等数据库貌似没啥关系,但是再一想,cach是缓存,那redis是个啥呢???

 

说到这些数据库,那大家所熟知的这几个库有啥区别呢:

关系数据库

MySQL:是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理

Oracle:又名Oracle RDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案

MySQL与Oracle优缺点对比:

  MySQL Oracle  
查询性能 强大的查询功能。MySql支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便 Oracle 性能高 保持开放平台下TPC-D和TPC-C世界记录  
稳定性 MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用而不必担心其稳定性,所以也基本不会出现的宕机问题 Oracle 长时间开发经验完全向下兼容得广泛应用地风险低  
使用与维护 软件体积小,安装使用简单,已与维护 对硬件的要求很高,价格比较昂贵,管理维护麻烦一些,操作比较复杂,需要技术含量较高  
扩展性 支持多种操作系统,提供多个api接口,支持多语言开发,特别是是web脚本语言php有很好的支持  Oracle 多层次网络计算支持多种工业标准用ODBC、JDBC、OCI等网络客户连接  
资源利用 MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活的为用户提供服务,且减少资源占用率,用多线程和C语言实现的MySql能很容易充分利用CPU 可伸缩性,并行性:oracle 并行服务器通过使组结点共享同簇工作来扩展windownt能力提供高用性和高伸缩性簇解决方案windowsNT能满足需要用户把数据库移UNIXOracle并行服务器对各种UNIX平台集群机制都有着相当高集成度  
移植性 支持多种不同的操作系统,现在市场流行的Windows、Linux、Unix和Sun OS(UNIX操作系统的衍生版本之一)等,这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下 Oracle 同样能在所有主流平台上运行(包括 windows),完全支持所有工业标准,采用完全开放策略,使客户选择适合解决方案对开发商全力支持 ,与MySQL差别不大  
事务 MySQL自己的存储引擎并没有提供,但是已经通过第三方插件式存储引擎Innodb实现了SQL 92标准所定义的四个事务隔离级别的全部 仅支持两种:Serializable和Read Commited  
ANSI SQL 92 MySQL基本实现了的大部分标准,仅有少部分并不经常被使用的部分没有实现(在字段类型支持方面,PostGreSQL支持的类型是最完整的) 较MySQL来说支持的相对少一些  
安全性 MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证 获得最高认证级别的ISO标准认证  
费用

大家所知悉的,MySQL是完全开源免费的,但是也有部分版本是需要付费使用的:

开源免费版,不提供官方技术支持:Community Server(社区版本)、Cluster(集群版)、Community Server(社区服务版)

付费版:Enterprise Edition(企业版本)、 Cluster CGE(高级集群版)

价格不低咯  
其它支持 MySql支持ODBC for Windows。MySql支持所有的ODBC 2.5函数和其他许多函数,这样就可以用Access连接MySql服务器,从而使得MySql的应用被大大扩展    
备份儿 不支持热备份 支持  
安全性      

 

DB排名:https://db-engines.com/en/ranking

 


 总结:MySQL数据库作为一个通用的数据库管理系统暂时无无法和PostGreSQL相比,但是其功能完全可以满足我们的通用商业需求,提供足够强大的服务。而且不管是哪一种数据库在功能方面都不敢声称自己比其他任何一款商用通用数据库管理系统都强,甚至都不敢声称能够自己拥有某一数据库产品的所有功能。因为每一款数据库管理系统都有起自身的优势,也有起自身的限制,这只能代表每一款产品所倾向的方向不一样而已 

posted @ 2022-05-11 15:30  蚂蚁力量  阅读(167)  评论(0编辑  收藏  举报