当前位置: 首页 > news >正文

为什么选择嬴图?

图数据库、图计算、图中台都是用图论的方式去构造实体间的关联关系,实体用顶来表达,而实体间的关系用来表达。图数据库的这种简洁、自由、高维但100%还原世界的数据建模的方式让实体间的关联关系的计算比SQL类的数据库高效成千上万倍。

图: 图计算的“图”,是源于数学概念中的“图论”

 新的业务场景和市场对于数据关联分析、深度关联价值的抽取有着刚性的需求——这些刚需需要基于实时图计算的技术、产品和方案来满足。

最近二十年以来,全球IT市场上涌现出了至少十多家图数据库服务商,从传统的非常学术化的RDF(资源定义框架)模式图到更新锐的LPG(标签属性图)或属性图,还有那些在传统的SQL数据库之上或NoSQL数据库上搭建的各种多模(非原生图)数据库解决方案,例如Oracle PGX Graph,或HBase+JanusGraph等方案。

大多数图解决方案,在进行类似于表连接的操作时或许可以获得比传统的关系型数据库(例如Oracle或Mysql)高出指数级(例如5—1000倍)的性能提升,但是它们在面对深度的搜索、关联、计算或高并发、实时决策场景时任然会遇到巨大的挑战(转言之,在深度数据挖掘与计算场景中,要比关系型数据库、数仓有百万倍以上的计算性能提升才有可能做到实时性)。

作为前沿科技的图计算技术在近十年已历经四代演进,第一代例如JanusGraph,第二代例如Neo4j、第三代例如TigerGraph,第四代例如嬴图数据库——尤其在金融级环境中的应用,无论是性能、功能亦或是用户体验均得到指数级的增强和突破。

带着这些问题,我们先来明确一些概念,厘清这些概念对于去伪存真意义重大。无论是数据库、数据仓库、数据湖泊还是数据中台、计算引擎,性能一定是第一公民,性能低下的系统没有可能作为业务支撑系统长期存在,然而,在以关系型数据库为主体的数据库市场中,存储引擎才是一等公民,计算只是二等公民(如果读者对于那些随处可见的效率低下、灵活性差、可解释性差、开发周期漫长的SQL存储过程心有余悸的话)—— 在越来越多的业务场景中,围绕着SQL理念而构建的系统变成了阻碍业务前进的最大障碍!这也是为什么SQL或关系型数据库、数仓、数湖终将会消亡的底层逻辑。

我们知道,所有真正意义上的高性能系统(HPC/S即高性能计算与存储)的共通之处必有以下三条:

1.计算 高并发计算的能力(HPC)

2.存储 内存与外存的综合优化利用(HPS)

3.网络 高吞吐、低延迟系统(HPN)

它们有着重要性主次先后的顺序,计算能力解决后再解决存储的问题,最后再解决网络的问题。当然,计算、存储与网络也是云计算的三要素,它们各自都可能会对应着业务需求中的某些逻辑。但是,没有任何一个高性能的数据库级别的系统可以在不充分释放算力的条件下实现高性能!任何一个鼓吹分布式但是在任一实例上不能做到充分并发的图数据库系统都是浪费资源且无法创造真正、可持续的商业价值!

嬴图数据库创新性的发明,并在最严苛的金融级商用场景(高并发、低延迟)中成功地使用了如下技术:

1.高密度并发图计算 

2.线性可扩展图计算能力 

3.超深度图遍历能力 

4.动态图剪枝 

这些新技术的运用为企业所带来的直接收益就是:

1.TCO的有效降低 70%TCO的降低

2.实施交付速度的大幅提升  交付周期缩短达80%

3.极致的用户体验 整个系统的易用性、可用性、稳定性

对于图数据库系统而言,嬴图创新性地使用了高密度并发图计算基础架构、高并发、低延迟、支持递归查询数据结构,并对全部图上的操作、查询、计算和图算法进行了并行化改造,相比原生的串行化的图算法,实现了指数级的性能提升这与优化和互联网企业所构建的常见的Web中心式的分布式系统非常不同,Web是无状态的,但是图的计算是有状态的,图计算更多的是“长链交易”的查询与计算,这个与互联网常见的“秒杀”系统背后的“短链交易”的查询与计算的设计与实现有很大的差异。

低效的分布式系统设计会有如下特征:

·系统的整体性能因水平分布的实例间的通信量指数级上升而导致性能的指数级下降,甚至(集群)完全不可用;

·集群的并发规模具象到单个实例的并发规模很低,或者说计算密度太低而导致的底层硬件资源的大幅浪费。

以上两点,恰恰就是嬴图致力于规避并解决的核心问题!

1.Shared-Nothing架构

任意集群节点(实例)的下线不会造成整个集群无法工作。

2.HTAP架构

在一个水平分布式集群内融合了OLTP+OLAP的数据(业务)处理能力。

3.高密度并发算力

能充分对底层硬件,例如X86 CPU的高密度并发算力的释放,同时支持ARM 架构。

4.线性可扩展

面向图的整体性而设计的线性可扩展的系统架构。

5.深图遍历

在图上实现深度搜索的能力。

6.动态剪枝

在图上计算的时候,例如深度图遍历不但不会导致性能下降,甚至可以实现性能的提升,例如通过在动态图上剪枝,来实现指数级的性能提升。

7.CAP集群实现

保证集群的可用性、分区与数据一致性(最终一致性)。

图:嬴图 HTAP Cluster - 集群架构示意图

数据批量导入、动态更新、点、边查询、过滤查询、路径查询、模板查询、K邻查询、实时图算法、全图算法、图嵌入(图神经网络计算)…… 嬴图数据库完成了全维度、一系列的性能指标测试与压力测试,尤其在对时效性、安全性、海量数据处理能力等要求更高的金融级商业场景应用中,嬴图数据库以稳定性、易用性、可集成性、功能性的全面性能优势领先于其他同类产品性能。

相关文章:

为什么选择嬴图?

图数据库、图计算、图中台都是用图论的方式去构造实体间的关联关系,实体用顶点来表达,而实体间的关系用边来表达。图数据库的这种简洁、自由、高维但100%还原世界的数据建模的方式让实体间的关联关系的计算比SQL类的数据库高效成千上万倍。 图&#xff1…...

Python学习之路-编码风格

Python学习之路-编码风格 设计哲学 Python的设计哲学是“优雅”、“明确”、“简单”。它的重要准则被称为“Python之禅”。Python之禅又名PEP 20,在Python解释器内运行import this可以获得完整的列表,下面是我的翻译与解读: 提姆彼得斯&a…...

权威认可!甄知科技猪齿鱼产品荣获信创产品评估证书

近日,依据《信息技术应用创新产品评估规范 第1部分:应用软件》(T/SSIA 2001-2022),经过严格评估,甄知科技旗下自主研发的猪齿鱼数智化开发管理平台 V2.0.0,通过信创测试认证,获得上海…...

9. 回文数(Java)

题目描述: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 …...

Python(30):非对称加密算法RSA的使用(openssl生成RSA公私钥对)

Python(30):非对称加密算法RSA的使用(openssl生成RSA公私钥对) 1、openssl生成RSA公私钥对 1.1、生成RSA公私钥对命令 [rootloaclhost ~]# openssl OpenSSL> genrsa -out rsa_private_key.pem 1024 Generating RSA private key, 1024 bit long modulus .. ...…...

Java学习笔记-day04-NIO核心依赖多路复用小记

NIO允许一个线程同时处理多个连接,而不会因为一个连接的阻塞而导致其他连接被阻塞。核心是依赖操作系统的多路复用机制。 操作系统的多路复用机制 多路复用是一种操作系统的 I/O 处理机制,允许单个进程(或线程)同时监视多个输入…...

Java+springboot+vue智慧校园源码,数据云平台Web端+小程序教师端+小程序家长端

技术架构: Javaspringbootvue element-ui小程序电子班牌:Java Android演示自主版权。 智慧校园电子班牌人脸识别系统全套源码,包含:数据云平台Web端小程序教师端小程序家长端电子班牌 学生端。 电子班牌系统又称之为智慧班牌&am…...

算法日志的存在核心在于搭建自检系统

"相信每一个人执行与日志有关的任务都会遇到这样难题吧?长达几万行的日志,如果我们单纯用肉眼去一个个排查,那么恐怕所耗费的时间是以天为计量单位了。当然这是一种比较夸张的情况,根据我的项目经验,正常情况是十…...

【2023开发组一等奖】定位家乡味——北京市老乡探店寻味系统

作品介绍 1 需求分析 中国人的身上都系着两根线,一条线牵引着我们去远方,一条线牵引着我们归故乡。在当今社会,我们因为各种各样的原因背起行囊远离故乡去往千里之外的远方,而那暗涌在血脉的乡愁总会使我们在看到家乡菜的时候,心底溢出一种不可言说的温暖。那么,当你在异…...

37-数据类型,一元运算符typeof,字符串string,布尔Boolean,未定义undefined,空null,数组Array

<body><script>// 0.1加0.2不等于0.3&#xff0c;正确的运算方法如下console.log(0.10.2);var x 0.1;var y 0.2;console.log((x*10y*10)/10);</script> </body> 简单数据类型&#xff08;5种&#xff09;&#xff1a;数字number&#xff0c;字符串s…...

zabbix部署

zabbix部署 部署zabbix服务被监测主机部署zabbix-agent2 使用版本 组件版本centos7.9zabbix5.0php7.2.24MariaDB5.5.68 部署zabbix服务 关闭防火墙和selinux [rootnode ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: …...

深入理解Java源码:提升技术功底,深度掌握技术框架,快速定位线上问题

为什么要看源码&#xff1a; 1、提升技术功底&#xff1a; 学习源码里的优秀设计思想&#xff0c;比如一些疑难问题的解决思路&#xff0c;还有一些优秀的设计模式&#xff0c;整体提升自己的技术功底 2、深度掌握技术框架&#xff1a; 源码看多了&#xff0c;对于一个新技术…...

寒假前端第一次作业

1、用户注册&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户注册</title> …...

【LabVIEW FPGA入门】创建第一个LabVIEW FPGA程序

本教程仅以compactRIO&#xff08;FPGA-RT&#xff09;举例 1.系统配置 1.1软件安装 FPGA-RT 1. LabVIEW Development System (Full or Professional) 2. LabVIEW Real-Time Module 3. LabVIEW FPGA Module 4. NI-RIO drivers 1.2硬件配置 1.使用线缆连接CompactRIO至主机…...

【STM32】STM32学习笔记-USART串口数据包(28)

00. 目录 文章目录 00. 目录01. 串口简介02. HEX数据包03. 文本数据包04. HEX数据包接收05. 文本数据包接收06. 预留07. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式&#xff0c;因为它简单便捷&#xff0c;因此大部分电子设备都支持…...

Java网络爬虫--HttpClient

目录标题 技术介绍有什么优点&#xff1f;怎么在项目中引入&#xff1f; 请求URLEntityUtils 类GET请求带参数的GET请求POST请求 总结 技术介绍 HttpClient 是 Apache Jakarta Common 下的子项目&#xff0c;用来提供高效的、功能丰富的、支持 HTTP 协议的客户端编程工具包。相…...

若依项目的table列表中对每一个字段增加排序按钮(单体版和前后端分离版)

一、目标:每一个字段都添加上下箭头用来排序 只需要更改前端代码,不需要更改后端代码,后面会讲解原理 二、单体版实现方式: 1.在options中添加sortable:true 2.在需要排序的字段中添加sortable:true 三、前后端分离版 1.el-table上添加@sort-change=“handleSortChange”…...

Linux自动化部署脚本

1:最近项目部署比较频繁终于熬不住了 就有下面的这东西 #!/bin/sh #报错停止运行 set -e # 获取tomcat的PID TOMCAT_PID$(ps -ef | grep tomcat | grep -v grep | awk {print $2}) # tomcat的启动文件位置 START_TOMCAT/mnt/tomcat/bin/startup.sh # 项目文件部署位置 PROJECT…...

lvgl修改图片大小上限

在lvgl中读取图片文件时&#xff0c;被读取的图片具有上限&#xff0c;也就是2048像素。这会造成两个非预期的结果&#xff1a; 超过2048像素的部分会被裁去。表示图片的结构体lv_img_t中的w和h变量值是图片像素被2048求余。例如&#xff0c;当一个图片高为2048像素时&#xf…...

阻止持久性攻击改善网络安全

MITRE ATT&CK框架是一个全球可访问的精选知识数据库&#xff0c;其中包含基于真实世界观察的已知网络攻击技术和策略。持久性是攻击者用来访问系统的众多网络攻击技术之一;在获得初始访问权限后&#xff0c;他们继续在很长一段时间内保持立足点&#xff0c;以窃取数据、修改…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...