暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库速度和可扩展性的6个维度

原创 小小亮 2023-06-09
561

几乎市场上的每个数据库和查询引擎都声称它们是最快的。如果每个人都最快,谁来判断哪个数据库最适合您?虽然任何给定的数据库都极少能做到这一切,但每个分析引擎都以特定方式快速且可扩展的说法是有一定道理的。让我们研究分析数据库中速度和可伸缩性的各个方面。

1. 数据存储库可扩展性

尽管这看起来像是一个基本指标,但了解可以将多少 TB 加载到存储库中并仍然成功查询很重要。虽然大多数分析平台可以管理 PB 级的数据,但仍有一些分析平台对它们可以加载的数据量规定了硬性限制。例如,MicrosoftOracle对硬件(数据库将不再加载数据)和数据库大小(数据库不应超过特定大小而不会有性能风险)提出了限制。如果超出这些限制,您可能必须重构数据库或寻找其他方式来存储大数据。

相比之下,一些查询引擎习惯于查看大数据块,并且数据池的限制比人们所能达到的要大得多。这种数据湖分析风格将数据留在原地,因此,只需要分析师加载数据以尽可能符合数据库的严格要求。现代数据库提供了两全其美的方法。它们可以用作性能数据库和查询引擎,用于向大型数据池提问而不将它们加载到数据库中。这种灵活性总是受欢迎的,尤其是当人们试图构建一个考虑到增长和变化的架构时。

2. CRUD 操作速度

一些数据库根据 CRUD(创建、读取、更新和删除)操作来指代可伸缩性。考虑一个高度动态的数据流,其中应用程序需要每秒进行数千次 INSERT、UPDATE 和 DELETE 查询。这些数据库的可扩展性是关于为需要低延迟和高吞吐量的实时应用程序构建数据基础架构。在谈论可扩展性时,这通常是首先提到的指标。

从历史上看,处理 CRUD 操作的数据库被认为不同于擅长对大数据进行长时间、复杂查询的数据库。在设计数据库时,您可以选择它是否擅长以最紧急的方式获取和存储数据,或者多花几毫秒来索引数据并将其放入正确的分片中。

CRUD 做完后会慢一些,但是复杂的查询可以更快的找到数据。因此,它会在执行分析时加快查询速度。如今,大多数数据库都具有高速 CRUD 和分析策略。

3. 数据加载速度

这可能不会经常被讨论,但数据加载速度(LOAD 或 COPY 操作)是影响数据库性能的一个主要因素。这方面的数据库之间存在重大差异。一些数据库可以使用多个节点同时复制数据,而其他数据库则依赖于一个非常慢的加载器。数据加载是与 CRUD 操作截然不同的指标,因为某些数据分析引擎在这两个方面都表现不佳。

假设您的架构构建在云端。在这种情况下,数据加载速度可能很重要,因为在云中复制、加载或移动大量数据并不便宜因此,让临时工作负载启动数据库、加载数据、运行报告并将其全部关闭以节省成本具有成本效益。如果您的数据库是数据加载的懒狗,这根本不会发生。在数据库选择过程中进行基准测试时,请考虑可扩展性评估中的数据加载。

4. 单次查询速度

在性能方面,您可能会看到针对特定条件进行了高度优化的基准测试报告。每个解决方案都将快速运行简单的查询。然而,正是复杂的查询让一切突然崩溃。在现实世界中,工作负载一直在波动,这就是为什么建议使用涉及来自实时系统的大型数据集的复杂查询来测试数据库(最好关闭缓存,因为缓存有时会产生不切实际的结果)。

一些数据库提供查询加速功能(分析数据以获得最快的查询输出)以及其他查询优化功能,例如谓词下推(将查询下推到数据所在的位置)和分区修剪(通过排除特定分区来提高查询性能)并对较小的数据集运行查询)。企业必须考虑这些功能的可用性,因为它们可以在进行评估时帮助克服性能限制。

5. 并发查询可扩展性

速度不仅仅是完成一项任务的速度。还有并发性(在给定的时间间隔内运行多个作业,无论它们的顺序如何)和并行性方面(当多个作业同时运行时),在测试速度时需要牢记这一点的数据库技术。

如果数据库具有工作负载管理功能,则同时并行和并发处理多个任务可以大大提高查询性能。但是,某些数据库对同时查询施加了限制。这对速度和性能有下游影响。

一些数据库在多线程进程上提供并行性,但当涉及到单线程进程时,它们无法提供管理多个查询的能力,这可能会带来很大的劣势。当测试一个新的解决方案时,给它同时查询并用多个线程进行试验。

6. 受限的硬件可扩展性

数据库使用任何给定查询创建查询计划。这样的计划描述了数据库将如何访问数据以交付结果。有时查询计划是高效的并产生快速的结果,有时,计划者并没有完全正确,使整个系统陷入困境并在其背后备份查询。您可能会惊讶地发现查询计划优化并不是每个现代数据库的一部分。一些平台建议添加更多节点,而不是专注于良好、高效的查询,这会转化为更多成本。如果没有更多的预算可以提供,这将行不通。

更好的选择是查看耗时的查询并开发更好的查询计划、组织数据的新方法、改进的方法来保存昂贵的聚合(平均值和计数)以及其他无需添加更多节点即可加速慢速查询的方法。留意具有这些调谐旋钮的解决方案。

令人遗憾的是,大约85%的分析程序失败了,不是因为技术,而是因为技术的执行。仔细评估上述速度和可扩展性维度将有助于组织建立分析基础,不仅可以提供高性能,还可以适应快速增长和突然变化。


原文标题:The 6 Dimensions of Database Speed and Scalability

原文作者: Steven Sarsfield
原文链接:https://www.cdotrends.com/story/18213/6-dimensions-database-speed-and-scalability

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论