建模三件套,database,algorithm,training data。
这个科普文章,让我们来对比一下市面上常见的DB的性能以及其特殊的工作方式。
市面上常见的有很多,但其中大厂用得比较多的主要还是这几个:MySQL、Oracle、MongoDB还有HBase。
MySQL
我们一个一个来看,首先是MySQL,免费的开源资源,用的也是最多的。不仅性能强大,扩展了SQL语言的实际应用,而且非常简洁,同时又是开源资源,不需要前期软件资源上的投资,通常中小企业都可以使用的。
由于是C和C++编写的,所以对于操作系统的应用也是非常广泛,windows,mac还有linux都是可以适应的。
而且作为一个关系型数据库,通过关系模型构建的数据库,这种数据库灵活性高,而且速度快,还支持多线程,所以可以充分利用CPU资源,效率是杠杠滴。
它的特点是既可以作为一个应用程序嵌入到网络环境中,也可以作为一个库夹在语言中。这也是展示了他的灵活性。
但是问题存在于它只能局限于一种操作系统,比如处理分布式系统的问题时,sql server只能处理windows下的终端,而我们下面讲的Oracle在这一点上可以处理多个操作系统的分布式问题,也算是美中不足的一点吧~
Oracle
接下来我们来看Oracle,相较于同为关系型数据库却免费的MySQL,Oracle拥有出色的是他的开放性,应该说是同等条件下最好的开放性DB平台了。
给予他可以提供高吞吐量,所以大中小微型产业都可以使用他。
就受众群体来说,还是很广泛的,再加上对于分布式系统的完美契合,可以说灵活指数是几款DB里最高的。
MongoDB
下一个是MongoDB。
这个database也是基于分布式系统的,应用的语言很广泛,主要有Python/ target=_blank class=infotextkey>Python,php,Ruby,JAVA,C,C#,JavaScript,Perl及C++语言的驱动程序。和上面两款不同的是,MongoDB不是一款关系型数据库,而是基于文档类型的数据库。
这就带来了一个问题,就是他只适合处理单一文档的数据,而不是中和多方面的。
总的来说MongoDB可以处理的,MySQL基本上也可以解决。
HBase
最后让我们来一起看HBase。
Hbase在海量存储方面做到了炉火纯青,在PB层面上也可以采用廉价的PC存储。极易扩展也是它的特点之一,而且具有比MySQL更好的高并发性能,是一个真正意义上的分布式数据库系统。
可以说得上是解决高并发问题的选项之一,在面临分布式系统的架构中占有一席之地。
以上就是四种常见数据库的特点分析,希望可以让你了解一点常见数据库的优劣与不同。