Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Random Question: Anyone working with a live graph database?
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Random Question: Anyone working with a live graph database?

I do a lot of custom memory structures and worked with MySQL in the past.

Clearly graph databases are a natural evolution in many cases, I'm working with neo4j just learning the ropes.

Would be interesting to see if anyone else is toying with graph databases and any output/visualisations they've created.

Comments

  • I've tried OrientDB, neo4j, and a few other triple stores. So far I love neo4j the most because of its web interface and writing speed for my application.

    It's mainly used to query for related item, and no visualisation required.

    Thanked by 1ricardo
  • raindog308raindog308 Administrator, Veteran

    This link is more about NoSQL but there are a couple graph DBs listed (OrientDB, Neo4j), with the pros/cons. Just sharing in case it's useful.

    https://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

    Thanked by 2ricardo ThracianDog
  • @raindog cheers, I've spent chunks of time over the past year or two thinking about progression from SQL setups, I've used a few of those and that's a nice overview of what's out there.

    I'm at the point where a graph-like DB, while not as performant as key-value stores or relational DBs in certain scenarios, is a good fit for building long term datasets that don't need an anal schema and have a reasonable way of finding relatedness across data.

    I've toyed with freebase and wikidata a bit and was just wondering if people have implementations out in the wild just to see some more use-cases outside well documented ones like FB and Google's knowledge graph.

  • TinkerPop has a nice writeup on graph computing systems. A bit outdated, but there's also Giraph.

    I've adopted a more data-oriented design - figure out what queries I want to make and work backwards the data layout and query language.

    In a recent use-case for linear algebra operations on time-series data, I designed a custom query language (instead of SQL) on top of LuaJIT.

    BTW, plain old SQL setups can take you far. Serialize your custom memory structures and write them out into a BLOB column. Alternately serialize them with CapnProto, FlatBuffers or JSON. You can always duplicate part of your custom structure into another DB column in a format friendly to SQL queries or indexing.

    Thanked by 1ricardo
  • ricardoricardo Member
    edited February 2018

    I've wrote a bunch of custom data structures mainly for performance reason in real time searching, I liked using libjudy but I've found over time that the structure becomes more of a limiting factor than the hardware, hence graphs with their more flexible approach to the structure of data. Thanks for the links will take a look.

    I moved away from SQL for the perf related stuff purely because the size of data, take a simple key value and build a forward and inverted index on something in memory and it's comparable in size to an innodb representation of it, but lacking in the inverted index.

    The two things I'm dealing with just now is getting to grips with the Cypher syntax of neo4j and a better idea of how people are adopting graphs out in the wild.

Sign In or Register to comment.