chungquantin / solomon-db

An embedded Gremlin-compatible graph database written in Rust
https://nomadiz.github.io/solomon-db
MIT License
45 stars 1 forks source link

Implement single-node database server using Protobuf #9

Open chungquantin opened 1 year ago

chungquantin commented 1 year ago

Is your feature request related to a problem? Please describe. Apart from being as an embedded storage, SolomonDB can support Gremlin query on a single-node database server. We will build client libraries for high level languages to communicate with the server via gRPC. The server should be containerized for a simple setup and installation.

Describe the solution you'd like Need to parse Gremlin command from string format to bytecode format and send to SolomonDB server for Step execution.

elliot14A commented 1 year ago

Hey, @chungquantin, are planing to use any specific gRPC server library?

chungquantin commented 1 year ago

@elliot14A I am planning to use this library from TiKV: https://github.com/tikv/grpc-rs. Any other suggestions?

elliot14A commented 1 year ago

@chungquantin https://github.com/hyperium/tonic is another great option!

chungquantin commented 1 year ago

@elliot14A Yea I know that one, maybe I will use that, it is more well-structured

elliot14A commented 1 year ago

@chungquantin did you start to work on this yet?

chungquantin commented 1 year ago

@elliot14A I did research and read some open source code for the implementation but has not started yet. You can reference it from IndraDB: https://github.com/indradb/indradb/tree/master/proto

elliot14A commented 1 year ago

@chungquantin went through https://github.com/indradb/indradb/tree/master/proto seems pretty straight forward.

elliot14A commented 1 year ago

@chungquantin any update so far?