云数据库SelectDB 产品解析及最佳实践

简介: 2023年10月31日-11月2日,云栖大会在杭州举办,阿里云正式对外发布了云原生全托管产品——“阿里云数据库 SelectDB 版”,SelectDB 是基于 Apache Doris 内核打造的聚焦于企业大数据实时分析需求的企业级产品,通过深度融合云随需而用的特性,构建起云原生存算分离的全新架构,面向企业海量数据的实时分析需求提供极速实时、融合统一、简单易用的云上数仓服务。

Apache Doris 是全球流行的开源 OLAP 分析引擎,在全球范围内拥有广泛的用户群体。目前,全球中大型企业用户已突破 2000 家 ,覆盖金融、互联网、能源、制造、通信、物流等数十个行业, 赢得了数万名用户的喜爱。在社区活跃度方面,目前项目已在 GitHub 获得近 10000 Star,汇集国内外近 600 名社区开发者,月度活跃贡献者数量连续数月位居全球大数据开源项目榜首,已成长为全球大数据领域最活跃的开源项目之一。

云数据库 SelectDB 版的核心优势

01 极致的查询性能

2022年10月,SelectDB凭借优异的技术表现登顶全球分析型数据库榜单 ClickBench,多项指标世界第一,并在业界最为通用的 c6a.4xlarge、500gb gp2 机型下排行全球第一。除此之外,SelectDB 在宽表聚合、多表关联和高并发点查场景下也表现出优异的性能。

▶︎宽表聚合场景下,使用 SSB-FLAT 测试,SelectDB 是 ClickHouse 的 3.4 倍,是 Presto 的 92 倍,是业界标杆产品 Snowflake 的 6 倍。

▶︎多表关联场景下,使用 TPC-H SF100 测试,SelectDB 的性能可达到 Redshift 的 1.5 倍,ClickHouse 的 49 倍,同时是业界标杆产品 Snowflake 的 2.5 倍。

▶︎高并发点查场景下,使用 YCSB 测试集,SelectDB 在 10 列测试中,主键高并发点查能力提升 20 倍;在 100 列测试中,主键高并发点查吞吐是某云产品 H 的 2.5 倍,非主键高并发点查吞吐是某云产品 H 的 11 倍。

SelectDB如此卓越的性能主要得益于以下“黑科技”的支持:

▶︎更智能的全新查询优化器:SelectDB 采取更先进的 Cascades 框架、基于丰富的统计信息,实现了更智能化的自适应调优,在绝大多数场景无需任何调优和 SQL 改写即可实现极致的查询性能,同时对复杂 SQL 支持得更加完备,可完整支持 TPC-DS 全部 99 个 SQL。

▶︎MPP执行模型和自适应的并行执行引擎:SelectDB 采取 MPP 并行执行模型,可以充分利用节点间和节点内的并行计算能力,同时引入了自适应的 Pipeline 执行模型,由数据驱动控制流变化、减少了线程频繁创建和销毁带来的开销,实现了阻塞操作的异步化和资源池化以及更加系统资源的灵活分配,提升了 SelectDB 对于 CPU 多机多核的资源利用率,在混合负载场景下获得更高效的执行效率。

▶︎向量化执行引擎和执行算子优化:SelectDB 实现了全面向量化,包括查询、导入、Schema Change、Compaction、数据导出、UDF等,通过向量化减少虚函数调用与Cache Miss、进一步利用 SIMD 指令,充分发挥现代 CPU 的计算能力。同时通过对执行算子的优化,在宽表聚合和多表关联场景都获得了更高的查询性能。

▶︎丰富的索引结构和高效的存储引擎: SelectDB 支持前缀索引、ZoneMap、Bitmap、Bloom Filter、倒排索引等多种索引结构进行查询时数据剪枝优化。还引入行列混合存储以及行级 Cache,结合点查询短路径优化,最终实现点查询并发能力提升 20 倍。同时 SelectDB 还支持多种存储模型,可以针对使用场景进一步提升性能。

02 存算分离全新架构

基于阿里云成熟的云基础设施,云数据库 SelectDB 版采用云原生存算分离的架构,全量数据存储于价格低廉的对象存储 OSS 中,大幅降低了存储和计算的成本,经测算,使用云数据库 SelectDB 版所需成本仅是企业自建部署成本的1/5 - 1/2

存储与计算的分离,带来的最大优势是存储和计算可以独立扩缩容、按需扩缩容。其次,为满足用户对同一份数据上的分析负载隔离的需求(例如,导入的工作负载与查询的负载进行隔离,Adhoc 的大查询负载和在线点查询的负载间相互隔离),避免不同负载间相互抢占资源,云数据库 SelectDB 版提供了同一个实例多个物理计算集群(Multi-Cluster)的特性,用户可按需创建多个计算集群但共享同一份数据,同时多集群之间的资源是物理隔离的,这样更好的保证了隔离性

03 融合统一的分析体验

云数据库 SelectDB 版可以提供融合统一的解决方案,可满足用户在多种典型的数据处理与分析场景的需求,在一套系统中即可完成点查询、报表分析、即席查询、ETL/ELT 等多种查询负载。同时,SelectDB在 ETL/ELT 场景性能表现优异,在相同资源下,其速度是 Hive 的 54 倍、Spark 的 12 倍。

与此同时,融合统一的特性离不开联邦查询能力和对半结构化数据的支持:

1. 联邦查询:Multi-Catalog 功能支持多种异构数据源的元数据自动映射与同步,目前已经支持 Hive、Hudi、Iceberg、DLF、MaxCompute、Elasticsearch、Trino、ClickHouse、Oceanbase 等数十种数据源,兼容世面上主流的开放湖仓格式和 Metastore,实现了便捷的元数据管理和数据打通,在此基础上可实现联邦查询。该能力的推出,不仅简化了系统搭建和运维过程,而且为用户提供更加统一的使用体验。

2. 半结构化数据类型的支持:支持 Array、JSON、Map 等复合数据类型和动态 Schema 特性,简化了结构化数据写入流程,降低了写入难度。此外还提供倒排索引、NGram BloomFilter 、BKD 索引等丰富的索引结构,可实现对结构化/半结构化数据的高效分析和处理。该能力使 SelectDB 在日志存储分析场景下比 Elasticsearch 更具优势,性价比较 Elasticsearch 提升 10 倍

云数据库 SelectDB 版可以提供融合统一的解决方案,可满足用户在多种典型的数据处理与分析场景的需求,在一套系统中即可完成点查询、报表分析、即席查询、ETL/ELT 等多种查询负载。同时,SelectDB在 ETL/ELT 场景性能表现优异,在相同资源下,其速度是 Hive 的 54 倍、Spark 的 12 倍。

与此同时,融合统一的特性离不开联邦查询能力和对半结构化数据的支持:

1. 联邦查询:Multi-Catalog 功能支持多种异构数据源的元数据自动映射与同步,目前已经支持 Hive、Hudi、Iceberg、DLF、MaxCompute、Elasticsearch、Trino、ClickHouse、Oceanbase 等数十种数据源,兼容世面上主流的开放湖仓格式和 Metastore,实现了便捷的元数据管理和数据打通,在此基础上可实现联邦查询。该能力的推出,不仅简化了系统搭建和运维过程,而且为用户提供更加统一的使用体验。

2. 半结构化数据类型的支持:支持 Array、JSON、Map 等复合数据类型和动态 Schema 特性,简化了结构化数据写入流程,降低了写入难度。此外还提供倒排索引、NGram BloomFilter 、BKD 索引等丰富的索引结构,可实现对结构化/半结构化数据的高效分析和处理。该能力使 SelectDB 在日志存储分析场景下比 Elasticsearch 更具优势,性价比较 Elasticsearch 提升 10 倍

04 极简易用的使用体验

阿里云云数据库 SelectDB 版为用户提供了极简易用的使用体验,具体表现在以下几个方面:

1. 提供丰富的导入方式:云数据库 SelectDB 版提供了丰富易用的数据导入方式,包括Stream Load、OSS Load 以及为打通周边大数据生态进行连接导入的 Connector插件等,可以满足用户实时小批量数据导入和批量数据导入和集成的需求。

2. 高效的数据更新能力:支持主键表(Unique Key)进行高效的数据更新,并对 Upsert、条件更新/条件删除、部分列更新、分区覆盖等各类更新提供了完备的支持,不仅满足高效灵活的数据更新需求,还可以对海量可变的数据更新提供支持。

3. 支持MySQL连接协议:云数据库 SelectDB 版支持MySQL连接协议。用户可以使用MySQL Client、JDBC 和 DBeaver来连接使用阿里云数据库SelectDB版,对于用户来说节省了很多学习成本,简单易用。

4. 可视化控制台:云数据库 SelectDB 版提供了可视化控制台,方便管理者及开发者对大量任务进行管理。

云数据库 SelectDB 版四大解决方案

01 在线高并发报表与分析

典型场景:

主要服务在线业务、大量用户实时访问的在线高并发报表与分析,典型场景包括广告营销报表、保险客户分析、物流实时看板、交易明细查询等。

现状分析:

传统解决方案面临的挑战包括数据从产生到可见的延时高(小时级),查询响应速度慢并发低(仅支持数十并发),同时易发生数据丢失或重复,服务可用性差等问题。

如何解决:

▶︎支持通过 HTTP / JDBC 实时导入、内置数据库 CDC 同步、数据流式导入等方式导入数据,可有效缩短数据延时。

▶︎利用行列混存、向量化执行引擎、预聚合模型等技术,结合分区分桶裁剪、索引裁剪、执行计划短路等手段,可大幅提升查询速度及并发度。

▶︎支持事务性两阶段导入,基于云的对象存储进行数据持久化,可实现数据不丢不重。

▶︎支持在线扩容、升级自动副本均衡,支持多集群互备容灾,可实现服务高可用。

方案收益:

▶︎可达到 100 万行/秒的实时写入,数据可见性最快可以做到秒级别。

▶︎可支撑单机 3 万 QPS 的高并发,查询延时 99 分位 200ms 以内。

02 用户画像与行为分析

典型场景:

通过用户画像分析,可以洞察用户的行为、兴趣、需求等信息,更好地把握用户的生命周期,为企业提供精细化的营销和服务;通过用户行为分析,可以实现个性化、精细化的运营,以更加灵活的方式触达用户,提升用户的体验。

现状分析:

传统解决方案面临的挑战包括计算分析过程复杂,难以实时响应查询;表结构不灵活,不适应灵活的业务变化(如添加或删除列);同时,当用户数据发生变化时,原有数据无法实时更新。

如何解决:

▶︎支持丰富高效的行为分析、画像分析函数,可简化开发流程、提升开发效率。

▶︎支持高表正交位图技术,可实现画像场景的秒级圈人。

▶︎通过轻量级加减列以及动态表等技术,可支持行为分析业务属性频繁变动。

▶︎通过写时合并技术(MOW),可支持画像场景的宽表列实时更新。

方案收益:

▶︎在3000亿行为数据分析场景下,可实现平均延迟小于10s,P95延迟小于20s。

▶︎在千亿数据的用户画像分析场景下,可实现秒级人群预估、秒级10标签圈人和秒级100标签人群圈选。

03 日志存储与分析

典型场景:

日志对于保障系统、业务稳定性至关重要,常用于故障排查、监控告警等,企业需要构建统一的日志存储与分析平台。常见的日志种类有服务器日志、业务日志、网络设备日志、物联网日志等。

现状分析:

面对庞大的日志数量,日志场景需要同时实现高吞吐写入和实时可见性。且随着时间的推移,日志的规模不断增长,因此降低存储成本成为一个挑战。此外,日志场景往往还需要快速的文本检索能力,以便按关键字进行匹配查询,以满足故障排查等场景的快速响应需求。

如何解决:

▶︎采用客户端实时小批量写入、服务端内存攒批写入、时序 Compaction 机制等,可以优化写入吞度及实时性。

▶︎利用存储计算分离、列式存储、高压缩比算法等能力,可节约海量数据的存储成本。

▶︎利用倒排索引快速精准定位匹配的数据,结合时序存储模型特点和 TopN 查询的动态剪枝算法,显著提升日志检索与分析性能。

方案收益:

云数据库 SelectDB 版相较于传统方案,能够实现 4.2 倍的写入性能提升和 2.3 倍的查询性能提升,同时磁盘资源占用显著下降,空间占用仅是传统方案 1/5。

04 统一数据分析平台

典型场景:

大数据分析平台可以帮助企业有效地收集内部各种数据,为企业的各个领域(销售、营销、客户服务、运营、财务等)提供数据支持,促进企业决策的科学化和精细化。

现状分析:

传统的大数据平台解决方案包含多种组件,以及多个数据湖查询引擎和数据仓库系统。这些组件的组合可以满足客户的复杂大数据分析需求,包括 ETL、在线报表、即席分析和日志分析等。然而,这种解决方案存在复杂性高、性价比低、实时性差和开放性弱等问题。

如何解决:

▶︎可以通过 SQL 请求实现增量式导入数据湖中的数据,同时通过一套数据仓库系统即可满足 ETL、在线报表、日志分析等多种场景需求。

▶︎通过云数据库 SelectDB 版的联邦查询能力,实现统一的数据湖查询加速方案,可跨多个数据源进行数据查询,满足用户更高效、更灵活的数据处理需求。

▶︎兼容开源 Apache Doris,保证开放性,用户可以继续使用 Apache Doris,并且无缝衔接到云数据库 SelectDB 版。

方案收益:

▶︎可大幅降低计算存储冗余和架构复杂性,同时运维成本非常低、几乎不需要运维投入,不仅如此,使用成本也大幅降低,仅是原方案的 1/5。

▶︎在查询性能方面,相比 Presto 有 3~5 倍的速度提升;在数据 ETL 方面,性能相比 Spark 有 8+ 倍的速度提升。

快来关注

了解更多SelectDB:

https://www.aliyun.com/product/selectdb

加入钉钉群:

相关文章
|
5天前
|
SQL druid Java
Javaweb之数据库连接池以及lombok类库的详细解析
Javaweb之数据库连接池以及lombok类库的详细解析
22 0
|
5天前
|
SQL 存储 关系型数据库
数据库开发之图形化工具以及表操作的详细解析
数据库开发之图形化工具以及表操作的详细解析
21 0
|
19天前
|
SQL 存储 数据可视化
Ganos H3地理网格能力解析与最佳实践
本文介绍了Ganos H3的相关功能,帮助读者快速了解Ganos地理网格的重要特性与应用实践。H3是Uber研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面,这种地理网格技术在诸多业务场景中得到广泛应用。Ganos不仅提供了H3网格的全套功能,还支持与其它Ganos时空数据类型进行跨模联合分析,极大程度提升了客户对于时空数据的挖掘分析能力。
|
30天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
1月前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
170 0
|
1月前
|
消息中间件 存储 数据库
RocketMQ 流数据库解析:如何实现一体化流处理?
RocketMQ 5.0 是一款云原生的消息中间件,旨在覆盖更多业务场景。它针对国内企业在数字化转型中面临的多场景消息处理需求,提供了一体化的解决方案。
111929 7
|
1月前
|
缓存 安全 Java
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
|
5天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
14 0
|
16天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
25 0
|
4天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。

热门文章

最新文章