ArcadeData/arcadedb

GitHub: ArcadeData/arcadedb

多模型数据库 ArcadeDB 一站式支持图、文档、键值与向量数据,适用于高性能与 AI 集成场景。

Stars: 800 | Forks: 100

# ![ArcadeDB](https://arcadedb.com/assets/images/arcadedb-logo.png)

面向极致性能的多模型数据库

            Ask DeepWiki            

Join Discord

Github   LinkedIn   Bluesky   Twitter   Youtube   Discord   StackOverflow   Blog

ArcadeDB 是由 Luca Garulli 创建的多模型数据库(与 OrientDB 同创始人), 在 SAP 收购后推出。基于全新引擎(采用 Alien Technology),ArcadeDB 每秒可处理数百万条记录,且资源占用极低。ArcadeDB 重用了 OrientDB 的 SQL 引擎(经过大量修改)和一些工具类。它使用 LLJ(Low Level Java - 仍基于 Java21+,但仅使用底层 API)以利用先进的机械同情技术并降低垃圾回收压力。高度优化以实现极致性能,可从树莓派扩展到云端的多台服务器。 ArcadeDB 是一个完全支持事务的数据库,具备 ACID 事务支持、结构化与非结构化数据支持、原生图引擎(无 joins,仅记录间链接)、全文索引、地理空间查询和高级安全功能。 ArcadeDB 支持以下模型: - [图数据库](https://docs.arcadedb.com#graph-model)(兼容 Neo4j Cypher、Apache Tinkerpop Gremlin 和 OrientDB SQL) - [文档数据库](https://docs.arcadedb.com#document-model)(兼容 MongoDB 驱动 + MongoDB 查询和 OrientDB SQL) - [键值存储](https://docs.arcadedb.com#keyvalue-model)(兼容 Redis 驱动) - [搜索引擎](https://docs.arcadedb.com/#searchengine-model) - [时序数据库](https://docs.arcadedb.com/#timeseries-model)(支持 InfluxDB Line Protocol、Prometheus remote_write/read 和 PromQL) - [向量嵌入](https://docs.arcadedb.com/#vector-model) - [地理空间](https://docs.arcadedb.com/#geospatial-model) ArcadeDB 支持多种语言: - [SQL](https://docs.arcadedb.com#sql)(源自 OrientDB SQL) - Neo4j [Cypher (Open Cypher)](https://docs.arcadedb.com#cypher) - [Apache Gremlin (Apache Tinkerpop v3.7.x)](https://docs.arcadedb.com#gremlin-api) - [GraphQL 语言](https://docs.arcadedb.com#graphql) - [MongoDB 查询语言](https://docs.arcadedb.com#mongodb-query-language) ArcadeDB 的关键能力: - **70+ 内置图算法** — 路径查找、中心性、社区检测、链路预测、图嵌入等,开箱即用 - **并行查询执行** — SQL 查询利用多核 CPU 加速大型数据集处理 - **物化视图** — 预计算查询结果并自动维护 - **MCP Server** — 内置 [模型上下文协议](https://docs.arcadedb.com/#mcp-server) 服务器,支持 AI 助手和 LLM 集成 - **AI 助手** — Studio 中集成 AI 助手(测试阶段),用于查询帮助和数据库管理 - **地理空间索引** — 原生空间查询和邻近搜索,支持 `geo.*` SQL 函数 - **时序处理** — 列式存储,采用 Gorilla/Delta-of-Delta 压缩,支持 InfluxDB/Prometheus 摄入、PromQL 查询和 Grafana 集成 - **哈希索引** — 可扩展哈希用于快速精确查找,辅以 LSM-Tree 索引 ArcadeDB 可用于以下场景: - 在 Java 虚拟机之上作为嵌入式库使用(任何语言) - 通过绑定以 Python 嵌入:[arcadedb-embedded-python](https://github.com/humemai/arcadedb-embedded-python) - 通过 [HTTP/JSON](https://docs.arcadedb.com#http-json-api) 远程使用 - 通过 [Postgres 驱动](https://docs.arcadedb.com#postgres-driver) 远程使用(ArcadeDB 实现 Postgres 线协议) - 通过 [Redis 驱动](https://docs.arcadedb.com#redis-query-language) 远程使用(仅实现部分操作) - 通过 [MongoDB 驱动](https://docs.arcadedb.com#mongodb-query-language) 远程使用(仅实现部分操作) - 通过内置的 [MCP Server](https://docs.arcadedb.com/#mcp-server)(模型上下文协议)由 AI 助手使用 更多信息请参考 [文档](https://docs.arcadedb.com)。 ### 使用场景 在 [arcadedb-usecases](https://github.com/ArcadeData/arcadedb-usecases) 仓库中探索真实世界示例 —— 包含 Docker Compose、SQL 架构和可运行演示的自包含项目,涵盖: - **推荐引擎** — 图遍历 + 向量相似性 + 时序 - **知识图谱** — 包含全文搜索的共著和引用网络 - **图 RAG** — 基于 LangChain4j 和 Neo4j Bolt 的检索增强生成 - **欺诈检测** — 包含 Cypher 的图、向量与时序信号 - **实时分析** — 包含时序的 IoT 和服务监控 - **社交网络分析** — 包含多语言查询的物化视图仪表板 - **供应链** — 基于 PostgreSQL 协议和 JavaScript 的多层可见性 ### 5 分钟快速入门 使用 Docker 启动 ArcadeDB 服务器: ``` docker run --rm -p 2480:2480 -p 2424:2424 \ -e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata -Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz}" \ arcadedata/arcadedb:latest ``` 现在打开浏览器访问 http://localhost:2480,并使用 ![ArcadeDB Studio](https://arcadedb.com/assets/images/openbeer-demo-graph.png) ArcadeDB 已支持 [Docker](https://docs.arcadedb.com/#docker) 和 [Kubernetes](https://docs.arcadedb.com/#kubernetes)。 你也可以 [下载最新版本](https://github.com/ArcadeData/arcadedb/releases),解压到本地硬盘并使用 `bin/server.sh` 或 `bin/server.bat`(Windows)启动服务器。 ### 版本发布 发布分为四种类型(约每月一次): - `full` — 完整包,包含所有模块 - `minimal` — 排除 `gremlin`、`redisw`、`mongodbw`、`graphql` 模块 - `headless` — 排除 `gremlin`、`redisw`、`mongodbw`、`graphql`、`studio` 模块 - `base` — 仅核心引擎、服务器和网络,排除所有可选模块(`console`、`gremlin`、`studio`、`redisw`、`mongodbw`、`postgresw`、`grpcw`、`graphql`、`metrics`) 版本库的夜间构建文件可在此处获取:[here](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/com/arcadedb/arcadedb-package/)。 你也可以使用 [自定义包构建器](https://docs.arcadedb.com/#custom-package-builder) 构建仅包含所需模块的**自定义发行版**: ``` curl -fsSL https://github.com/ArcadeData/arcadedb/releases/download/26.3.1/arcadedb-builder.sh | \ bash -s -- --version=26.3.1 --modules=gremlin,studio ``` 可选模块包括:`console`、`gremlin`、`studio`、`redisw`、`mongodbw`、`postgresw`、`grpcw`、`graphql`、`metrics`。构建器支持交互模式、Docker 镜像生成和基于本地 Maven 仓库的离线构建。 ### Java 版本 从 ArcadeDB 24.4.1 开始,代码兼容 Java 21。 Java 21 包可在 [Maven 中央仓库](https://repo.maven.apache.org/maven2/com/arcadedb/) 获取,Docker 镜像可在 [Docker Hub](https://hub.docker.com/r/arcadedata/arcadedb) 获取。 我们也在独立分支 `java17` 上支持 Java 17,供尚未升级到 Java 21 的用户使用。 要在项目中使用 Java 17,请在 `pom.xml` 中添加仓库并按如下方式引用依赖: ``` github github https://maven.pkg.github.com/ArcadeData/arcadedb com.arcadedb arcadedb-engine 26.3.1-java17 ``` Docker 镜像同样在 ghcr.io 上提供: ``` docker pull ghcr.io/arcadedata/arcadedb:26.3.1-java17 ``` ### 安全 如需处理安全问题,请发送邮件至 support@arcadedb.com,而不是在 GitHub 上公开提交问题。 ### 许可与署名 ArcadeDB 完全免费用于任何用途,并根据宽松的 [Apache 2.0 开源许可](LICENSE) 授权。我们致力于永远 **保持开源** — 参见我们的 [治理](GOVERNANCE.md) 以了解确保这一承诺的结构性保障。如需商业支持或紧急修复问题,请查看我们的 [定价页面](https://arcadedb.com/pricing.html)。 关于第三方署名和版权声明,请参见: - [NOTICE](NOTICE) — 必要的法律署名 - [ATTRIBUTIONS.md](ATTRIBUTIONS.md) — 详细的第三方致谢 - [LICENSE](LICENSE) — 完整许可文本 - [GOVERNANCE.md](GOVERNANCE.md) — 许可保证和项目管理 ### 贡献 我们欢迎你参与 ArcadeDB 项目。 如果你希望提供帮助,可以参考 [贡献指南](CONTRIBUTING.md) 了解如何为该项目做贡献 尽情使用数据! ArcadeDB 团队 ## 随时间变化的 Star 数 [![随时间变化的 Star 数](https://starchart.cc/ArcadeData/arcadedb.svg?variant=adaptive)](https://starchart.cc/ArcadeData/arcadedb)
标签:Apache 2.0 许可, ArcadeDB, Cypher, DeepWiki, Docker, HTTP/JSON, Java 17, Java 21, JS文件枚举, Maven, MongoDB, OrientDB 衍生, Redis, SQL, 代码覆盖率, 向量嵌入, 域名枚举, 多模型数据库, 多线程, 安全防御评估, 实时查询, 嵌入式数据库, 开源数据库, 开源框架, 持续集成, 搜索引擎查询, 文档数据库, 概念分支, 漏洞验证, 系统审计, 跨语言支持, 键值存储, 风险缓解, 高性能数据库