ArcadeDB
- Multi-Model Property Graph Database Embedded Database Vector Databases
- repo: https://github.com/ArcadeData/arcadedb
- forkOf Orientdb
- written-in: java
- compatibleWith Cypher Tinkerpop/Gremlin Redis Postgres
- supports Geospatial Querying Vector Embedding
- related: Arcade Time Graph
Pro
- embed in JVM, so compatibleWith scala #groovy #kotlin #clojure
- ArcadeDB’s document model also adds the concept of a "Relationship" between documents. With ArcadeDB, you can decide whether to embed documents or link to them directly. When you fetch a document, all the links are automatically resolved by ArcadeDB. This is a major difference to other document databases, like MongoDB or CouchDB, where the developer must handle any and all relationships between the documents herself.
- in the key-value store, it supports documents and graph elements as values
Con
- One edge can only connect two vertices. (no hypergraph/metagraphs)
Questions
- are the different modes using completely separate data?
- t.2024.01.26: yes, documents, edges and vertices are different types of records
- presumably properties can't refer to vertexes
- t.2024.01.26: maybe not in a direct way, but you could use text
Comparison
vs Neo4j
- "Neo4j supports multiple labels per node, while in ArcadeDB a node (vertex) must have only one type. The Neo4j importer will simulate multiple labels by creating new types with the following name:
[_ ]*."
References
- TinkerPop Wide: ArcadeDB - a Multi-Model Database with Gremlin
- https://www.linkedin.com/pulse/experience-using-arcadedb-modelling-tool-vineeth-joseph/
- mentioned issues:
- no versioning
- no constraints over edge types
- no renaming properties
- mentioned issues:
Backlinks