想要实现图系统的高并发,通常需要至少以下三套机制的协同工作:
- 高并发的基础架构
- 高并发的数据结构
- 高并发的算法模型与查询实现
以上三者,在图数据库、图计算与存储引擎系统的设计中更是缺一不可。
嬴图分别从硬件和软件两方面实现了并发的基础架构。在硬件层面,嬴图无差别、代码级原生支持X86-64、ARM-64位以及LoongArch(龙芯)等CPU的高并发执行;在软件层面,实现了内核级的高并发的支持,同时也支持如虚拟化、容器等云原生技术,实现了全面云化“一键部署“。
![](https://img.ultipa.cn/img/2023-04-13-15-23-23-national-chip.png)
有了并发的基础架构和数据结构,嬴图通过设计代码逻辑、算法逻辑来充分地利用和释放底层硬件并发数据处理能力。这种面向图数据集和图数据结构的并发对于程序员而言也是一种思路的转变。大部分源自学术研究的原生图算法都是串行的(例如鲁汶社区识别算法),而图上的很多计算需要依赖图算法对全图进行反复遍历以及递归式的操作,计算量巨大,原生图算法需要进行改造升级,大幅提升计算效率,才可满足工业场景需求。