嬴图Powerhouse (v5) 基于C++实现,采用了全新的混合架构,具备高性能图计算能力和卓越的可扩展性。
架构介绍
嬴图Powerhouse(v5)架构
图处理系统常常面临数据本地性(Data Locality)和计算效率的权衡。传统分布式计算集群虽然支持横向扩展,但由于其通用设计,难以维持最佳的数据本地性。相对而言,专用的高密度计算(HDC, High Density Computing)集群虽然有着出色的内存效率,但在面对多样化弹性图工作负载时,也会缺乏所需的可扩展性和灵活性。
嬴图Powerhouse (v5) 通过无缝整合可扩展性和最佳性能,弥合了这一差距。它确保高效图遍历和计算的同时,既能满足企业级大规模图需求(十亿万计节点),也能提供弹性动态工作负载所需的灵活性。
嬴图Powerhouse (v5) 架构的四大主要组成部分为:
分片服务器
分片是指将数据库中的大型图拆分为更小的块(称为分片)并存储在多个服务器(或实例)上。这使得数据库能够水平扩展,从而提高总体存储容量。
分片有以下核心概念:
sharding_key
:图中数据的特定属性(如_id
),用于确定数据在多个分片中的分布方式。sharding_function
:一种以sharding_key
为输入,并将其映射到存储数据的分片的函数。shard_id
:分片的唯一标识符,通常依照顺序编号(如1
,2
,3
,……)。
嬴图数据库采用以点为中心的分片逻辑,每个分片包含图中点的不重叠且大小均衡的子集。分配给点的shard_id
计算方式如下:
为实现高效图遍历,每条边连同两个端点会被存储两次:点A分片存储一条出边(A->B),点B分片存储一条入边(B<-A)。
每个分片服务器同样负责计算。通过智能分片最大化数据本地性和最小化跨实例通信开销后,可以实现高性能图查询和分布式算法。直接访问本地数据意味着可以在分片上进行计算,既避免了高成本的数据传输,又能提供超高速的性能。
每个分片具备多副本(Multi-replica)数据存储,保留多份数据副本。此策略增强整体弹性,确保高可用性和容错能力,并提升可靠性。
总的来说,相较于大多数集中式或分布式图系统,存储计算耦合的分片服务器在性能上极具竞争力,同时具备了更高效的自动化水平扩展能力。
HDC服务器
HDC(高密度计算)服务器提供的弹性计算能力可以动态调整资源,根据计算需求向存储空间增加或移除图集。
HDC服务器从分片服务器访问并加载图数据,支持实时数据同步(可配置)和可选数据引入(基于schema、属性或过滤条件)。这比基于投影式(Projection)的框架更灵活准确,因为后者可能会有过时数据。
HDC服务器支持100多种图算法和图查询语句,性能比分片服务器快10倍甚至更多,在深度查询和算法运算时表现尤为突出。
名称服务器
名称服务器(Name Server)旨在高效处理客户端请求,主要职责包括:
- GQL(ISO标准)UQL(嬴图原生): 解析GQL/UQL查询语句,优化语句以提高效率,并执行优化后的语句获取结果。
- 负载均衡:将传入请求高效分配到多个服务器,确保系统稳定性,避免单一服务器过载。
- 执行计划:制定并组织执行高效查询的步骤,提高整体性能。
- 协议:定义组件和服务器间的通信方法和规则,确保正确交互。
- MapReduce:支持大规模并行数据处理,即拆分任务并分配到多个服务器,加快计算速度。
- 事务管理:确保事务的一致性、可靠性和原子性,维护数据库的完整。
Meta服务器
Meta服务器负责整体系统的协调、完整性和优化,其主要功能包括:
- 全局信息:管理全图的结构和元数据,实现协同处理。
- 作业管理:负责作业(即任务)的调度、执行和监控,确保作业得到高效处理。
- 访问控制:管理用户权限和安全控制,确保只有授权用户可以访问数据和执行操作。
- 高可用性:使用RAFT一致性算法管理副本,确保分布式组件保持一致。
- 服务注册:管理系统内服务的注册,帮助协调不同服务和组件,实现平稳运行。
- 分片管理:监督分片的分发、分配和扩展,确保数据均匀分布且可访问。
本地部署
若需本地部署服务,请联系嬴图支持团队support@ultipa.com。
以下是推荐的配置:
分片 + HDC | 仅分片 | |
---|---|---|
适用性 | 实时写入,离线数据实时计算,分析处理 | 其他需求 |
场景示例 | 超算中心 | 浅层图查询 |
离线或近实时图计算 | 图仓库,元数据读/写 | |
索引计算,审核模型 | 通用数据库 | |
总结 | HDC计算服务器解决了低内存分片架构的性能瓶颈,处理大规模数据计算更加高效。专为高效AP计算和离线数据处理而设计,有效满足大型图的分布式计算需求。 | 虽然主要依赖磁盘和网络输入/输出,本架构依然可以高效处理复杂多层查询和分布式聚合任务。它可以作为通用数据库,用于开发网站和应用程序。 |
* 部署时必须配置名称服务器和Meta服务器
支持的产品
嬴图Powerhouse (v5) 配备了一整套工具包,从查询、分析、可视化到数据无缝迁移、轻松部署、平滑集成外部应用,全方位优化并加速您的图体验。这些工具能大幅提升工作效率,轻松实现对极复杂图数据的管理和交互。
重点产品包括:
- GQL:符合ISO标准的图查询语言,制定全球标准。
- UQL:嬴图查询语言,专为卓越的图数据库性能打造。
- 嬴图算法与分析:超过50种标准图算法,助力数据科学的杰出应用。
- 嬴图Manager:高可视化、直观图数据库管理系统,轻松管理数据库。
- 嬴图Transporter:可靠的数据导入/导出工具,支持多种数据源和数据格式,包括MySQL、PostgreSQL、SQL Server、BigQuery、Neo4j、Kafka、CSV、JSON/JSONL、GraphML和RDF。
- 嬴图Drivers:完善成熟的API/SDK,无缝支持应用开发,支持Java、Go、Python、NodeJS、C#和RESTful API。
- 嬴图CLI:跨平台命令行界面(CLI),可在Windows,Mac和Linux环境下执行GQL和UQL查询语句。
参考资料
想要了解更多嬴图Powerhouse (v5) 的信息并查看测试报告,请阅读我们的论文: