4 ms·
As someone who hated being in the SQL world and couldn’t figure out why until years later when I found out about graph databases, here’s one big shift: Graph d
by joshspankit 4y ago
As someone who hated being in the SQL world and couldn’t figure out why until years later when I found out about graph databases, here’s one big shift:
Graph database store true relationships.
The R in RDBMS and the concept of relationships by primary keys are lies (imo). They lead people away from what true relationships can be. Databases like Neo4j are not about doing any sort of PK or join or merge-before-query. Looking up by connection is the fastest way to find information. If your RDBMS had one table for phone numbers, one for email addresses, one for first names, one for last names, one for street, and so-on it would take huge amounts of time to query to find all the detail for a single person. With a graph database it takes a small amount of time to find the first bit of info (let’s say phone number since it’s easily sorted), and then every other bit of linked data is essentially free.
- eurasiantiger 4y agoEffectively, moving from RDB to a graph database just shifts relationship resolution from query time to insert/update time. Sometimes this can be an advantage. I’d even wager usually.
- deleted 4y ago[deleted]
- bavell 4y agoWell said and agreed!
- mistermann 4y agoThis is very good news for my purposes, thank you!
- lolive 4y agoIt also switches you from schema-based data model to schemaless data model.
- deleted 4y ago[deleted]
- tejtm 4y agoApologies in advance; the R for relational is with respect to the tuple, that is amongst the unordered items which are serialized within a row in a table and not the keys which link different tables, the lie you find does not originate in the definition. As someone who has wanted to love the graph dbs, keep with narrow focus top down queries where the index free adjacency lets you avoid touching the bulk of your data, and stay away from bulk queries that may need to visit everywhere multiple times, which is unfortunately where things get interesting.
- WolfOliver 4y agoThe R in RDBMS stands for the mathematical term of relations which is defined as a subset of a cartesian product.
- throwaway689236 4y agoSounds great, what are the downsides? When is it a definitely bad idea to use it?