简介
-
简介
NebulaGraph是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。
- 什么是图数据库
图数据库是专门存储庞大的图形网络并从中检索信息的数据库。它可以将图中的数据高效存储为点(Vertex)和边(Edge),还可以将属性(Property)附加到点和边上。
NebulaGraph的优势
- 开源
NebulaGraph是在 Apache 2.0 条款下开发的。越来越多的人,如数据库开发人员、数据科学家、安全专家、算法工程师,都参与到NebulaGraph的设计和开发中来,欢迎访问 NebulaGraph GitHub 主页参与开源项目。
- 高性能
基于图数据库的特性使用 C++ 编写的NebulaGraph,可以提供毫秒级查询。众多数据库中,NebulaGraph在图数据服务领域展现了卓越的性能,数据规模越大,NebulaGraph优势就越大。详情请参见 NebulaGraph benchmarking 页面。
- 易扩展
NebulaGraph采用 shared-nothing 架构,支持在不停止数据库服务的情况下扩缩容。
- 易开发
NebulaGraph提供 Java、Python、C++ 和 Go 等流行编程语言的客户端,更多客户端仍在开发中。详情请参见 NebulaGraph clients。
- 高可靠访问控制
NebulaGraph支持严格的角色访问控制和 LDAP(Lightweight Directory Access Protocol)等外部认证服务,能够有效提高数据安全性。详情请参见验证和授权。
- 生态多样化
NebulaGraph开放了越来越多的原生工具,例如 NebulaGraph Studio、NebulaGraph Console、NebulaGraph Exchange 等,更多工具可以查看生态工具概览。
此外,NebulaGraph还具备与 Spark、Flink、HBase 等产品整合的能力,在这个充满挑战与机遇的时代,大大增强了自身的竞争力。
- 兼容 openCypher 查询语言
NebulaGraph查询语言,简称为 nGQL,是一种声明性的、部分兼容 openCypher 的文本查询语言,易于理解和使用。详细语法请参见 nGQL 指南。
- 面向未来硬件,读写平衡
闪存型设备有着极高的性能,并且价格快速下降,NebulaGraph是一个面向 SSD 设计的产品,相比于基于 HDD + 大内存的产品,更适合面向未来的硬件趋势,也更容易做到读写平衡。
- 灵活数据建模
用户可以轻松地在NebulaGraph中建立数据模型,不必将数据强制转换为关系表。而且可以自由增加、更新和删除属性。详情请参见数据模型。
- 广受欢迎
腾讯、美团、京东、快手、360 等科技巨头都在使用NebulaGraph。详情请参见 NebulaGraph官网。
适用场景
- 欺诈检测
金融机构必须仔细研究大量的交易信息,才能检测出潜在的金融欺诈行为,并了解某个欺诈行为和设备的内在关联。这种场景可以通过图来建模,然后借助NebulaGraph,可以很容易地检测出诈骗团伙或其他复杂诈骗行为。
- 实时推荐
NebulaGraph能够及时处理访问者产生的实时信息,并且精准推送文章、视频、产品和服务。
- 知识图谱
自然语言可以转化为知识图谱,存储在NebulaGraph中。用自然语言组织的问题可以通过智能问答系统中的语义解析器进行解析并重新组织,然后从知识图谱中检索出问题的可能答案,提供给提问人。
- 社交网络
人际关系信息是典型的图数据,NebulaGraph可以轻松处理数十亿人和数万亿人际关系的社交网络信息,并在海量并发的情况下,提供快速的好友推荐和工作岗位查询。