No video

How to keep track of change - versioning approaches in Neo4j

  Рет қаралды 6,771

Neo4j

Neo4j

Күн бұрын

Versioning data is a critical element in many data applications. It is used in finance, identity and access management and master data management to name but a few industries and use cases.
Versioning enables us to:
track changes made to data
make corrections without deleting anything
'travel' through time to understand state changes
In this talk we are going to looking at time-based versioning in Neo4j, exploring approaches to track:
an object's state
relationship changes
ommited records

Пікірлер: 11
@user-qi3he2gc6y
@user-qi3he2gc6y 5 ай бұрын
Nicely explianed and insightful
@LadislavJech
@LadislavJech 2 жыл бұрын
Nice one, I know you cannot get everything, but the issue Graph represents is that imagine I have 20 attributes for CusomerDetails node, with your approach even if I change just one attribute, I need to copy all 19 non changed attributes into new node, over time this is hell of data redundancy in high update systems with which is even expanded with low number of field changed. Right, but storing just the properties which changed will put a burden to query the complete view of all attributes on customer.
@emirpasic
@emirpasic 4 жыл бұрын
Thanks for the excellent presentation as I currently working on modeling the data structure into Neo4j and one of the requirements was to have versioning capabilities of the data. Separation of state and object seems to be the best approach. The other requirement is to have a multi-tenancy system, in other words, the state of an object might be different for different tenants and the same approach of separating state and object could be applicable, albeit it will add referential complexity to the model with an additional dimension of a tenant. Another approach under evaluation is just to copy the node, where the node would be the object and state combined and have a reference to the previous version of the same node. This adds a bit of duplication, but so does copying the state. What would be the drawbacks of such an approach in terms of complexity of the model, querying, etc. ?
@carveratutube
@carveratutube 3 жыл бұрын
Thanks for sharing. Unfortunately, I don’t think that your approaches will match my needs. However, you helped me to complete the picture of my solution 👍
@neo4j
@neo4j 3 жыл бұрын
Best of luck!
@wayneh150
@wayneh150 3 жыл бұрын
Great video I am looking more info on versioning. Graphs in time Pulling data from sensor data Recording data points with different variants for comparisons
@shwetankdave4136
@shwetankdave4136 2 жыл бұрын
At the @8:34 mark, there is a reference to another neo4j talk, can you please share a link to that? Thanks.
@oferbar
@oferbar 4 жыл бұрын
I can still hear the buzz :-)
@neo4j
@neo4j 4 жыл бұрын
Yeh I noticed that as well, sorry :( But I thought the content was still worth publishing despite that :) Cheers, Mark
@jonh879
@jonh879 3 жыл бұрын
You can't do "MATCH (:Product { id:123})" in cypher. You have to do "MATCH (p:Product) WHERE id(p) = 123"
@marcuschiu8615
@marcuschiu8615 2 жыл бұрын
you shouldn't use neo4j's internal id. You should come up with your own business id which could be product SKU or a composite-key.
Graphs in AI and ML
36:38
Neo4j
Рет қаралды 7 М.
Best KFC Homemade For My Son #cooking #shorts
00:58
BANKII
Рет қаралды 73 МЛН
UNO!
00:18
БРУНО
Рет қаралды 3,1 МЛН
Knowledge Graphs Webinar
56:29
Neo4j
Рет қаралды 21 М.
Graph Database Internals: @neo4j  with Michael Hunger
1:09:22
The Geek Narrator
Рет қаралды 2 М.
Product Validation & Verification Data Management With Neo4j. (Vehicle Development Use Case)
10:00
This Simple File Management System Changed My Life!
9:27
Jeff Su
Рет қаралды 1,2 МЛН
Graphs for AI and ML
45:11
Neo4j
Рет қаралды 23 М.
Best KFC Homemade For My Son #cooking #shorts
00:58
BANKII
Рет қаралды 73 МЛН