一文了解多云原生的现代化实时数仓 SelectDB Cloud

随着数字化转型的加速,云计算已成为现代企业运营中的关键组成部分。云的重要性体现在多个方面:首先,它提供更好的灵活性与可扩展性,可根据实际需求动态调整计算和存储资源,以快速适应市场变化并支持业务增长。其次,其采用按需计费的模式,使企业能够有效控制成本,避免高昂的硬件投资和维护费用。

飞轮科技作为 Apache Doris 的商业化公司,基于其内核自主研发了现代多云原生实时数据仓库 SelectDB Cloud,充分利用云原生能力,为客户提供极致性价比、融合统一、简单易用、安全稳定的云上数据分析服务。自推出至今, SelectDB Cloud 已支持全球主流云平台,并通过不断创新,推出了更符合客户合规需求的 BYOC 部署模式。此外,为满足客户更广泛场景需求, SelectDB Cloud 在高并发实时报表、日志存储与分析、湖仓一体等场景不断深化,致力于提供更高效的数据分析体验。

云原生存算分离架构

云计算基础设施的成熟带来了许多独有的优势,例如可根据需要快速增加或减少资源,无需担心基础设施的限制,只需为实际使用付费;又如提供了灵活多样的存储介质,可针对实际需求配置不同性能、不同价格的存储。那么,SelectDB Cloud 如何充分利用云上特性,发挥云基础设施的优势呢?

SelectDB Cloud 采用存算分离模式,将计算资源和存储资源分开管理,从而更好地发挥云计算平台的强大功能。

在计算方面:

  • 支持多计算集群:多个计算集群共享同一份数据,用户可以通过多计算集群对不同业务或者离线负载隔离。

  • 计算集群弹性伸缩:支持计算集群弹性伸缩,根据工作负载的高低峰运行时段、作业执行规律,灵活配置不同规模的计算资源。

在存储方面:

  • 支持冷热存储分层:全量数据存储到成本更低且极其可靠的共享存储中,热数据仅在本地 Cache,相比存算一体三副本,存储成本最高下降至原先的 1/10;

云原生存算分离架构.png

01 多计算集群,高效实现负载隔离

当计算层与存储层分离设计后,计算层没有数据状态,可支持极其灵活快速的弹性伸缩;而存储层可极为方便的供多个计算资源进行共享访问。因此,SelectDB Cloud 引入多计算集群能力,通过数据仓库架构上的创新,以更好地满足用户需求。

SelectDB Cloud 设计多计算集群架构初衷主要源于写入与读取隔离、在线业务和离线业务隔离这两类典型场景。

  • 写入与读取隔离: 传统数仓架构中,数据的写入和读取在同一个计算集群,当遇到业务写入高峰时,容易因资源相互抢占影响查询性能和稳定性。SelectDB Cloud 多计算集群可通过独立的计算集群分别进行写入、读取操作,即使写入压力非常高时,计算任务也能顺利执行,从而避免因写入高峰期影响查询服务的性能。

多计算集群,高效实现负载隔离.png

  • 在线业务与离线业务隔离: 通常情况下,大多数分析场景会使用相同的数据支撑多个业务场景,而这些场景对于服务的延时、可用性要求完全不同。传统架构通常会把数据冗余存储到不同系统中,但这会带来较高存储成本和系统维护成本。SelectDB Cloud 多计算集群可基于同一份数据拷贝,使用独立隔离的计算资源分别满足在线和离线业务需求,实现不同业务负载的隔离

### Kafka在实时数据仓库中的应用 Kafka作为一种高性能、可扩展的分布式流数据平台,在构建实时数据仓库方面有着显著的优势[^2]。通过将实时产生的数据发布到Kafka主题,并由消费者从这些主题中订阅数据来进行即时处理,能够有效地满足实时数据分析需求。 #### 架构特点 - **高吞吐量**:即使面对海量的数据输入,也能保持高效稳定的性能表现。 - **持久化日志**:提供可靠的消息存储机制,确保不会因为系统故障而丢失重要信息。 - **水平伸缩能力**:可以根据业务增长轻松增加节点来提升整体容量。 - **容错性与一致性保障**:支持关键任务级别的操作,保证了系统的稳定运行[^3]。 #### 应用实例 为了更好地理解如何利用Kafka搭建这样的基础设施,《基于Kafka的实时数据仓库在搜索应用中的实践》一文中给出了具体的实施方案说明以及配套代码片段供学习参考[^1]。下面是一个简单的Python版Producer例子用于向指定Topic发送消息: ```python from kafka import KafkaProducer import json producer = KafkaProducer(bootstrap_servers='localhost:9092', value_serializer=lambda v: json.dumps(v).encode('utf-8')) for i in range(10): producer.send('test_topic', {'number': i}) producer.flush() producer.close() ``` 此段脚本展示了怎样配置并初始化一个`KafkaProducer`对象,接着循环调用其方法往名为`'test_topic'`的主题里推送JSON格式化的记录集;最后记得清理缓存区并且关闭连接以释放资源[^4]。 ### 适合场景 当面临如下情况时,采用Kafka作为核心组件之一建立起来的解决方案会显得尤为合适: - 对延迟敏感的应用程序,比如金融交易监控预警; - 大规模的日志收集与聚合项目; - 社交媒体平台上针对用户行为模式挖掘的任务; - 物联网设备间通信协议设计等场合下均能体现出独特价值。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SelectDB技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值