JetBrains/youtrackdb
YouTrackDB is a general-use object-oriented graph database with storage format native to handle graph relations. YouTrackDB supports Gremlin queries and ACID transactions. YTDB supports both embedded and client-server deployment models.
解决的问题
YouTrackDB 是一款通用型图数据库,能够处理连接数据(如社交网络、推荐引擎或依赖关系图),而无需传统 JOIN 的性能开销。它允许您将数据存储和查询为对象和关系,具有快速的链接遍历和强一致性保证。
工作原理
YouTrackDB 将数据存储为图,对象之间的关系以常数时间(O(1))遍历,而不是使用昂贵的运行时 JOIN。它支持嵌入式(在应用程序内运行)和客户端-服务器(独立数据库服务器)部署。事务在快照隔离下运行,因此每个事务在开始时看到数据库的稳定视图,避免脏读和相关问题。您可以使用 TinkerPop API 和 Gremlin 查询语言,或基于 SQL 的 YQL 语言(具有图模式扩展,如 MATCH 语句)进行查询。它还提供无模式、混合模式和全模式,以适应不同的开发工作流。
适用对象
YouTrackDB 适用于需要处理复杂关系和图查询的应用程序的开发人员和团队。它由 JetBrains 在生产环境中使用,因此适合要求苛刻的环境。您可以通过 Docker 控制台进行实验,使用 Maven 或 Gradle 将其嵌入 Java 项目,或作为 Docker 容器运行完整服务器。它需要 JDK 21 或更高版本。
亮点
- 链接遍历的 O(1) 复杂度,避免昂贵的 JOIN
- 默认对所有事务进行快照隔离
- 开箱即用地支持 TinkerPop API 和 Gremlin 查询语言
- YQL 查询语言,具有 SQL 风格语法和图扩展
- 支持无模式、混合模式和全模式
- 强大的安全性,基于用户、角色和谓词策略
- 可选静态数据加密
- 在线增量备份和完整备份,暂停时间最短
- 每个实例支持多个独立数据库
- 易于入门:Docker 镜像用于控制台和服务器,Maven/Gradle 依赖用于嵌入式使用
相关
- 项目
- 项目
- 项目
- 项目