跳转到主要内容
Chinese, Simplified

MySQL, Oracle, PostgreSQL, Microsoft SQL Server, MongoDB, Redis, Elasticsearch, Cassandra, MariaDB, IBM Db2

数据库是任何软件应用程序的基石。开发几乎所有类型的软件应用程序都需要一个或多个数据库:Web、企业、嵌入式系统、实时系统、人工智能、ML、HPC、区块链、物联网和许多其他应用程序。

20年前,选择数据库要容易得多。在大多数情况下,您可以选择一个关系数据库系统,这样就完成了。但在现代软件开发中,选择合适的数据库是最具挑战性的任务之一。

随着微服务、云、分布式应用、全球扩展、半结构化数据、大数据、快速数据、低延迟数据的兴起,各种各样的NoSQL加入了传统的SQL数据库。NewSQL和云数据库。

目前有343个数据库。在此,我将根据以下标准,从中筛选出10个数据库:

  • 关键特性
  • 受欢迎程度
  • 趋势
  • 主流的使用
  • 光明的未来

对于每个数据库,我将讨论以下内容:

概览,包括简要的历史。

  • 5个关键特性。
  • 什么时候使用它们。
  • 什么时候不用它们。
  • 受欢迎程度。
  • 趋势。
  • 数据库即服务(DBaaS)。
  • 替代方案。

1. MySQL

1995年,两位软件工程师Michael Widenius和David Axmark创建了开源关系数据库管理系统(RDBMS) MySQL。自诞生以来,MySQL以其企业级特性和免费、灵活的(GPL)社区许可证,以及升级的商业许可证,迅速在业界和社区流行起来。在开源数据库中,PostgreSQL专注于创新和高级特性,而MySQL专注于健壮性、稳定性和成熟度。

今天,MySQL是最流行和使用最广泛的SQL数据库之一。它也是Web应用程序中使用最多的数据库之一。一些世界上最大的网络规模的应用程序(如Facebook, Uber)使用MySQL。

5个关键特性

  • 开源RDBMS具有两种许可模型:免费的社区服务器和专有的企业服务器。
  • 提供ACID事务保证(与InnoDB引擎)。就CAP而言,它提供了即时的一致性。
  • 通过它的无共享MySQL集群提供水平分区(分片)。因此,它提供了高可用性和高吞吐量,具有低延迟和近线性扩展。
  • 通过它的MySQL集群,它提供了多主ACID事务。
  • 多模型数据库,支持结构化数据(SQL)和半结构化数据(JSON)。

何时使用MySQL

  • 具有ACID事务保证的结构化数据(SQL)。
  • 水平可伸缩性是一个关键需求,特别是在写大量数据的情况下。
  • 多主ACID事务是一个基本需求。
  • 数据安全是一个关键特性。
  • 需要一个聚合数据库,即一个用于OLTP和OLAP工作负载的数据库。

什么时候不使用MySQL

  • 当需要在一个全局分布式数据库中处理数以百万计的事务时,就需要“分布式SQL”。
  • 数据是非常相关的(例如,社交媒体),也就是类似于图表的数据。
  • 数据是半结构化的,即具有高级查询功能的JSON数据。
  • 高级数据保护(例如,屏蔽,模糊,节流)是必须的。

MySQL作为服务

替换技术

人气:

MySQL Community Edition是业界使用最广泛的免费数据库。此外,它的商业版本在工业中广泛使用。

最突出的数据库排名网站DB-Engines将MySQL列为排名第二的数据库,仅次于Oracle:

Stack Overflow Developer Survey 2020将MySQL列为2020年最受欢迎的数据库:

趋势

MySQL已经有25年的历史了,它并不是目前最流行的数据库。但与其他较老的数据库不同,它仍然保持着较高的牵引力,如下所示:

此外,谷歌趋势在过去几年中显示了一个相对稳定的图表:

 

原文:https://towardsdatascience.com/top-10-databases-to-use-in-2021-d7e6a854…

本文:http://jiagoushi.pro/node/1519

讨论:请加入知识星球【超级工程师】或者小号【ceo_engr】

Tags
 
Article
知识星球
 
微信公众号
 
视频号