kraison / vivace-graph-v3

VivaceGraph version 3. Open source Common Lisp graph database & Prolog implementation. Supersedes http://github.com/kraison/vivace-graph-v2.
Other
154 stars 29 forks source link

Status of project? #33

Open joshcho opened 1 year ago

joshcho commented 1 year ago

I have taken a keen interest in this project; I have a small project and have both a vivace-graph version and a neo4j version, with significant speedup with vivace-graph version, so much so that I 'm willing to work with a largely unmaintained project. What are the authors' plan with this project? I am curious.

kraison commented 1 year ago

Hi Josh. I am currently volunteering in Ukraine and rarely have power or internet, much less time to code. Once this war is over, I will get back to maintaining VG. I am happy to support you as much as I can in the meantime, given my current situation.

joshcho commented 1 year ago

Thank you very much. Best of luck, I will submit pull requests in the meantime that may be helpful.

joshcho commented 1 year ago

I am building something that requires a graph for each user. Would you recommend (in terms of speed and otherwise) having a user's graph be a subgraph of one large graph, or having a graph for each user? I haven't been able to get the latter to work.

Also, I noticed each graph is more than 2GB, which might hinder the multi-graph approach (though isolation would be really nice).

kraison commented 1 year ago

Multiple graphs is not an intended use case. It might work, but linking nodes between graphs definitely won't work as I suspect you intend.

kraison commented 1 year ago

Because this is a Lisp-based project, there are certain lines of demarcation that we are used to using that just don't fit. The best way to understand VG is not as a database separate from your code, but rather as a file-backed Lisp heap with user-defined indexing of objects. I highly recommend this book as one reference: https://en.m.wikipedia.org/wiki/The_Art_of_the_Metaobject_Protocol

joshcho commented 1 year ago

I have that book open on one of my tabs, this gives me more motivation to read it. Thanks!

joshcho commented 1 year ago

How do you estimate the performance would look like if you have, say ~100M nodes and ~100M edges?

tluyben commented 1 year ago

@kraison @joshcho Maybe until your return, there can be a maintained fork ? @joshcho did some good work, so maybe that's a good start.

joshcho commented 11 months ago

I made one or two changes, so I don't think they are good enough. Also unfortunately, I have moved onto other projects, so won't be of much help here.

Best of luck!