Graph Databases Will Change Your Freakin' Life (Best Intro Into Graph Databases)

preview_player
Показать описание
## WTF is a graph database
- Euler and Graph Theory
- Math -- it's hard, let's skip it
- It's about data -- lots of it
- But let's zoom in and look at the basics
## Relational model vs graph model
- How do we represent THINGS in DBs
- Relational vs Graph
- Nodes and Relationships
## Why use a graph over a relational DB or other NoSQL?
- Very simple compared to RDBMS, and much more flexible
- The real power is in relationship-focused data (most NoSQL dbs don't treat relationships as first-order)
- As related-ness and amount of data increases, so does advantage of Graph DBs
- Much closer to our whiteboard model

EVENT: Nodevember 2016

SPEAKER: Ed Finkler

PERMISSIONS: The original video was published on Nodevember YouTube channel with the Creative Commons Attribution license (reuse allowed).

Рекомендации по теме
Комментарии
Автор

This is how all technical stuff should be taught. Great job!

iDreamOfOkra
Автор

Louis CK got really good at databases with all his down time...

tylerlake
Автор

The delivery of this presentation was excellent. Thanks for the insight into graph dbs.

JaylaScousa
Автор

His style and his natural understanding of the topic are such and inspiration for me!

high_fly_bird
Автор

One of the better presenters in the world because he has slides that people in the back can read and he actually talks about the content of the slides.

tangobayus
Автор

"It uses math that I don't understand, but it works. It's pretty cool." LOL. I agree. I've been using graph DB for a couple years and they are incredible for studying relationships between data. I highly recommend taking a look at the APOC procedures for Neo4j, because you will get a bumload of algorithms. I also can't recommend enough to read about the anti-patterns. Neo4j wrote great material about it. They will be fairly intuitive for you, like don't store giant blobs as node properties. I also totally recommend looking at some of the machine learning stuff for this. It's zany what you can do once you start doing like decision trees and shortest path analysis using APOC procedures.

adamgm
Автор

Excellent presentation: Fast, lively, practical. Will be exploring this technology further.

tomhollins
Автор

I feel like he only barely touched on the actual advantages of graph databases. The queries he showed off can be done in a relational database without any real performance issues. I think what really separates Graph databases from relational databases is their extensibility and how they treat relationships themselves as entirely separate entities. I'm an RDBMS amateur and have no experience with Graph databases so I could be way off, but it sounds like graph databases can be extremely easy to extend beyond their initially-defined schema without really needing much, if any, refactoring. You can just define a new relationship and start using it to link nodes together. With a relational database you'd have to do a whole lot more refactoring, adding or modifying columns, etc. And then there's the direct focus on relationships between nodes. If you're working with highly-interconnected data and the connections themselves have their own attributes beyond just the two nodes they link together, I can see how a graph database could be useful.

Basically it sounds like it's more useful for modeling complex, constantly evolving networks. Like a Social Network for example, but one where you can freely define relationships between you and other people rather than picking from a dropdown or creating explicitly-defined lists of people.

What I want to know is how the data is actually stored and indexed beyond just having nodes and relationships, and how that affects query performance. Take the very first query he showed, for example. A simple "SELECT * FROM questions" in MySQL will just find the "questions" table and return every row it contains. But the equivalent "MATCH (q:Question)" in Graph will... do what, exactly? Does it walk across the entire graph to build a list of question nodes? Are the nodes stored in some kind of other internal data structure that makes it possible to grab an entire category of nodes without needing to peek at every node and connection in the entire database?

EmberQuill
Автор

As a student learning Relational Databases in my information studies degree, i’m so grateful that you introduced me to this new pattern for databases! Gotta stay on top of emerging standards and technologies. Thanks for sharing!

invntiv
Автор

Not even a minute has passed, and I already like this guy. Looks like it's going to be a pretty good talk!

gspahr
Автор

Loved the talk, loved the humor. Great introduction... I'm hopefully working with a startup soon who's deeply using Neo4j

TheMrVogue
Автор

Thanks Ed! Very easy to follow and comprehensive talk about graph db

oneyx
Автор

really interesting, providing me with lots of ideas for data manipulation in work :)

gravious
Автор

Great talk. I would love to see some simpler examples so I could get more familiar with the query language, but the speaker did an excellent job of getting me hyped on graph dbs (I've been in relationship hell on-and-off the job for my entire life).

CoryTheSimmons
Автор

this was a very good talk that made me consider graph dbs. thanks

dandan
Автор

great talk on an interesting topic, something for further research for sure, thank you!

jakspyder
Автор

You just helped me a lot Man, Thanks for your enlightening talk. Cheers! 🥂

saurabhverma
Автор

Hands up if you ever fought deleting rows in MS Access! Great video and an interesting way to challenge the way we are storing data. I am looking at GDPR currently and it seems like sticking private stuff in a single related table will be allow a lot of freedom from the GDPR restrictions, I am guessing the Graph system fits the real world better and may not be easily manipulated in the same way.

cambsdigital
Автор

Great overview of graph dbs and fun to watch.

stillmattwest
Автор

13:50 - He makes a disingenuous argument. If one had created their relational database to actually contain all of those pieces of information mentioned in the salesperson's question, then it would be possible to get the data out. But when he switches to talking about the graph database, he just presupposes that you have nodes that contain all of this information, and that you have complete information on all of your customers. You may have information about some of the customers that have bought toasters. You may have information about some of the customers that are ex-cons. But, in a graph database, you have no guarantee that you have complete information about each customer. More importantly, you do not know if your lack of information is because the customer never bought a toaster, or because you simply don't know about the toaster the customer bought. With a relational database, you can at least indicate which customers you have complete information about and then only consider those in your statistics.

Now, I am a huge fan of graph databases. That's why I'm watching this video. However, it seems almost any time someone tries to compare and contrast two technologies, they always seem to make disingenuous comparisons. They will consider a critical Factor for one technology and then assume that critical Factor is not a big issue with the preferred technology.

You got to make even comparisons if you are going to have any chance of choosing a technology based on its merit.

GrantSR