Warehouses:解密 ClickHouse Cloud 的计算资源分离

《大数据实时分析领域的黑马ClickHouse》二次解读  一. 概述 随着物联网IOT时代的来临,IOT设备感知和报警存储的数据越来越大,有用的价值数据需要数据分析师去分析。大数据分析成了非常重要的环节。当然近两年开启的开源大潮,为大数据分析工程师提供了十分富余的工具。但这同时也增加了开发者选择合适的工具的难度,尤其对于新入行的开发者来说。学习成本,框架的多样化和复杂度成了很大的难题。例如kafka,hdfs,spark,hive 等等组合才能产生最... 阅读详情

图片

本文字数:6753;估计阅读时间:17 分钟

作者: Dmitry Pavlov

本文在公众号【ClickHouseInc】首发

图片

在现代云数据库服务中,计算资源分离 (compute-compute separation) 是一种强大的技术,它通过为特定的工作负载、用户或业务功能提供独立的计算资源,优化数据库性能和资源管理。不同于传统的资源共享模式,这种方法可以为不同类型的数据库操作(如读和写)提供专属计算实例,降低操作之间的干扰。对于负载波动较大的环境,这种方式尤其重要,因为它能够确保查询速度和可靠性不受影响。

在本文中,我们将介绍 ClickHouse Cloud 中的计算资源分离技术,解释其重要性,并重点说明它能为用户带来哪些具体优势。

什么是计算资源分离?

计算资源分离指的是数据库系统为不同的用户、工作负载或操作类型分配独立的计算资源,避免它们相互干扰。这样可以确保查询的性能和稳定性不受其他任务影响。虽然配额和限制也可以在一定程度上达到类似效果,但它们的灵活性和保障性远不及计算资源分离。

简而言之,用户可以创建多个独立的计算池,它们可以读取和写入相同的数据,但分别用于不同的任务。

计算资源分离的优势

这种模式在以下场景中尤为实用:

1. 读写分离

在某些场景下,写入操作对执行时间非常敏感,因此数据库中的其他查询不应影响 INSERT 和 UPDATE 的执行。如果用户直接提交查询,或者使用 BI 工具执行临时查询 (ad-hoc queries),可能会导致资源消耗过大,影响整体性能。

计算资源分离允许我们为 INSERT 操作等关键任务分配专属计算资源,确保其性能不受其他查询影响。在某些情况下,读取操作可能比写入更重要,此时也可以使用相同的方法为其分配独立计算资源。

2. 为不同团队和业务需求提供专属计算资源

大型企业往往有多个团队或部门共享同一个数据库或数据仓库。不同团队可能有不同的查询性能需求,并且更倾向于独享计算资源,以保证查询性能的一致性。

此外,许多团队希望能够独立管理数据库成本,以便进行责任划分和预算控制。

在这种情况下,计算资源分离带来了多重优势:

  • 隔离不同团队的查询任务,避免相互影响。

  • 灵活调整计算资源,每个团队可以根据需求选择合适的计算规模和成本。

  • 独立计费,使查询成本一目了然,尤其适用于启用了空闲计算管理的场景。

3. 为不同工作负载提供灵活的高可用性级别

不同的工作负载对高可用性的需求各不相同。有些任务至关重要,而另一些则可以接受较低的可用性,以减少成本。例如:

  • 终端用户产品的图表和可视化需要最高级别的可用性,因此应部署在三个可用区 (Availability Zones) 中。这类查询通常较为简单,对 CPU 和内存的需求较低。

  • ETL/ELT 查询既重要又计算密集,但失败后可以自动重试。因此,仅在两个可用区部署两个节点即可满足需求。

  • 大规模临时查询 (ad-hoc queries)需要大量内存,并且通常由分析师手动执行。由于分析师通常只在每周 5 天、每天 8 小时的工作时间内使用这些查询,因此在非工作时间可以释放计算资源。此外,如果某个节点短暂故障,他们也能接受偶尔的查询失败。在这种情况下,仅在一个可用区部署单节点即可满足需求。

借助计算资源分离 (compute-compute separation),每个工作负载都能获得专属计算资源,并满足其特定的高可用性需求。此外,这种架构还能实现不同团队之间的成本分摊,确保数据库资源的合理分配。

Warehouses 简介

在 ClickHouse Cloud 中,每个数据库实例由以下组件构成:

  • 一组 ClickHouse 计算节点(或副本) - 具体数量取决于高可用性配置,一个实例可能包含一个或多个节点。

  • 数据库访问端点 - 用户可以通过 ClickHouse Cloud 控制台创建一个或多个端点,并使用相应的 URL 进行连接,例如:https://dv2fzne24g.us-east-1.aws.clickhouse.cloud:8443。

  • 对象存储文件夹  - 用于存储数据库中的所有数据及部分元数据。

  • Keeper 实例  - 负责分布式协调,通常由三个节点组成:

图片

我们现在引入 Warehouse 概念。Warehouse 是一组共享数据(包括表、视图、函数等)的计算服务。每个 Warehouse 包含一个 主服务(最先创建的服务)以及一个或多个次要服务。例如,以下是一个包含两个计算服务的 Warehouse 结构示意图:

图片

每个 Warehouse 内的服务都具有独立配置:

  • 端点 (Endpoint) - 允许用户为不同的工作负载、BI 工具和 ETL/ELT 系统分配特定的计算节点,以优化资源使用。

  • 计算节点 (Compute nodes)  - 确保各个工作负载互不干扰,使其运行更加稳定。这也意味着你可以独立调整每个服务的计算资源,例如:

    • 配置不同的计算节点数量。

    • 选择合适的节点规格(以 GiB 计算的 RAM),更大的实例还提供更多的 vCPU 资源。

    • 启用空闲模式 (idling),在资源未使用时自动释放计算实例。

    • 企业版 (Enterprise tier) 客户 还可以灵活调整 CPU/RAM 配比!  例如,一些工作负载主要依赖 CPU 进行数据压缩/解压缩,而另一些则需要更大的内存来执行复杂查询。借助计算资源隔离,这些不同的工作负载可以被独立处理,提高整体性能。

  • 网络访问权限 (Network access settings) - 允许用户限制特定应用程序或用户对某些服务的访问权限,确保数据安全性。

Warehouse 内的所有服务共享以下资源:

  • 数据 (Data)  - 所有服务访问相同的数据。因此,在不同的服务上执行 SELECT 查询时,返回的结果是一致的。

  • Keeper 实例 (Keeper instances)  - 由于 Keeper 负责管理数据的协调和复制,所有使用相同数据的服务共享一个 Keeper 集群,以确保数据一致性。

  • 备份 (Backups) - 为避免重复备份相同的数据,我们仅对 **主服务**(Warehouse 中最早创建的服务)执行数据备份。

  • 目前,Warehouse 内的所有服务必须满足以下一致性要求:

    • 云服务提供商(AWS、GCP 或 Azure)

    • 所在区域 (Region)

    • ClickHouse 数据库版本

当某个 Warehouse 包含两个或更多服务时,UI 会自动将这些服务归为一组进行展示。例如,以下是两个 Warehouse 及其服务列表

  • DWH_pre_prod 共有 4 个服务  

  • DWH_for_tests_us_east_1 仅包含 1 个服务:

图片

内部架构

为了实现 计算与计算的分离 (compute-compute separation),我们主要解决了两个核心问题:

1. 如何在不同计算组之间同步数据。

2. 如何确保查询工作负载严格遵循服务边界,避免使用同一 Warehouse 内其他服务的计算资源。

在 ClickHouse Cloud 中,我们通过两个关键的架构设计实现了高效的数据同步:

1. 存储与计算分离

我们采用 存储与计算分离 (separation of storage and compute) 架构,使所有计算服务共享云存储(如 S3)中的同一数据。这种方式确保了不同服务间的数据同步快速、高效。此外,在表结构和元数据同步方面,我们使用 SharedMergeTree 表引擎,在共享 Keeper 集群中实现轻量级的元数据同步。

2. 副本组 (Replica Groups)

在复制数据库 (Replicated database) 体系下,我们引入副本组 (replica-group) 概念,以确保:在分布式查询或并行副本运行时,负载仅限于当前副本组内部,而不会影响其他服务。资源分配严格限定在特定服务范围内,防止不同服务之间出现计算资源争用问题,从而提升隔离性和整体效率。

在上述技术架构的基础上,我们进一步优化了计算分离机制,包括:

  • 独立监控 Warehouse 内的各个服务,支持独立的 空闲模式 (idling) 和 自动扩展 (auto scaling),提升资源利用率。

  • 对 Warehouse 内的服务强制执行网络和存储隔离,确保不同服务的计算资源和数据访问权限严格受控,提高安全性。

  • 在 Warehouse 内的所有服务之间强制执行数据库同步,保证数据一致性,避免数据版本差异导致的查询问题。

  • 在只读服务中禁用数据合并 (merge) 和插入 (insert) 操作,防止后台任务(如数据变更操作)影响查询性能。(详见“后台操作”部分)

借助这些优化,我们能够更高效地实现计算与计算的分离,为 ClickHouse Cloud 用户提供更稳定、可控的计算资源管理能力。

数据库凭据

在同一个 Warehouse 内,所有服务共享相同的表,因此它们也共享 访问权限 (grants) 以及用户和角色。这意味着,在 Service 1 中创建的用户,也可以访问 Service 2,并拥有相同的权限(例如表、视图等的访问权限),反之亦然。  

尽管每个服务都有不同的连接端点 (endpoint),但所有服务的用户凭据(用户名和密码)是相同的。因此,在单个 Warehouse 内,所有服务共用一套用户体系。

图片

网络访问控制

在某些情况下,可能需要对不同服务的访问权限进行限制,防止某些应用程序或临时用户访问特定服务。  

你可以通过 网络访问控制 来实现这一点,其配置方式与 ClickHouse Cloud 现有的服务访问管理机制类似。要应用这些限制,可以在 ClickHouse Cloud 控制台的 服务(Service) 选项卡下,进入设置 (Settings) 进行调整。

你可以为每个服务单独配置 IP 访问规则,从而精准控制哪些应用程序和用户可以访问特定的服务。

图片

只读 vs 读写

在某些场景下,你可能希望限制某些服务的写入权限,仅允许一部分服务进行写入操作。  ClickHouse Cloud 允许你创建只读 (read-only) 服务,从而防止写入操作影响关键查询的性能。  

在一个 Warehouse 内,默认规则如下:第一个创建的服务必须为读写 (read-write, RW) 服务。后续创建的服务可以设置为只读 (read-only),这样它们就不会影响数据库的写入性能。

图片

后台操作

ClickHouse 在后台执行多个资源密集型任务,例如:在数据插入后,数据库会执行数据分片合并 (merging parts),优化查询性能。这些合并操作在后台进行,可能会消耗大量 CPU 和内存。

为了确保计算-计算完全隔离,只有可读写 (RW) 服务才能执行后台操作。  这样,当你专门为关键查询任务配置了一个只读服务时,可以确保它的查询性能不会受到后台任务的影响。

然而,如果一个 Warehouse 内有多个可读写服务,那么:任何 RW 服务都可能执行 INSERT 触发的后台合并操作。合并操作并不直接绑定到触发它的查询,这意味着,在极少数情况下,高负载的写入操作仍可能影响不同 RW 服务的性能。

为了优化这一机制,我们计划在未来引入后台任务分配控制,允许用户指定哪些 RW 服务可以执行后台操作。根据触发查询的来源,将后台合并任务分配到特定的 RW 服务,从而减少不同写入任务之间的相互影响。

计算仓库的限制

尽管计算仓库为 ClickHouse Cloud 提供了很大的灵活性,但当前实现仍然存在一些限制,我们计划在未来版本中优化:

  1. 主服务必须保持在线 -  计算仓库中的第一个服务必须始终处于活动状态,不能被停止或置为空闲。如果至少存在一个辅助服务,则无法停止或使主服务进入空闲状态。只有当所有辅助服务被移除后,主服务才能再次停止或进入空闲模式。

  2. 读写服务间的后台合并影响 - 如前所述,所有读写服务都会执行后台合并操作。因此,可能会出现 INSERT 查询在 Service 1 执行,但数据合并操作却由 Service 2 处理的情况。换句话说,一个读写服务的工作负载可能会影响另一个读写服务的性能。需要注意的是,只读服务不会执行后台合并,因此不会因该操作消耗资源。建议使用单个读写服务来处理数据写入和转换,并使用只读服务处理查询等其他需求。

  3. 后台合并可能阻止服务进入空闲状态 - 在启用空闲模式的情况下,一个读写服务的 INSERT 操作可能会阻止另一个读写服务进入空闲状态。这是因为第二个服务可能会执行第一个服务的后台合并任务,从而无法立即进入休眠。只有当后台合并操作完成后,该服务才会进入空闲模式。相比之下,只读服务不会受到影响,并且可以立即进入空闲状态。

  4. 数据库管理查询可能受阻 -  CREATE / RENAME / DROP DATABASE 查询可能会因为某些服务处于空闲或停止状态而被阻塞,导致这些查询无法执行。要绕过此问题,可以在会话或查询级别使用 distributed_ddl_task_timeout=0 运行数据库管理查询。例如:

create database db_test_ddl_single_query_setting
settings distributed_ddl_task_timeout=0

客户反馈

在正式发布 Warehouse 之前,我们针对部分客户开展了私有预览计划,让他们在真实的生产环境中进行测试。以下是用户的部分反馈:

"我们设置了一个较小的专用主集群,仅用于写入,并与主要的读集群隔离。同时,我们还有一个按需使用的集群,在空闲时会自动休眠。这种设计非常棒,用户可以在其中运行任何低效查询,而不会影响生产环境。" 

—— Beehiiv.com

"目前使用体验非常棒!本周主服务负载较高,我们成功将流量引导至次级服务,以确保面向客户的查询速度不受影响。" 

—— CommonRoom.io

"只是想说声谢谢!我们现在在生产环境中运行 compute-compute 分离,同时启用了 query_cache、allow_experimental_analyzer 和 allow_experimental_parallel_reading_from_replicas。这个新架构让我们进入了一个梦幻般的世界。" 

—— Vantage.sh

"计算-计算分离带来了极大的满足感。从实验结果来看,我们的常规计算任务现在只需 30 秒,相比于在 BigQuery 上需要 30 分钟,这是因为我们现在能够完全分离不同的工作负载。" 

—— ABTasty.com

"以前需要 8 小时 才能完成的任务,现在只需要 30 分钟 或更短时间。对其他服务几乎没有任何影响,绝对是一个 A+ 级别的特性!" 

—— Cypress.io

立即体验

本文介绍了 compute-compute 分离 如何帮助 ClickHouse Cloud 客户实现更好的租户隔离,并优化整体资源利用率和成本。

 征稿启示

面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com

Vue2 - 详细实现网页 “开启录音并生成音频文件,上传到服务器效果“,浏览器录制外部音频调用麦克风并传到后端,兼容全部浏览器、支持 PC 网页或手机 H5 网页、可本地播放试听(详细示例运行代码) vue,nuxt,uniapp,网页网站,麦克风,网页录音,MediaRecorder,浏览器录音,移动端h5网页,手机端录音,web网页录音,recorder-core官方文档,Recorder,非https怎么本地录音,录音报错失败,录音后怎么播放音频,如何获取录音mp3文件,解决一直不提示麦克风权限,小白详细教程,实时录音,调用浏览器麦克风录音,浏览器不兼容,wav,mp3,vue怎么实现网页录音呢,vue2网页录音并上传到服务器,web如何实现录制音频,vue网页录音,音频录制播放和上传服务器,vu 阅读详情

相关推荐

【LCMM实战指南】从增长混合模型到潜在类别轨迹分析的纵向数据建模

本文深入解析了LCMM(潜在类别混合模型)在纵向数据建模中的应用,对比了LCGA与GMM的核心差异与选择策略。通过R语言lcmm包的实战演练,详细展示了从数据模拟、模型拟合、类别数选择到结果解读的全流程,为识别数据中不同的发展轨迹亚型提供了系统指南。

weixin_29070861的博客 379

Clickhouse系列一:Clickhosue资源隔离

目前的版本Clickhouse对于资源管理不是一个细粒度的,通过上面的痛点问题也能够看到。如果想做细粒度的资源控制,还是需要一个全局的资源管理进行处理。

qq_35667076的博客 1637

android广告SDK原理详解(附源码)

广大的开发者吃糠咽菜开发了一两款APP,获取了一些流量后自然就会想到流量变现,一般情况下大家会选择到百度联盟或者Google Admob这些广告服务提供商注册开发者账号,在自己的APP里面加上几行广告位代码,集成他们的广告SDK包。然后谋事在人,成事在天,只有每天看报表查查收益。   也有一些开发者为了能够提高自己的变现水平,同时接入了好几家的sdk,哪家出的收益高一点我就出哪家的广告,但是这

rmcgogo的博客 1万+

火山引擎:ClickHouse增强计划之“资源隔离”

相信大家都对大名鼎鼎的ClickHouse有一定的了解了,它强大的数据分析性能让人印象深刻。但在字节大量生产使用中,发现了ClickHouse依然存在了一定的限制。例如:缺少完整的upsert和delete操作多表关联查询能力弱集群规模较大时可用性下降(对字节尤其如此)没有资源隔离能力因此,我们决定将ClickHouse能力进行全方位加强,打造一款更强大的数据分析平台。后面我们将从五个方面来和大家...

芋艿V 406

Keil5安装包别乱下!手把手教你从官网精准下载C51/V960和MDK5,并完成2032年有效注册(避坑网络资源失效)

本文详细介绍了如何从Keil官网安全下载C51 V9.60和MDK5开发环境,并提供2032年有效注册的完整指南。通过验证安装包完整性、自定义安装路径和长期激活方案,帮助开发者避开网络资源陷阱,搭建稳定的STM32开发环境。

weixin_26886855的博客 530

VisionPro脚本实战:用C#替代QuickBuild,让复杂定位项目代码更清爽

本文探讨了如何通过C#脚本重构VisionPro复杂定位项目,替代臃肿的QuickBuild架构。通过实战案例展示了脚本化开发如何减少60%代码量并提升35%运行效率,使项目更易维护。文章详细介绍了环境搭建、多模板定位重构及高级技巧,帮助开发者突破QuickBuild限制,实现更高效的视觉应用开发。

weixin_30417487的博客 502

>>技术应用:clickhouse 帮助命令一览表

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。

Lycos 4333

IDEA系列(四):IDEA导入Maven工程项目并配置Tomcat启动

本片文章主要介绍如何导入一个存在的maven项目并配置Tomcat启动项目,方便自己使用,也分享出来,希望可以帮助到其他人。

低调D树苗的博客 1243

1800 行 INSERT 跑了 16 分钟:ClickHouse 并发洪流踩坑 + 多账号资源隔离方案

ClickHouse同步任务因并发写入导致性能瓶颈:一条1800行的INSERT耗时16分钟,排查发现并非SQL或硬件问题,而是大量并发小查询(每秒6条INSERT)占满线程池(8个slot)。通过分析ProfileEvents发现99.98%时间在等待线程,最终采用多账号+Settings Profile方案隔离写入负载,解决了"并发洪流"问题。

fengquan8866的博客 622

1.3 重叠因子:希尔伯特变换趋势线(Hilbert Transform - Instantaneous Trendline)概念与Python实战

希尔伯特变换趋势线(Hilbert Transform - Instantaneous Trendline)是一种基于希尔伯特变换的高级技术分析工具。它使用数字信号处理技术来识别价格的主导周期,并生成一条平滑的趋势线。这种方法可以有效过滤市场噪音,提供更准确的趋势信号。

Kewin的博客 2084

自适应控制 (Adaptive Control) 算法详解及案例分析

自适应控制是一种能够在线调整控制器参数以适应系统动态变化的控制方法。其核心思想是通过实时估计系统参数或调整控制器参数,使系统在不确定性或动态变化的环境中仍能保持稳定性和性能。

闲人编程的博客 4084

clickhouse-client --help 命令翻译

clickhouse-client 参数翻译,命令项很多,当作一个字典来看吧!

u013030100的专栏 658

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1158

如何在ClickHouse中实现资源隔离?火山引擎实践经验分享

相信大家都对大名鼎鼎的ClickHouse有一定的了解了,它强大的数据分析性能让人印象深刻。但在字节大量生产使用中,发现了ClickHouse依然存在了一定的限制。例如:缺少完整的upsert和delete操作多表关联查询能力弱集群规模较大时可用性下降(对字节尤其如此)没有资源隔离能力因此,我们决定将ClickHouse能力进行全方位加强,打造一款更强大的数据分析平台。后面我们将从五个方面来和大家...

过往记忆大数据 815

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【译】ClickHouse 22.1版本新特性盘点

作者:Alexey Milovidov原文链接:https://clickhouse.com/blog/en/2022/clickhouse-v22.1-released/22.1 是我们新年的第一个版本。它包括来自 133 个贡献者的 2,599 个新提交,其中包括 44 个新贡献者:13DaGGeR, Adri Fernandez, Alexey Gusev, Anselmo D. Adams, Antonio Andelic, Ben, Boris Kuschel, Christoph Wurm, C

liyang910910的专栏 2812

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ClickHouse用户资源隔离在 GrowingIO 的实践

业务场景 对 ClickHouse 做多租户,是一个非常必要的场景。如果不加限制,用户可能会过度消耗数据库服务的资源,影响其他用户使用。本文尝试在硬件级别的隔离之外,给大家展示另外一种相对便宜的方法。 本文先描述 ClickHouse 提供哪些资源限制的机制,再描述 GrowingIO 的实践。由于用户资源使用限制是用户管理的一种,本文也会加入用户管理的内容。 Hello World 一般通过 systemd 托管 ClickHouse,使用工具渲染模板得出配置文件,由于我们的目的只是演示,所以简化

GrowingIO 基于 BitMap 的海量数据分析 1079

云数据库ClickHouse资源隔离 - 弹性资源队列

引言 ClickHouse内核分析系列文章,本文将为大家深度解读ClickHouse当前的MPP计算模型、用户资源隔离、查询限流机制,在此基础上为大家介绍阿里巴巴云数据库ClickHouse在八月份即将推出的自研弹性资源队列功能。ClickHouse开源版本当前还没有资源队列相关的规划,自研弹性资源队列的初衷是更好地解决隔离和资源利用率的问题。下文将从ClickHouse的MPP计算模型、现有的资源隔离方案展开来看ClickHouse当前在资源隔离上的痛点,最后为大家介绍我们的自研弹性资源队列功能。 M

数据库技术 1050

ClickHouse 数据目录迁移翻车实录:整十分 SIGQUIT 疑云、uuid 撞车双节点互踢与 ZooKeeper 僵尸副本排查(附迁移 SOP)

ClickHouse 两节点集群做数据目录迁移,迁完节点 2 后节点 1 无故 stop,此后两节点随便启动哪个都会被自动终止——退出全部发生在整十分,日志写着 Received termination signal (Quit)。本文完整还原排查:信号溯源五步法(journalctl/strace si_pid/auditd)、整点规律与 ZK 分桶过期的辨析、system.replicas 三板斧取证,最终锁定 rsync 迁移经典坑:/var/lib/clickhouse/uuid 撞车导致双节点互踢

Sayai的专栏 222

ClickHouse走向AI数据栈的技术路线与工程边界

ClickHouse获得3.5亿美元融资,资本认可了列式分析引擎的商业价值,但工程问题更具体:一个为扫描聚合设计的引擎能否同时承载BI报表、可观测性日志与AI特征工程三类负载。文章从列存与向量化执行机制拆起,讨论稀疏索引与分区裁剪的代价模型、MergeTree家族引擎选型、副本与分片拓扑权衡、写入攒批去重与背压、物化视图增量聚合、宽表特征建模、向量检索与标量过滤协同、存算分离成本核算,并复盘六个真实失败案例,给出迁移落地五步法与运维边界建设建议。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 367

ClickHouse 运维排障工具箱:视图创建类型报错、CPU 打满拒绝连接、合并 OOM 与 query_log 查询溯源(附速查表)

ClickHouse 一个集群的多事发日:CREATE VIEW 报 ILLEGAL_TYPE_OF_ARGUMENT(isNaN 只吃浮点,聚合状态要先 sumMerge 再 CAST Float64);CPU 打满开始拒绝连接(SERVER_OVERLOADED 是背压不是宕机,processes/merges/mutations 三表定位元凶);OOM 崩溃堆栈解读(MemoryTracker + MergeTask = 合并内存超限,16G 节点配置基线);毫秒级短查询刷屏用 query_log 三

Sayai的专栏 267

EDB 收购 Altinity,整合 Postgres 与 ClickHouse

EnterpriseDB 于11月5日收购 ClickHouse 服务商 Altinity,交易金额未披露,计划通过共享 Iceberg 目录和统一访问控制整合 Postgres 与 ClickHouse 能力。

老孙正经胡说 246

Oracle静默安装,含仅软件安装和数据库安装及常见报错处理方法DBT-10317 DBT-05509 [FATAL] ORA-03114

本文详解Oracle 19c单机版静默安装与数据库创建全流程,涵盖目录配置、响应文件编写、安装及建库命令,附常见报错(如DBT-10317、ORA-03114)解析与解决方案,包含删库指令与日志分析,适合内网环境自学实战,免费干货,实用性强。

qq_41474349的博客 177

Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选

从订单与库存写入出发,拆解 @Transactional 的代理调用链、默认回滚规则与自调用问题;通过 Spring Boot + H2 的五个验证用例比较 REQUIRED、REQUIRES_NEW、NESTED,并说明数据库事务与 Redis、消息和远程接口的边界。

qq_74421990的博客 304

Oracle多租户集群PDB异机恢复至单机部署数据库

本文详细演示了将Oracle RAC集群中的PDB(RMAN_PDB)通过RMAN备份恢复至单机CDB的全过程。首先在源库创建测试PDB并插入数据,随后配置RMAN备份路径,备份该PDB及其元数据文件。接着将备份文件传输至单机环境,启动实例并恢复控制文件与数据文件,最后利用DBMS_PDB.EXPOSE_PDB_FROM_RMAN生成PDB描述文件,将其插入新单机CDB中,实现PDB的独立使用。整个流程涵盖数据准备、备份、恢复及插入,完整验证了跨环境PDB迁移的可行性。

qq_57492774的博客 174

Mysql数据库基础篇(三):全面掌握数据库与数据表操作:深度剖析底层文件差异与核心管理机制

如果你想彻底改掉某个字段的名字,应该使用 change。实例:将 employee表中的 name列修改为xingming注意:使用 change时,即便不改变数据类型,在指定了新列名后依然需要完整地写一遍它的数据类型与约束定义。

2501_93641778的博客 235

智叟云集系统 · 数据分层与管理体验

智叟云集系统 · 数据分层与管理体验 · 数据分层与管理体验。

2301_77178996的博客 416

oracle直方图测试

预期:没有直方图时,优化器假设 status 分布均匀(选择性 = 1/NDV ≈ 1/100),两个查询的预估行数(E-Rows)会非常接近(约 1000 行),很可能对两个查询都选择索引扫描,或者都选择全表扫描,无法区分数据量的巨大差异。

ZHANG123HUO的博客 51
上一篇: ClickHouse 25.1 版本发布说明
下一篇: 用 BuzzHouse 填补 ClickHouse 数据库模糊测试的空白
ClickHouseDB
博客等级 码龄3年 1707粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值