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 Database Service (Multi-Cloud, OLTP, and OLAP)
- ScaleGrid (Horizontal Scaling)
- Vitess (Horizontal Scaling)
- Aiven for MySQL (Multi-Cloud)
- Amazon RDS for MySQL
- Oracle MySQL Cloud Service (Horizontal Scaling)
- Azure MySQL Database
- Google Cloud SQL for 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】
- 登录 发表评论
- 152 次浏览
最新内容
- 1 day 19 hours ago
- 1 day 19 hours ago
- 4 days 21 hours ago
- 5 days 10 hours ago
- 6 days 21 hours ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week ago