Rust Powered Database SurrealDB (It's Pretty Ambitious)

  Рет қаралды 107,595

Code to the Moon

Code to the Moon

Күн бұрын

A fast tour of the query language and capabilities of SurrealDB, the ambitious project that aims to blur the lines between major database paradigms.
00:00 Introduction
01:17 First Example
02:51 Schemafull Tables
03:45 SurrealDB CLI
04:02 Querying Multiple Tables Without JOIN
05:17 WHERE Clauses
05:33 Aggregation Functions
05:52 Graph Connections
09:23 Events
11:11 Conclusion
-
Stuff I use to make these videos - I absolutely love all of these products. Using these links is an easy way to support the channel, thank you so much if you do so!!!
Camera: Canon EOS R5 amzn.to/3CCrxzl
Monitor: Dell U4914DW 49in amzn.to/3MJV1jx
Lens: Sigma 24mm f/1.4 DG HSM Art for Canon EF amzn.to/3hZ10mz
SSD for Video Editing: VectoTech Rapid 8TB amzn.to/3hXz9TM
Microphone: Rode NT1-A amzn.to/3vWM4gL
Microphone Interface: Focusrite Clarett+ 2Pre amzn.to/3J5dy7S
Tripod: JOBY GorillaPod 5K amzn.to/3JaPxMA
Keyboard: Redragon Mechanical Gaming Keyboard amzn.to/3I1A7ZD
Mouse: Razer DeathAdder amzn.to/3J9fYCf
Computer: 2021 Macbook Pro amzn.to/3J7FXtW
Caffeine: High Brew Cold Brew Coffee amzn.to/3hXyx0q
More Caffeine: Monster Energy Juice, Pipeline Punch amzn.to/3Czmfox
Building A Second Brain book: amzn.to/3cIShWf

Пікірлер: 513
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Wow! Thank you very much for this video Code to the Moon! Just the two of us at the moment, but my brother and I have huge plans for SurrealDB. We are working on lots of performance improvements, GraphQL integration, and our own key-value storage engine coming in due course. Thank you once again for this video!
@alandto3996
@alandto3996 Жыл бұрын
Hey just wanted to say thank you for this amazing DB keep up the good work.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
@@alandto3996 Thank you very much for the kind words. We certainly will!
@SurrealDB
@SurrealDB Жыл бұрын
Thank you very much! ❤️
@fire17102
@fire17102 Жыл бұрын
Looks like a brilliant project. Would love to see key-values and websocket auth pubsub soon! 💛
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
@@fire17102 WebSocket auth already here Tami. Live queries and pub-sub coming very soon!
@WolvericCatkin
@WolvericCatkin Жыл бұрын
_Came for Rust, stayed because the unique abstractions in the design actually managed to make the idea of database structure actually appealing to me..._ 😹
@SurrealDB
@SurrealDB Жыл бұрын
@RasmusSchultz
@RasmusSchultz Жыл бұрын
Is it unique? Looks like OrientDB, which has been around for a decade.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks Wolveric, glad it piqued your interest!
@codetothemoon
@codetothemoon Жыл бұрын
OrientDB is written in Java - I'm sure it's fast, but there's kind of an upper bound to how fast it can be...
@AshutoshMahala
@AshutoshMahala Жыл бұрын
Me too
@DavidRutten
@DavidRutten Жыл бұрын
DEFINE, CREATE, RELATE, SELECT ... all six letter commands. I *love* it.
@codetothemoon
@codetothemoon Жыл бұрын
Wow, I hadn't noticed that!
@HagbardCelineOnRust
@HagbardCelineOnRust Жыл бұрын
keen eye
@d3j4v00
@d3j4v00 Жыл бұрын
A directional edge connection is the first time I've seen an arrow operator feel appropriate
@SurrealDB
@SurrealDB Жыл бұрын
@mkwpaul
@mkwpaul Жыл бұрын
In F# you use this operator
@ismailmaj894
@ismailmaj894 Жыл бұрын
It's similar to the syntax of Cypher, the query language of Neo4j
@tissuepaper9962
@tissuepaper9962 Жыл бұрын
Arrows for marking function output types and for dereferencing a pointer to a compound object both seem appropriate to me. Just my 0.002¢
@codetothemoon
@codetothemoon Жыл бұрын
I agree! Really the perfect operator for working with graphs
@theherk
@theherk Жыл бұрын
This looks extremely interesting. I suspect this will grow very quickly.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much @theherk! We have a lot planned on the roadmap!
@SurrealDB
@SurrealDB Жыл бұрын
@codetothemoon
@codetothemoon Жыл бұрын
Agree!
@wackytheshaggy
@wackytheshaggy Жыл бұрын
Ok, this is insane. I was dreaming of a DB that would do graph connections in trust to move away from neo4j , but this is amazing. An absolute killer.
@codetothemoon
@codetothemoon Жыл бұрын
I agree! It definitely has massive potential.
@MikePeiman
@MikePeiman Жыл бұрын
Thanks for posting this! I've surveyed the DB landscape wayyy too much and still, this is my first time seeing this database! VERY impressed and intrigued. Also, great job on the overview! Really concise and thorough introduction.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for the kind words Mike, glad you found it valuable!!
@0xccd
@0xccd Жыл бұрын
Time to start playing with the new boy in the block. Thanks for sharing.
@codetothemoon
@codetothemoon Жыл бұрын
nice, thanks for watching!
@kissu_io
@kissu_io Жыл бұрын
The content of your channel is real: great video + audio quality + thumbnails + transitions + rhythm and so much more. Really inspiring! Thanks for that super fast and amazing tutorial! 🙏🏻
@ambuj.k
@ambuj.k Жыл бұрын
These awesome projects like SurrealDB are a result of developers using a language in which they don't have to care about memory and bang their heads when their application segfaults. Awesome work by SurrealDB devs!!
@UliTroyo
@UliTroyo Жыл бұрын
What a cool demo! It really showcases SurrealDB's simplicity and usability. Thanks!
@codetothemoon
@codetothemoon Жыл бұрын
Thanks and thanks for watching!
@keatonhatch6213
@keatonhatch6213 Жыл бұрын
Holy crap. If this pans out to what it’s teaching for this could single handedly solve a lot of the database headaches.
@codetothemoon
@codetothemoon Жыл бұрын
I agree! Choosing a database paradigm is really challenging, the prospect of not having to make that choice upfront will be so liberating...
@CharlesChacon
@CharlesChacon Жыл бұрын
I couldn’t believe you got that event to work just like that 👏
@codetothemoon
@codetothemoon Жыл бұрын
Thanks, I practiced a bit before recording the video 🙃
@thomascorbin5371
@thomascorbin5371 Жыл бұрын
Fantastic video, loved it. I will be playing with it this afternoon.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks Thomas, let us know how it goes!
@flyingsquirrel3271
@flyingsquirrel3271 Жыл бұрын
I'm sure this will become very popular quickly. It seems to be very well thought out and a great fit for a ton of use cases, it's written in Rust which is always a plus and it has super consistent and slick looking branding and all that. The logo looks so cool, I'm tempted to use surreal just so I have a reason for putting that sticker on my laptop :-P
@codetothemoon
@codetothemoon Жыл бұрын
I agree Flying Squirrel! To your point - In addition to being feature packed, it has incredible branding which I feel like matters more than most technical people would like to admit
@benext1611
@benext1611 Жыл бұрын
This looks really interesting. Having worked for many years with traditional SQL, and having migrated a few years back completely to NoSQL databases for speed and scalability reasons, I'm really curious to see how SurrealDB scales. If it combines the scalability of NoSQL databases with the ease and familiarity of SQL then could be a very exciting!
@codetothemoon
@codetothemoon Жыл бұрын
Agree, it seems like the team is aiming to do just that!
@smdalapo2447
@smdalapo2447 Жыл бұрын
I am brand new to DAW and soft soft - these tutorials are excellent an very helpful to get soone like up and running. Appreciate
@codetothemoon
@codetothemoon Жыл бұрын
Glad you found it valuable, thanks for watching!
@popplestones886
@popplestones886 Жыл бұрын
The event thing was crazy, amazing
@codetothemoon
@codetothemoon Жыл бұрын
agree!
@davidhsv2
@davidhsv2 Жыл бұрын
That's super cool; thanks for bringing this!
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much David
@SurrealDB
@SurrealDB Жыл бұрын
Thank you David!
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching!
@peterferguson6996
@peterferguson6996 Жыл бұрын
The devs fpr this project should feel proud. Its not easy to create a whole new database architecture, let alone one that leverages the benefits of it predecessors. This will catch on
@codetothemoon
@codetothemoon Жыл бұрын
I agree that what they've done is really impressive! Seems like they have a ton of momentum already, hopefully it continues
@chamber3593
@chamber3593 Жыл бұрын
You guys are great and SurrealDB genuinely feels interesting. Can't wait to play with it.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much for the kind words Onizuka ❤️
@codetothemoon
@codetothemoon Жыл бұрын
It's worth giving a try for sure!
@justineroanpacia7436
@justineroanpacia7436 Жыл бұрын
looking forward to learning from the rest of your videos. Subscribed!
@codetothemoon
@codetothemoon Жыл бұрын
Thanks Justine, very happy to have you onboard!
@TommiTuura
@TommiTuura Жыл бұрын
Those multi-cluster stuffs that are in "future" on surrealdb's roadmap are even more ambitious. If they can deliver on those and survive Jepsen, I'll tip off every hat to them!
@codetothemoon
@codetothemoon Жыл бұрын
100% agree, can't wait to see how things pan out. I actually hadn't heard of Jepsen, I'm glad you put this on my radar!
@dabbopabblo
@dabbopabblo Жыл бұрын
at <a href="#" class="seekto" data-time="555">9:15</a> you could of simplified the statement to be *SELECT armor:dragon
@codetothemoon
@codetothemoon Жыл бұрын
Thanks Dabbo will give this a try!
@orlevi530
@orlevi530 Жыл бұрын
This is absolutely the level up!
@codetothemoon
@codetothemoon Жыл бұрын
I agree, the SurrealDB team is moving mountains!
@usmanridwanadekola3532
@usmanridwanadekola3532 Жыл бұрын
Very helpful, and surprisingly therapeutic
@codetothemoon
@codetothemoon Жыл бұрын
Nice, glad you liked it! "Therapeutic" is something I'm very happy to have achieved!
@DevTheo1
@DevTheo1 Жыл бұрын
Super interesting.. thanks for sharing!
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching!
@CypElf
@CypElf Жыл бұрын
This looks very promising!
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much @Elf!
@codetothemoon
@codetothemoon Жыл бұрын
I agree!
@scottspitlerII
@scottspitlerII Жыл бұрын
Thank you for this video, You rock!
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching Scott!
@BarakaAndrew
@BarakaAndrew Жыл бұрын
I love it. Gotta test this
@codetothemoon
@codetothemoon Жыл бұрын
It's worth giving a try!
@singhsaubhik
@singhsaubhik Жыл бұрын
This is such an informative video. Thanks for creating. I am going to try myself.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks Singh! Fantastic that you are going to start creating! Please let me know if there's anything I can do to help.
@singhsaubhik
@singhsaubhik Жыл бұрын
@@codetothemoon Thanks for replying. Will definitely do 😊.
@simian3455
@simian3455 Жыл бұрын
I'm starting to see more Obsidian in rust dev videos... I'm inclined to think you guys have super meaty brains... 🧠 side note let me know if someone is making Obsidian in Rust... so I can meme about it.
@simian3455
@simian3455 Жыл бұрын
@@leeroyjenkins0 Obsidian MD is not open source, so I don't know what it's written in and note-taking being called a fad is funny can't tell if you're trolling or legit.
@codetothemoon
@codetothemoon Жыл бұрын
Funny story about why I used Obsidian for this - there isn't any readily available SurrealDB SQL syntax highlighting, so I had to hack Obsidian to use the same custom JavaScript syntax highlighting that the SurrealDB website uses 👍
@CrapE_DM
@CrapE_DM Жыл бұрын
I'll definitely be trying this out on my personal app later!
@codetothemoon
@codetothemoon Жыл бұрын
Nice, let us know how it goes!
@horaciomlhh
@horaciomlhh Жыл бұрын
looks amazing!
@codetothemoon
@codetothemoon Жыл бұрын
Glad it piqued your interest as well!
@sadkebab
@sadkebab Жыл бұрын
This is the most interesting thing I have seen in a while in the tech world
@codetothemoon
@codetothemoon Жыл бұрын
Same, it seems pretty disruptive if the vision fully materializes!
@sadkebab
@sadkebab Жыл бұрын
@@codetothemoon yes, especially for small projects it's like having a firebase in a box, at least for me having something like this, if the security layers and event emission works properly, completely removes the need for a server between the client and the DB. And the fact that you can embed js functions into fields makes it even possible to have some business logic too (with limitations I guess) Definitively not the way I would use for a well structured long-term project, but for everything else I don't know... on paper it kinda fits perfectly
@WavySoldierGuyPS
@WavySoldierGuyPS Жыл бұрын
Rust is gonna takeover everything, I'm glad I'm learning it honestly its the best language I've seen!
@codetothemoon
@codetothemoon Жыл бұрын
I think that's possible - it's a fantastic language! Though I do suspect that there will be a higher level language with things like autoboxing but that leverage Rust idioms like borrow checking. If such a language comes along (maybe its Mojo, maybe nim) it may take a share of the pie...
@WavySoldierGuyPS
@WavySoldierGuyPS Жыл бұрын
@codetothemoon Still, Rust is a low level so people will learn Rust instead to do whatever they want and have a good future job as a low level developer.
@jessenutt7891
@jessenutt7891 Жыл бұрын
Keep up the good work!
@codetothemoon
@codetothemoon Жыл бұрын
thank you!
@TobiasFrei
@TobiasFrei Жыл бұрын
First vid I watched *exploring* SurrealDB. Looks like something I gotta know, being a big PostgreSQL fan. Thanks :)
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching Tobias!
@Ratstail91
@Ratstail91 Жыл бұрын
Wow that looks bonkers good!
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much Ratstail91 ❤️🙌
@codetothemoon
@codetothemoon Жыл бұрын
I think "bonkers good" is a fitting description!
@nataliaavella7185
@nataliaavella7185 Жыл бұрын
It’s totally worth learning new skills cause then you get excited and confident to create
@codetothemoon
@codetothemoon Жыл бұрын
It's true! 🔥
@zahawolfe
@zahawolfe Жыл бұрын
This is super cool, would love to check it out
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you Zaha! Join the Discord or GitHub if you have any questions - surrealdb.com/community
@codetothemoon
@codetothemoon Жыл бұрын
Yeah I think it's worth a look!
@cheebadigga4092
@cheebadigga4092 6 ай бұрын
this is amazing!! thanks
@codetothemoon
@codetothemoon 5 ай бұрын
thanks, yeah I think SurrealDB is definitely worth keeping an eye on!
@AK-vx4dy
@AK-vx4dy 11 ай бұрын
Really strong stuff you serving today! Authors really taked their code to the moon 😄
@codetothemoon
@codetothemoon 11 ай бұрын
lol thanks! 🚀
@LewisCowles
@LewisCowles Жыл бұрын
This is cool and interesting. I might try it out, but I’ll be keeping work with single databases for their specified purpose.
@codetothemoon
@codetothemoon Жыл бұрын
Nice, yeah definitely something to explore but probably not ready for production yet. Also, I see you are a fellow Babylon 5 fan!
@ismailmaj894
@ismailmaj894 Жыл бұрын
Nice video and nice product! For the curious, this db uses TIKV under the hood which uses RockdDB, an LSM tree based database. Cassandra uses the same technology.
@0xccd
@0xccd Жыл бұрын
Good to know, thanks
@SurrealDB
@SurrealDB Жыл бұрын
Thank you Ismaj. We are working on our own key-value store which will bring some additional benefits to SurrealDB in due course.
@CharlesChacon
@CharlesChacon Жыл бұрын
@@SurrealDB ​Do you think it’s more effective to build your own storage engine right now or have a pluggable architecture? I ask because there’s several features that I think would be great if users had a choice and they seem complex to implement in that way out of the box, so if users can choose the right storage engine for their use-case, it would probably be better. Some of the feature choices I’d like to see are LSM vs. b-trees, enabling/disabling record versioning for time-series data, enabling/disabling zero-copy for websockets (I really want something to dethrone Kafka that will integrate natively with a primary data store (Sorry, Redis. Keep dreaming)), and compression algorithm choices. Some of those aren’t even really in current storage engines, so I’d be really interested to see how they can be implemented. I’ll certainly be keeping an eye on this project. Wish you the best of luck!
@SurrealDB
@SurrealDB Жыл бұрын
@@CharlesChacon We always intend to support lots of pluggable storage engines to give developers the choice. Our own key-value store will enable us to offer additional functionality down the line that we can't currently do with the current architectures out there.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks, and thanks for the info - I wasn't aware of TiKV's relationship with RockDB!
@stojadinovicp
@stojadinovicp Жыл бұрын
As soon as LIVE queries are implemented, I am switching for sure :)
@codetothemoon
@codetothemoon Жыл бұрын
they do sound pretty handy!
@gsilva877
@gsilva877 Жыл бұрын
Good to know, looks very interesting, I will still use the rock solid postgres but this kind of project can have they use cases
@codetothemoon
@codetothemoon Жыл бұрын
hard to go wrong with Postgres!
@andythedishwasher1117
@andythedishwasher1117 Жыл бұрын
Thanks so much! I'm actually just beginning to get my feet wet in the backend development world, and I have to say it's a very exciting time to be doing so. I've got just enough experience with a couple other relational and graph databases to see the massive advantage of some of these features, but I've yet to really dive into Rust. I'm getting the impression that its time is coming soon, but according to the forum murmurings that's an impression that Rust has been pretty good at creating for quite some time without a lot of real progress. However, looking at the hard facts with this framework, it seems like they might finally have a real game changer on their hands. I hope it works as smoothly as it appears to.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching! Fwiw you don't need to have any Rust knowledge to use SurrealDB! I agree it does seem like a game changer - the current version does have some of the quirks that you'd expect in any beta software, but overall it seems to work really well in its current state!
@andythedishwasher1117
@andythedishwasher1117 Жыл бұрын
@@codetothemoon I managed to get an instance served up locally and it worked great, but I'm wondering if it's possible to create a cloud-hosted instance through something like Google Cloud Functions or if that is something I will have to wait for until they release their cloud hosting features?
@animedreamz2009
@animedreamz2009 Жыл бұрын
This looks pretty interesting. I’ll have to play with it some
@codetothemoon
@codetothemoon Жыл бұрын
it's worth checking out!
@xadrec
@xadrec Жыл бұрын
Interesting new DB, love Rust too.
@codetothemoon
@codetothemoon Жыл бұрын
I agree!
@paulsalele3844
@paulsalele3844 Жыл бұрын
WOW, just so simple to use!!
@codetothemoon
@codetothemoon Жыл бұрын
I agree!
@apidas
@apidas Жыл бұрын
tbh I can't wait what sorts of projects the community will come up with now that we have rust
@codetothemoon
@codetothemoon Жыл бұрын
agree, there are so many interesting Rust-powered projects popping up, even CLI tools to replace ones that have been around for decades...
@richsadowsky8580
@richsadowsky8580 Жыл бұрын
This is very interesting to me. The features are indeed ambitious but quite compelling. Would require a lot of testing before using it in a production product I suspect but I want to try it in my normal research and experiments code. As usual, well explained and informative.
@codetothemoon
@codetothemoon Жыл бұрын
I think SurrealDB is really interesting too, but yeah I wouldn't use it in production quite yet. I'm definitely looking forward to watching how the project develops!
@thanupoptiphueng7225
@thanupoptiphueng7225 Жыл бұрын
After web framework galore we now have database galore
@elephant_888
@elephant_888 Жыл бұрын
For reals!! This is getting ridiculous!! 😂
@codetothemoon
@codetothemoon Жыл бұрын
Hah yeah, I'm skeptical of all new projects - JS, Database, or otherwise - but this one really seemed to stand out from the crowd.
@kwako21
@kwako21 Жыл бұрын
This was helpful!
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching!
@pbezunartea
@pbezunartea Жыл бұрын
Very interesting!
@Nathan00at78Uuiu
@Nathan00at78Uuiu Жыл бұрын
Super cool. I just need to figure out how to use this at work.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Hi Nathan. Thank you very much. Join the Discord or GitHub if you have any questions - surrealdb.com/community
@codetothemoon
@codetothemoon Жыл бұрын
Convincing others to buy in is the hardest part! Even for game changing technologies.
@NotJayUU
@NotJayUU Жыл бұрын
It's pretty SURREAL that a database engine like this exists... Too bad I work as a front end dev and never have to deal with databases
@avidrucker
@avidrucker Жыл бұрын
Perhaps this tech could have some side-project potential for you?
@codetothemoon
@codetothemoon Жыл бұрын
It's ok, given that there seems to be a new JS framework every day, there's bound to be a SurrealJS at some point... 🙃
@etcode
@etcode Жыл бұрын
You can start creating your side projects with Nodejs just for fun :D and connecting with SurrealDB
@wedding_photography
@wedding_photography Жыл бұрын
If they manage to do the websocket part, it will immediately become much more useful.
@codetothemoon
@codetothemoon Жыл бұрын
Agree, it will be a game changer!
@codersvenue9337
@codersvenue9337 Жыл бұрын
informative video good sir, Gracias
@codetothemoon
@codetothemoon Жыл бұрын
Glad you found it valuable and thanks for watching!
@faucillon
@faucillon Жыл бұрын
SurrealDB seems very interesting. If I ever am granted the luxury of time I'll gladly experiment a bit.
@codetothemoon
@codetothemoon Жыл бұрын
Nice, it's worth checking out!
@amusendame
@amusendame Жыл бұрын
I'm hooked
@codetothemoon
@codetothemoon Жыл бұрын
nice!
@Gelo2000origami
@Gelo2000origami Жыл бұрын
I'm ready to marry this db
@SurrealDB
@SurrealDB Жыл бұрын
💍
@codetothemoon
@codetothemoon Жыл бұрын
😂
@codetothemoon
@codetothemoon Жыл бұрын
hah me too!
@hemanthkumar5438
@hemanthkumar5438 Жыл бұрын
Clever design.
@codetothemoon
@codetothemoon Жыл бұрын
I agree, I'm looking forward to see where they take this thing!
@theemeepeek2947
@theemeepeek2947 Жыл бұрын
This feels surreal. The web UI seems not ready yet but the project is interesting.
@codetothemoon
@codetothemoon Жыл бұрын
Surreal indeed! Yeah my understanding is that the UI will be available relatively soon.
@titiloxx
@titiloxx Жыл бұрын
Summary: Surreal DB is a new database that aims to take the best aspects of each major database Paradigm and combine them all into one database. It is schema-less by default, has a sql-like query language, and supports record links to establish relationships between records in different tables. It also has a graphql-like query language for fetching data from multiple tables at once, and supports websockets for real-time updates.
@codetothemoon
@codetothemoon Жыл бұрын
Sounds about right to me!
@roxanamaicelo5897
@roxanamaicelo5897 Жыл бұрын
Nice tutorial,
@codetothemoon
@codetothemoon Жыл бұрын
Thanks and thanks for watching!
@gorudonu
@gorudonu Жыл бұрын
I really like what I'm seeing, I just hope it won't end up like rethink db
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much indeed @gorudonu ! We have lots planned for SurrealDB!
@codetothemoon
@codetothemoon Жыл бұрын
Agree it seems promising!
@joaoaraujo8845
@joaoaraujo8845 11 ай бұрын
Excelente!!
@codetothemoon
@codetothemoon 10 ай бұрын
thank you!
@StarOnCheek
@StarOnCheek Жыл бұрын
Looks like I found a new go-to databse for prototype projects (and non-prototype ones once it matures a bit)
@codetothemoon
@codetothemoon Жыл бұрын
same here!
@hayderabbas6162
@hayderabbas6162 Жыл бұрын
Mylosp just a legend really aren’t ya
@codetothemoon
@codetothemoon Жыл бұрын
I try to be! 🦄
@manuel.victormurilloarguet3536
@manuel.victormurilloarguet3536 Жыл бұрын
I checked everything is good to download.
@codetothemoon
@codetothemoon Жыл бұрын
Yeah SurrealDB can be downloaded for free!
@isheanesunigelmisi8400
@isheanesunigelmisi8400 Жыл бұрын
Could we say that this is SURREAL
@SurrealDB
@SurrealDB Жыл бұрын
❤❤
@codetothemoon
@codetothemoon Жыл бұрын
Indeed!
@BryanChance
@BryanChance Жыл бұрын
There’s a JVM based multi-storage mode database called OrientDb. They have the same concepts/similar concepts. Distributed fault tolerant. Document store, relational, and graph, schema is optional, integration with kafka, and more. Uses SQL variant for query. The documentation is a bit lacking though.
@codetothemoon
@codetothemoon Жыл бұрын
Nice, this actually wasn't on my radar. How does it stack up performance-wise?
@BryanChance
@BryanChance Жыл бұрын
@@codetothemoon I haven't done any performance testing. The backend storage engine is very robust and a lot of integration with other systems like Kafka, MQTT, etc. It's a pretty "featureful" database.
@llorex1
@llorex1 Жыл бұрын
Great Video! Im new on soft soft, and tNice tutorials tutorial really helped
@codetothemoon
@codetothemoon Жыл бұрын
Thanks for watching!
@mistariel6227
@mistariel6227 Жыл бұрын
This is really cool and all, but when evaluating new things to work with, "version control" is the first thing that comes to mind... if this can be easily integrated into Git-like repos, it'd be a gamechanger for me. Also... localization... and transaction support across tables.
@codetothemoon
@codetothemoon Жыл бұрын
Agree, version control is huge, and I'm not sure if Surreal plans to support it. At one company we had implemented our own homegrown version control inside Postgres, and the number of bugs and general pain it caused over many years was hard to fully quantify. It'd be nice to have something like that built in to the database.
@philippefutureboy7348
@philippefutureboy7348 Жыл бұрын
Looks amazing! As a data analyst/engineer the one thing I really want to know is: Does this support complex joins, subqueries & cte?
@codetothemoon
@codetothemoon Жыл бұрын
My understanding is that it aims to support all of the complex types of queries you'd expect to be able to perform on a traditional relational database. JOINS specifically are eliminated as you are expected to use record links, graph edges and FETCH instead, but you can achieve basically the same thing. I believe subqueries are currently supported (but maybe ask on the SurrealDB discord server to be sure). Not sure to what level CTE-like patterns are currently supported or what is planned there, again maybe check with Tiobe and Jaime.
@juangiordana
@juangiordana Жыл бұрын
What kind of font are you using? It looks so nice!
@johncongerton7046
@johncongerton7046 Жыл бұрын
Love it
@codetothemoon
@codetothemoon Жыл бұрын
Nice, thanks for watching!
@danielkonopka1881
@danielkonopka1881 Жыл бұрын
I can RELATE, Bob
@VixieTSQ
@VixieTSQ Жыл бұрын
I'd really like a nice way to represent rust style enums in my database. I've never seen a database do that before. I would use Surreal for everything if I could do that
@codetothemoon
@codetothemoon Жыл бұрын
That would be cool!
@HotRatsAndTheStooges
@HotRatsAndTheStooges Жыл бұрын
Absolutely revolutionary. Got a question about the performance of the edge queries - while most were in the 100 microsecond range, the edge queries were in the 500 microsecond range. Does that give anyone pause? I have no idea how this stacks up with other graph database tech so it could be a nitpick.
@codetothemoon
@codetothemoon Жыл бұрын
Great question - I hadn't delved too deeply into performance benchmarks. In the docs they openly state that the performance currently doesn't yet quite stack up to the more established databases, so I'm wondering if we should wait for a more stable release before reading too deeply into them. Definitely something to keep tabs on though, and it's not unreasonable to be cautious about types of queries that seem to be slow in the beta.
@Darkmoleman
@Darkmoleman Жыл бұрын
thank you💯🥹😅🙂
@codetothemoon
@codetothemoon Жыл бұрын
thanks for watching!
@notcrediblesolipsism3851
@notcrediblesolipsism3851 Жыл бұрын
This looks amazing for web applications and small relational database. Is the ambition to be a SQL alternative for everything including bug data storage or data warehousing?
@Khari99
@Khari99 Жыл бұрын
It’s pretty cool for a multi-model approach. Right now I’ve switched to graphs exclusively because moving away from SQL and tables has been easier for me. I haven’t seen the need to keep them.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Graph is definitely the future @Khari99! That is exactly why we wanted to merge Graph with traditional database concepts.
@Khari99
@Khari99 Жыл бұрын
@@jaimemorganhitchcock6195 I understand the desire to combine different DB models. A better metaphor for how I see this is sticking with a hybrid vehicle instead of going full electric because it’s assumed that having both gas and electric together is more convenient. Convenient sure but is it a better design? I don’t believe so. Currently the database I mainly use is Dgraph. I’ll see how Surreal compares but I haven’t found anything that’s close that simplifies my architecture as much as Dgraph.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Dgraph is definitely a cool database @Khari99. With regards to multi-model, we wanted to ensure that SurrealDB was easy-to-use coming from all different database backgrounds. In addition, the design is such that the performance isn’t affected regardless of what data model you use in SurrealDB - obviously there are no JOINS, so SurrealDB is definitely closer to MongoDB/Dgraph as a concept. We have some really great things planned on our roadmap, so hopefully we’ll sway your mind in the not-too-distant future 😊!
@Khari99
@Khari99 Жыл бұрын
@@jaimemorganhitchcock6195 While I like Dgraph a lot, I don't think it's perfect. Outside of the GraphQL API, I feel like there are a lot of ideas that you can pick up on to make SurrealDB better. 1. Automatically generated CRUD queries from a schema definition. I've only seen this implemented with GraphQL so I don't know if this is possible for your architecture. But this significantly reduces how much code needs to be written and maintained in the server. 2. Implement lambda functionality. Dgraph has a philosophy of moving the DB to the middle layer and allowing queries to trigger lambdas that either run custom computations or can reach out to a server externally for some request if needed. I really like this approach as it helps further reduce architectural complexity. But right now I'm limited to JavaScript lambdas. Rust lambdas would be amazing. 3. Auth & Access Control patterns. I looked through the documentation for Surreal and haven't seen anything around this topic. I understand the philosophy of leaving this up to server logic but if these features are baked into the database, it's one less thing for me to worry about. Even though I moved away from Fauna, they have this integrated into their DB, which is why I tried them out in the first place. 4. Logical Inference Rules. I've only seen these implemented in TypeDB. one of the things that Dgraph is missing that almost makes me want to develop a DB in Rust myself is the ability to create a knowledge graph intuitively. If you could look into how TypeDB accomplishes this and think of a similar implementation, this would be awesome. 5. Indexes. I also didn't see this in the documentation. Dgraph has indexes that enable full-text search (along with many other index types) out of the box. I would rather not have to implement elasitcsearch separately.
@codetothemoon
@codetothemoon Жыл бұрын
This is really cool, I haven't heard of many folks switching from pure relational to pure graph!
@OldKing11100
@OldKing11100 Жыл бұрын
I like the idea behind this. I'm just not sure if it'll fit any of my projects. I have things split into three distinct layers SvelteKit (Cloud Edge Deploy) -> FastAPI (Local Python Microservices) -> PostgreSQL (Local DB). Mostly I prefer the DB to be as plain as possible which is just storing the data and the Local Microservice layer handles Auth, Data validation, some caching, etc, etc. This means what I'd really be looking for if I was switching to a new GraphDB is a Rust or Python equivalent of FastAPI to connect to SurrealDB. It'll be interesting to watch this project grow and see what other utilities pop up from this.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Hey Matt! I understand your tech stack position. We have some awesome things planned for SurrealDB so hopefully we can sway your mind in due course 😀
@elephant_888
@elephant_888 Жыл бұрын
@@jaimemorganhitchcock6195 If you get full-text search in there, I’ll bite!! 😄👍🏽
@elephant_888
@elephant_888 Жыл бұрын
Just checked the Docs and I'm blown away by the full-text support. I'm blown away by everything actually. They actually have a bunch of drivers and great extensibility points. Wow!!
@codetothemoon
@codetothemoon Жыл бұрын
It's probably not a good fit for every use case, especially when one db paradigm can handle all of your access patterns and you don't need the built-in auth and REST APIs that Surreal has. But yeah I agree it'll be cool to see how the project develops!
@Caigga900
@Caigga900 Жыл бұрын
Great video, thanks for sharing. SQL novice here, would you mind sharing the SQL/SurrealDB queries? Would love to look them over to better understand.
@codetothemoon
@codetothemoon Жыл бұрын
Thanks - unfortunately I don't have the queries posted anywhere, but you can check out README.md on the SurrealDB GitHub repository for some good examples!
@learning_rust
@learning_rust 3 ай бұрын
@<a href="#" class="seekto" data-time="347">5:47</a> It works for me with SELECT math::sum(strength) FROM player GROUP ALL; (I'm using version 1.2) - so use GROUP ALL, rather than GROUP BY ALL
@xidoc972
@xidoc972 Жыл бұрын
A comparison with edgedb would be interesting. The benchmark, the facilities differents edgeql and the same with surealdb....
@izuchukwuhyginusokoye8218
@izuchukwuhyginusokoye8218 Жыл бұрын
RetroSun thanks to other comnts i gotchu; click on gms when you’re in the channel rack to open up the gms nu and in the light blue
@codetothemoon
@codetothemoon Жыл бұрын
?
@ahmadumar6210
@ahmadumar6210 Жыл бұрын
thanks for your stuff, do you have any recommendable rust course?
@codetothemoon
@codetothemoon Жыл бұрын
I haven't heard of any courses for SurrealDB yet - it's still very new, but I'm sure there will be one before too long.
@MoAliDevOps
@MoAliDevOps Жыл бұрын
i generally hate sql and most sql-like languages. This is really awesome though.
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
Thank you very much Mo!
@codetothemoon
@codetothemoon Жыл бұрын
Glad it piqued your interest as well!
@codeecubix
@codeecubix Жыл бұрын
concept is cool. Is that micro second in units or millisecond?
@codetothemoon
@codetothemoon Жыл бұрын
μs means microseconds 😎
@williamvanmale8953
@williamvanmale8953 Жыл бұрын
very nice modern all-in-one remote and local db. very promesing. hope the new investors do not take away to many features to a payed enterprise version.
@codetothemoon
@codetothemoon Жыл бұрын
Yeah I'm curious as well to see what the cloud version looks like!
@alystair
@alystair Жыл бұрын
Looks incredible but would love to see a perf / scaling follow up to really get a better feel of how SurrealDB stands up in real life scenarios
@codetothemoon
@codetothemoon Жыл бұрын
I'd love to do such a follow up, but I might wait until it goes 1.0 to do so!
@nobytes2
@nobytes2 Жыл бұрын
Most production dbs are written in c, and tested throughout decades. It will be extremely difficult to beat performance but you never know.
@eliottveyrier6253
@eliottveyrier6253 Жыл бұрын
@@nobytes2 well-written rust is potentially faster than C due to the rust compiler having more information to make agressive optimisations
@nobytes2
@nobytes2 Жыл бұрын
@@eliottveyrier6253 show data or else stop making guesses, "potentially" lmao 😂
@eliottveyrier6253
@eliottveyrier6253 Жыл бұрын
@@nobytes2 "potentially" because it's not automatically faster, it depends on what you write, but for the same code in c and in rust you will either have rust and C roughly equal (same llvm backend) or rust faster because the compiler has more information to prove more things about the program and use more agressive optimisation. If you want data you can look for it yourself you have Google too.
@the-old-channel
@the-old-channel Жыл бұрын
Give me a typesafe TS client and I’m sold!
@jaimemorganhitchcock6195
@jaimemorganhitchcock6195 Жыл бұрын
This is coming very soon!
@codetothemoon
@codetothemoon Жыл бұрын
Sounds like it's in the works!
@WorstDeveloper
@WorstDeveloper Жыл бұрын
This DB looks really interesting. I would love to try it for a future Rust project. Does it cost anything to use? Is it available at any existing cloud hosting provider?
@codetothemoon
@codetothemoon Жыл бұрын
Nice! It's completely free to download and host however you like. But SurrealDB is aiming to also provide a managed cloud version of it that comes at a cost, which I imagine will be a pretty compelling value prospect.
@yegorzakharov8514
@yegorzakharov8514 Жыл бұрын
You can run it yourself in a docker container on a VPS. Should be pretty simple.
@aivannecabrera3523
@aivannecabrera3523 Жыл бұрын
Nice
@codetothemoon
@codetothemoon Жыл бұрын
Thanks!
@yapayzeka
@yapayzeka 2 ай бұрын
great tutorial. at <a href="#" class="seekto" data-time="636">10:36</a> maybe we should add player= $after.id field so we can fetch the player who levelled up. just an idea that I learned from previous 10 minutes. thank you very much.
@ENBYSS
@ENBYSS Жыл бұрын
Personally I think I'm waiting tor the interface to be implemented. Currently using PocketBase and it's great to use - but I'm always keeping an eye out for alternative to broaden my horizons. SurrealDB looks great - but the lack of a UI right now is keeping me away still. Hopefully soon!
@codetothemoon
@codetothemoon Жыл бұрын
I haven't yet tried any of the "*bases", keep hearing good things about them. I agree the UI will be a game changer - the screenshots look really nice
Rust Pizza Slices, Arrays and Strings
6:18
Code to the Moon
Рет қаралды 13 М.
MySQL: JOINS are easy (INNER, LEFT, RIGHT)
5:04
Bro Code
Рет қаралды 334 М.
Children deceived dad #comedy
00:19
yuzvikii_family
Рет қаралды 6 МЛН
Khóa ly biệt
01:00
Đào Nguyễn Ánh - Hữu Hưng
Рет қаралды 20 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 17 МЛН
Rust's Most Important Containers 📦 10 Useful Patterns
17:11
Code to the Moon
Рет қаралды 115 М.
Helix 🧬 the Rust Powered Development Environment
12:53
Code to the Moon
Рет қаралды 165 М.
Beyond Surreal? A closer look at NewSQL Relational Data
7:52
Beyond Fireship
Рет қаралды 197 М.
15 futuristic databases you’ve never heard of
8:42
Fireship
Рет қаралды 649 М.
Databases are the endgame for data-oriented design
20:31
SpacetimeDB
Рет қаралды 1,1 М.
I've been using Redis wrong this whole time...
20:53
Dreams of Code
Рет қаралды 332 М.
Why Rust is NOT a Passing Fad...
8:54
Travis Media
Рет қаралды 29 М.
Solving one of PostgreSQL's biggest weaknesses.
17:12
Dreams of Code
Рет қаралды 175 М.
YOTAPHONE 2 - СПУСТЯ 10 ЛЕТ
15:13
ЗЕ МАККЕРС
Рет қаралды 95 М.
💅🏻Айфон vs Андроид🤮
0:20
Бутылочка
Рет қаралды 735 М.
iPhone 12 socket cleaning #fixit
0:30
Tamar DB (mt)
Рет қаралды 52 МЛН