Neo4j in 100 Seconds
Ғылым және технология
Neo4j is a native graph database designed to handle highly complex relational data. Learn the basics of graph data modeling and the Cypher Query Language bit.ly/3Jcl6bO
#programming #database #100secondsofcode
💬 Chat with Me on Discord
/ discord
🔗 Resources
Neo4j Aura bit.ly/3Jcl6bO
Neo4j GitHub github.com/neo4j/neo4j
SQL in 100 Seconds • SQL Explained in 100 S...
7 Database Paradigms • 7 Database Paradigms
Sponsored by Neo4j Aura
🔥 Get More Content - Upgrade to PRO
Upgrade at fireship.io/pro
Use code YT25 for 25% off PRO access
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- Neo4j vs SQL
- What is Neo4j?
- Graph Databases vs RDBMS
- Cypher Query Language basics
- Neo4j quickstart tutorial
Пікірлер: 433
Neo4j is the gold standard for graph databases. Try out their awesome new serverless AuraDB for free bit.ly/3Jcl6bO
@jpbastyr
Жыл бұрын
bag secured
@XEQUTE
Жыл бұрын
@@jpbastyr you forgot furst
@euPythonista
Жыл бұрын
I did give it a spin. Both on AuraDB and on our local servers but in the end, I decided to go with Memgraph. Since they both use Cypher, it was an easy switch. ↔ For the past 4 months, we have been running Memgraph on our server, and our data analysts are using Memgraph Lab for querying and visualization. Fun fact, after we ditched Neo4j, I found out that Memgraph has also released support for Neo4j as part of Memgraph Lab. :)
@mohdsabir990
Жыл бұрын
Waiting for the day when notification pop up with Scala in 100 sec
@ChristopherAtkins0
Жыл бұрын
@@euPythonista did you join YT today just to make this comment?
I can officially add 10 years experience of Neo4J to my resume. Thanks Fireship!
@deathixfps4603
Жыл бұрын
For real bro. His videos is so much helpful
@ShinAkuma
Жыл бұрын
You're using neo4j since before it was created ? You're hired!!!!
@terryfries
Жыл бұрын
@@ShinAkuma okay but for real some of the companies put a requirement such as "Must have experience using x language for more than 10 years" when that language was released 4 months ago (over exaggeration)
@dominiksramko
Жыл бұрын
@@ShinAkuma It's 16 years old thoughh?
@ShinAkuma
Жыл бұрын
@@dominiksramko I didn't really bother to check the date and assumed it was something new lol.
We need something like 'when u should use relational db and when not in 100 seconds'
@yazidridwan6917
Жыл бұрын
agreed
@leoingson
Жыл бұрын
+1
@sahibvirk
Жыл бұрын
+1
@Microphunktv-jb3kj
Жыл бұрын
my mantra is just use postgres :D new and trendy tech always fails and creates problems junior devs not making megaapps anyways... premature optimization is pointless as well.. likelyhood that a company where u going to get ur first jobs are using neo4 is almost non-existent
@andrewlalis
Жыл бұрын
@@Microphunktv-jb3kj postgres my beloved
Not me rewriting everything I did when a new 100 seconds from Fireship comes out
@TheMemin247
Жыл бұрын
Totally me rewriting everything I did when a new 100 seconds from Fireship comes out
@vladklevizal8881
Жыл бұрын
Don't touch it if it's working
@XEQUTE
Жыл бұрын
@@vladklevizal8881 chad
@heyimamaker
Жыл бұрын
I was still thinking about eventually maybe using SurrealDB
@NotTheHeroStudios
Жыл бұрын
You too? I had to switch lanauges so I'd stop
I created a knowledge graph using wikipedia category graph via Python and Neo4j in my college project. It was a super fun and easy project. Neo4j is a very great tool
@natnael6931
Жыл бұрын
working on something similar👍
@tomthetitan101
Жыл бұрын
Is the code on github? that sounds really cool
@martins3037
Жыл бұрын
Just use Wikidata
@rafaelpascua7630
Жыл бұрын
meanwhile in our uni, they're still teaching deprecated Php syntax and MySQL....
@tomthetitan101
Жыл бұрын
@@rafaelpascua7630 There's still PHP jobs out there!
Neo4J is used as the database for bloodhound, which is a very popular recon and pathing tool on penetration testing. You simply dump json files containing data from owned machines on a network, and the graph relationships can visualize the shortest path to domain admin. It’s pretty cool.
Using neo4j at work for some pretty specific data modeling, it's a very interesting way to structure data and forces you to think about it differently than tables and joins Also it's pretty common for social media and such to use traditional SQL dbs instead and manage the graph structure with regular joins or in the application layer, even if graph dbs theoretically are applicable
@anyadatzaklatszjutub
Жыл бұрын
yeah, because the hard parts are not the representation (graph, tree, relational, document based, time series, etc etc), but solving problems around scale, both vertical and horizontal the more mature systems have very robust solutions for these (e.g. mysql with vitesse) nonetheless it's cool to have options
@euPythonista
Жыл бұрын
Compared to SQL databases, graph ones are pretty new. If your mind set is all about joins, it is hard to get out of it. But, boy, oh, boy... Once you are our - sweat smell of freedom! The whole new world opens up.
@xGOKOPx
Жыл бұрын
@@anyadatzaklatszjutub Neo4j is a whole lot faster for graph-based queries than a relational database though
@GamerZone7777777
Жыл бұрын
Typically because traditional SQL shards and scales much better. And in combination with key value stores/caches, it gains added performance
Very intriguing! Great job, Fireship!
I was so happy to see this collab! My favourite Dev KZreadr, and my favourite database! Although I have been using Neo4j for two years to great effect, I loved this video! Congrats to both of you!
Oh wow something on this channel i can actually add something to! I worked with neo4j in an enterprise environment, that scaled from a startup, so neo4j became legacy code in that time. I was brought on to clean the backend, but quickly ran into troubles. For starters cypher is great though a little obtuse, but bytecode support in python is incomplete and managing even medium complexity datamodels was a poor experience. Aura was a bag of worms, you cant delete large amounts of data without crashing the db, which requires a support service call (no alerts or automated processes on their end to fix this, massive SLA headache on our end). But its the costing model thats atrocious for businesses, with little to no worthwhile support and a whole lot of issues besides, so many hacks needed to make optimisations for simple usecases, it was alot of money for very little. I’d say great for research and PoCs, but step through its limitations carefully if your looking to scale out with it.
@josevargas686
Ай бұрын
Yeah that's what I thought, it's "great" on a little toy app and as a little mental puzzle. Data storage and retrieval is a very difficult problem, DBs have been improving upon it for decades, there is lots of information. Unless you use one of these fancy new things, then you are throwing all this research out the window.
Redis also has a RedisGraph module that also uses Cypher as a query language. it's pretty neat!
@110110010
Жыл бұрын
Postgres has an addon called AgensGraph where you can also use Cypher. Truth be told, I don't really care about neo4j, but Cypher is a true godsend of a language.
@sebastiangug8284
Жыл бұрын
yep, much better choice, neo4j is a trash company with predatory practices and insane licensing fees after having the open source community build their product
@joesuh7492
Жыл бұрын
@@110110010 the addon (extension) is called Apache AGE. AgensGraph is a Postgres-forked graph database. Anyways, both use openCypher.
I love his example where he just summarize how stackoverflow works in a humorous way and true at the same time.
Used it 6 years ago on a indoor mapping & routing system. Had a great time with it
I love Neo. I love working with Neo. It’s really too bad I’ve been unable to convince the powers that be to provision the resources necessary to use it in our projects at work. Cypher is one of the greatest query languages I’ve EVER used and it makes me sad I can’t work with it more
@ivanpavlovnorth
Жыл бұрын
Except for Cypher, there is a Gremlin Query Language, which looks more modern and from my point of view is more human-friendly.
@KyleHarrisonRedacted
Жыл бұрын
@@ivanpavlovnorth Not a fan of Gremlin tbh. I will dig my heels in that Cypher is superior in every way. I only wished that the OpenCypher project to get that query language into more places had actually done what it was supposed to do
@Syndesi
Жыл бұрын
@@KyleHarrisonRedacted I agree, Gremlin feels more like math than a human friendly query language. OpenCypher is basically finished, although Neo4j staff mentioned to me that constraints might be standardized some day - although there is no priority/roadmap for that right now. GQL (Graph Query Language, which is neither SQL nor GraphQL) is currently being standardized, I expect the finished standard within 1.5 years
@imdanielmartinez
Жыл бұрын
Your bosses probably would want the readability and maintainability of the codebase. Because once youre gone, it would be hard to search for a candidate that has a grasp knowledge of neo. Moreover, they would NOT want to spend time again for teaching new hires for neo.
@Syndesi
Жыл бұрын
@@imdanielmartinez true, in Germany there are currently just a couple houndred jobs which mention Neo4j in their job descriptions.
Amazing explanation about Neo4J Fireship. I love this type of short videos you build!
My go to database for anything graph data. Love it.
@damienspectre4231
Жыл бұрын
can it scale to support Twitter Celebrity and their followers? Like 1:100 million+ graph edges?
@yestermonth
Жыл бұрын
@@damienspectre4231 +1
Finally. I've wanted to use Neo4j for so long. Surprisingly I see it in 100sec. This helps me much.
Fireship should take this opportunity to transition to the Semantic Web stack, explaining triplestores, SPARQL and the lot.
@bbazuin
Жыл бұрын
Agreed! So much to explore in the W3C stack
@tanchienhao
Жыл бұрын
Agree!
Expo (react-native) in 100 seconds is needed. These guys deserves a recognition, the work they have done is really amazing.
@vankatad
Жыл бұрын
Totally agree
@user-il9qo4qc4n
Жыл бұрын
Expo rules
@crourbs
Жыл бұрын
Love expo
@sounakbiswas2239
Жыл бұрын
Last I checked 2 years ago it was not reliable for production, how is it now?
@anazi
Жыл бұрын
@@sounakbiswas2239 so far so good. I have couple of full-stack Apps released in the App Store working good. It didn't have a high traffic or alot of users yet, but honestly I would recommend it to anyone. The value of the shortcuts and features are worth the give and takes you get.
Very concise and a great intro to an in-depth exploration of Neo4j. Thanks mate!
best explanation i've seen/watched/read. thank you!
As someone who basically never has to touch a database, this makes so much more sense than glorified excel spreadsheets. How come its not more popular?
@i_accept_all_cookies
Жыл бұрын
Relational databases are better at aggregating data for reporting. But I agree, I'm surprised graph dbs aren't used more for applications. I guess once people learn SQL, they don't want to learn another query language.
@MultiUnofficial
Жыл бұрын
@@i_accept_all_cookies and I feel like the scalability of a graph is pretty poor, it could fit for a short number of relations but when creating an app there's different schemas that each one represents different entities and tabular data could improve finding and storing the data better than a graph imo.
@i_accept_all_cookies
Жыл бұрын
@@MultiUnofficial If I understand correctly, it requires a careful balance of nodes and properties within them to optimize for your use case's performance. But then, reuse is impacted. An RDF triplestore is reusable for any use case, but like you said, performance would be impacted.
@danieltenwolde1959
Жыл бұрын
Graph databases often lack performance compared to relational database systems, such as PostgreSQL. For example it can be slow to load large datasets, poor scalability and unreliable. Additionally there is no standard query language yet, so comparing different systems can be tricky since every system has its own language. In terms of query language I would say Cypher provides a more intuitive syntax compared to SQL (as said in the video), but under the hood you still join two tables like you would with SQL. And even then, this year SQL:2023 will allow you to write 'Cypher style' queries in SQL so you can use a faster, more reliable relational database instead :)
@MultiUnofficial
Жыл бұрын
@@danieltenwolde1959 how's that, do you have a source for SQL:2023 I haven't heard of a big change on SQL Language. Is it only SQL or would PSQL also have that update
The video is very helpful. Thank you and keep up the good work man.
Neo4j is amazing and simplified with nodes thanks fireship
Picked up redisgraph as my first graph database a few weeks ago and loving it. Way easier to do so many things than with relational databases
@Htbaa
Жыл бұрын
Great thing about RedisGraph is it uses CypherQL as well. Plus for smaller stuff it uses way less resources than Neo4j does.
I'm a complete beginner when it comes to programming, but this made so much sense it actually spurs a bit of hope
I have been using Neo4j for the past 2 yrs and I love it 💗
Neo4j paving the road for all graph databases through Fireship! Nice vid! openCypher implementers include Redisgraph, anzograph, and of course Neo4j, but also a PostgreSQL extension called Apache AGE. Native graph storages are great, but extensions like AGE can help relational users who are in need of graph analytics!
He's BACK! The Legend himself. Thank you my friend. You have helped me greatly along your path. I recommend your channel to people all the time.
Im not even joking, this seems like an incredible way to handle databases. I MUST try this out asap.
Good explanation! I just wrote an application using their GraphQL driver. HUGE win. My server is only 100 lines because its basically the type definitions and relationships schema plus some apollo boilerplate. Definitely check it out.
Great explanation 🔥 thank you
Great contribution as always
I've used it for a social network app and it was perfect for that use case
Together with a dashboard like PocketBase has this sounds so powerful 🔥
Love the video, love the content. Can you do Scala please :)
What a coincidence, was just looking into this last week and wanted video from this dude
Thank you for making this video. I can now send my boss and friends to it when they ask my what database I am using :D
God I love Neo4j, I use it for every personal project. It really is incredible.
@feelsunbreeze
10 ай бұрын
It's really fun!
Gods work what you've been doing Sir
thank you fireship, very cool
You finally made this video! 🙌
Man, I love you. Thanks
Now I can put Neo4J on my CV. Thank you Fireship
FINALLY, you cover something that I learned in school 5 years ago, have never and probably will never use and do not care about at the moment. This is rare.
My favourite DB getting some love!
"Written in java" *closes tab*
Seems much more intuitive and closer to the actual app logic than SQL or NoSQL DBs!
I appreciate how you continued the Bob and Alice convention and threw in Chad 0:28
Am thoroughly impressed by neo4j
That stackoverflow example , i got to note it down for teaching relationship example to my jr devs
I have neo4j form my first semester of masters in cs. It's queries are easy to understand.
always been interested in neo4j
That’s awesome sir thank you for sharing this sir 👍👍👍 2:36
Neo4j is the best database I ever seen.
I’m always so hyped on this but can never find a compelling enough project to utilize it in
awesome. thanks for the video
enjoyed the video, btw when the tutorial on fist stack
The syntax is like art to me
I gotta show this to my colleagues that are currently trying to move to Postgres. We literally have a graph in our core product logic
Well, another technology that I can add to my LinkedIn as ‘Expert-level’ thanks to me watching a 100-second video from Fireship!
Love Neo4J.
You didn't mention it's speed compared to the normal relational database out there
@brucewayne2480
Жыл бұрын
I've read a book (available for free on their website) and I remember that for this query : get the friends of friends of friends of friends of friends of a user, it takes more than 30 seconds for mysql while less than a second for neo4j
Before watching the video: “Oh god, not another Javascript library/framework…” After the video: “Huh, neato! This neo4j sounds cool to me as a backend developer.”
Most underrated tech 100%
Now the real challenge...trying to get the company to use it.
I loved Neo4j ... My issue back then was finding a cheap host for it.
@magne6049
Жыл бұрын
you can self host it on GCP
Neo4j is the best graph DB out there
this is impressive... 6 years of software development with sql reflationary databases and in 100 seconds you've proven to me why i should move to graph. love this channel first i moved to typescript from javascript now this
@OzoneGrif
Жыл бұрын
There are trades-off when using a graph database: they are a lot slower, and take a lot more space in storage than a relational DB. You should use them sparingly.
@Kinggenton
Жыл бұрын
@@OzoneGrif thanks man.... i got the impression that it was almost the same. but i think majority of my apps could benefit of the graph
@magne6049
Жыл бұрын
@@OzoneGrif not true
Love how fireship includes relevant and relatable examples such as getting downvoted on SO.
this is my first time seeing you recommand a plateform ! was this video sponsored ?
Challenge: Show us how to do ML with neo4j in action!
Stackoverflow thing really hit hard
@weiSane
Жыл бұрын
Man So is such bs
Looks suprisingly easy. Like the python of the SQL world.
@brucewayne2480
Жыл бұрын
Cypher queries can become pretty complex
You're saving lives here man, did you know that?
Please do scala next! :)
neo4j (w/ Cypher) vs dgraph (w/ graphQL) ?? Anyone have preferences, if so why? And are there any drawbacks or weird stuff to be aware of while using graph database?
Thanks to Neo4j, I can finally organize my fridge in 100 seconds!
The best thing about Fireship is that it not only introduces the new tools to us but also shows how to implement them inside a code. Thanks man! For all your videos.
this is actually good
Was thinking about how popular you've become, and it dawned on me: you're an animated, modern, bite-sized Head First author :D Your humor and easy examples remind me of one of my favorite series.
@garfieldnate
Жыл бұрын
Scammer alert!
About time, sir..
Soul: "false", Charisma: "-2". Poor Bob xD
OMG, Why did they name it so close to Log4J?
@neo4j
Жыл бұрын
It was the early 2000s, can't blame us :) log4j might not have been out back then.
I just think it's so funny that neo4j show you this exact video in the tutorial😂
When it comes to graph databases, I have just one condition: the query language has to be Cypher. I've checked all of the databases listed on the OpenCypher site, and I decided to go with Memgraph. I've never regretted that decision.
What the actual hell is going on????? if there was this new way of storing data and using it for easy visualization how come it wasn't thought in universities? I was so waiting to know how all these technologies got better to do personalized ads. Such amazing, and I'm going to be trying it thank you fireship!
I think it's mainly used for data that needs to be processed for commercial uses and advertisement but is it really is stored as a graph or is it like a column based database that uses different query language other than SQL
Hang in there Bob!!
Experiment time 🔥✨🙌
I built an open source knowledge graph builder using neo4j as the backend! It’s called twigslot. Glad to see this video :)
I love your content Fireship, really interesting and funny stuff, however I personally am trying to get on the low-level firmware scene, does anyone know a youtuber that has videos near Fireship's quality but on low-level programming? Or is that impossible, can there only be one?
Sounds really complicated! SQL works just fine! Do not fear table joins they are child's play!
Lol that StackOverflow example. Sounds about right.
GraphXR is a great web app to visualize graphs and has a Neo4j connector.
It would be nice to do RDF in 100 seconds. It's pretty much the same. Followed by OWL in 100 seconds.
i really like cypher and neo4j but working with spring data neo4j is an absolute nightmare
100 seconds Quarkus would be great. Interesting alternative to spring backends
@yestermonth
Жыл бұрын
@@zz-if1ic 💀
Please make a video about Clojure
Can you make a video about RavenDB? It's the best DB over all, it's a very logic database and has everything you always wanted.