Skip to content

Add a SQLite / LevelDB store backend #800

Description

@Leomrlin

What & why

There are 7 store backends today, but none is a zero-external-dependency
embedded
option: SQLite (embedded SQL) or LevelDB (embedded KV). For
single-node / edge / testing scenarios, this is lighter than RocksDB and adds
persistence over Memory — a clear value gap.

现有 store 后端 7 种,但缺少零外部依赖的嵌入式选项:SQLite(嵌入式 SQL)或
LevelDB(嵌入式 KV)。对单机/边缘/测试场景,比 RocksDB 更轻、比 Memory 多了持久化,价值明确。

The task

Create geaflow-store-sqlite (or -leveldb), implementing the storage SPI with
basic KV + graph storage and state archive/recovery.

新建 geaflow-store-sqlite(或 -leveldb),实现存储 SPI,支持 KV 与图存储基本能力 + 状态归档/恢复。

Where to look / 怎么做

  1. Simple baseline: geaflow-store-memory. Persistence/versioning:
    geaflow-store-rocksdb. Relational: geaflow-store-jdbc.
  2. Implement XxxStoreBuilder (IStoreBuilder) + the matching
    IGraphStore / IKVStore / IStatefulStore.
  3. SPI registration: META-INF/services/org.apache.geaflow.store.IStoreBuilder.
  4. pom + tests (reuse the shared store test suite if one exists).

Done when

  • Builder + core store interfaces implemented; KV and graph reads/writes correct
  • Archive/recovery (state versioning) supported
  • Passes the shared store tests / adds targeted tests
  • Honors the same interface contract as existing stores (swap it in via config and run an example)
  • checkstyle / RAT pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions