视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Percona vs MySQL – Percona有什么不同,你应该使用它吗?
2024-11-25 22:30:39 责编:小OO
文档

MySQL作为几乎每个开源项目首选数据库,因其易管理和免费性备受推崇。然而,其性能问题常常导致网站寻求更高性能的数据库替代品。Percona服务器在2013年兴起,作为MySQL的高性能、高可用性替代选项,拥有与MySQL Enterprise版本相媲美的功能。接下来,我们将探讨Percona与MySQL的区别以及在哪些情况下选择Percona可能更为合适。

在我们的多个网站和网络托管服务提供商中,我们已将Percona替换MySQL。以下是我们选择Percona的原因。

MySQL需要大量内存,而Percona不需要。MySQL使用MyISAM引擎时内存占用较高,由于其数据存储方式,即使对于较小数据量,也会为内存分配固定的存储空间。随着查询增加,所需内存随之增加,导致更多基于磁盘的交换,引发高I/O等待。相比之下,Percona采用动态行格式,数据字段分配所需足够内存,降低了总体内存使用,减少I/O瓶颈,并降低高负载实例的性能压力。

Percona支持并行执行查询,而MySQL不支持。MySQL在使用MyISAM存储引擎执行查询时,会锁定所有所需表,以防止数据被其他查询修改。这导致其他查询在队列中等待锁释放,在高查询量时显著增加延迟。Percona通过仅锁定执行查询时的一行(细粒度锁定)来解决此问题,并使用“二进制日志组提交”技术,允许同时写入多个事务。这两个功能在多用户环境中加快数据库事务执行速度。

Percona提供快速故障排除的诊断指标。MySQL遇到性能慢或崩溃等问题时,需要使用多个外部工具,如mytop、mysqladmin等,这些工具不提供历史性能数据,且需等待性能瓶颈再次出现。Percona将性能统计信息记录在名为INFORMATION_SCHEMA的表上,当注意到性能问题时,可通过该表的查询快速识别错误查询、表、用户或访问者。

MySQL在没有分片的情况下无法扩展,而Percona有助于避免分片。大型网站(如电子商务商店、市场分析应用、在线出版等)使用大量数据时,数据库可能变得非常大(50GB或更多)。MySQL仅依赖服务器内存执行查询,当数据库很大时,需要成比例的大内存以正常运行。当内存耗尽时,许多网站将数据库拆分为多个服务器以避免内存瓶颈,这需要大量重写应用程序代码以正确路由数据库查询。相比之下,Percona将部分数据保留在磁盘上,减少服务器内存使用量,避免数据库分片和相关的代码重写。

在考虑是否使用Percona取代MySQL时,以下是我们注意到性能提升的几种网站类型。

需要高正常运行时间的企业(电子商务、酒店、在线服务等)。通过冗余,即即使一台服务器出现故障,另一台服务器也应能取代其位置。我们使用Percona的XtraDB Clusters,采用“主-主复制”数据库冗余方法,集群中的每个数据库都能充当完整数据库。因此,即使服务器崩溃,其他服务器也能在不影响读取或写入性能的情况下处理流量。

具有流量高峰或高流量网站。每月点击量约为50k的网站,或一次访问超过20-30个访问者的服务器,我们观察到Percona性能提升40%。这得益于Percona中的“行级锁定”和“二进制日志组提交”技术。

处理大量数据的企业。对于处理和存储大量数据的网站,Percona是一个合适选择,因为它通过改进内存存储引擎支持大型数据库。在与相同内存的MySQL相比,Percona的动态行格式(DRF)用于数据字段,可支持更大的数据库,减少45%的内存使用。

网站访问者期望网站在2秒内加载,因此在线企业需要快速的网站基础设施。通过选择MySQL的开源替代方案,我们可以保持较低的基础架构成本,同时提供高正常运行时间和性能。Percona在商业网站中作为MySQL高性能替代品的应用案例表明,它能够实现这一目标。

下载本文
显示全文
专题