著名的数据库流行度排名网站 [DB-Engines](https://db-engines.com/en/) 统计了360多种数据库产品。那么为什么会出现这么多数据库呢?让我们来看看它们是怎么说的吧:
Oracle:企业需要数据库(Oracle是第一个商用的关系型数据库);
MySQL:Oracle不开源(MySQL是最受欢迎的开源关系型数据库);
MariaDB:我们喜欢MySQL,但是不喜欢Oracle(MySQL被Oracle收购,MySQL之父Monty创建了MariaDB分支);
PostgreSQL:MySQL的功能不够完善(PostgreSQL是最先进的开源关系型数据库);
Microsoft SQL Server:微软拥抱开源(Microsoft SQL Server 2017开始提供Linux平台版本);
SQLite:一切皆可嵌入,而且4种数据类型就够用了(SQLite是安装最多的关系型数据库,使用动态数据类型);
IBM Db2:天下SQL出吾门(关系模型和SQL语言都来自IBM公司);
MongoDB:为什么我们要用JOIN和模式(Schema)?(MongoDB是最著名的文档数据库,采用模式自由的面向集合存储);
Apache CouchDB:为什么我们要有集合(Collection)?(支持多主复制的高可靠性文档数据库,没有集合的概念);
Redis:为什么我们要用文档(Document)?(Redis是最著名的键/值存储数据库、缓存和消息中间件);
Memcached:为什么我们要用硬盘?(Memcached是一个分布式内存对象缓存系统,不支持数据持久化);
Amazon DynamoDB:为什么我们要自己安装数据库?(DynamoDB是 Amazon 提供的键/值和文档数据库托管服务);
Bigtable:MongoDB对Web应用的扩展性不够好(Google说的);
Hbase:Bigtable不开源;
Cassandra:Bigtable不是由Facebook开发的;
Riak:Cassandra不是用Erlang语言编写的;
Neo4j:SQL不够关系!(著名的图形数据库,以图结构存储对象之间的关系);
OrientDB:让我们把所有东西(文档、图、K-V、对象)都放到同一个数据库里吧;
Elasticsearch:MongoDB搜索功能不够强大(Elasticsearch是一个分布式大数据搜索和数据分析引擎);
Solr 对 Elasticsearch 说:本是同根生,相煎何太急!(Solr和Elasticsearch都是基于Apache Lucene构建);
NewSQL:我们是数据库领域中的后浪