Introduction to NoSQL • Martin Fowler • GOTO 2012
Ғылым және технология
This presentation was recorded at GOTO Aarhus 2012. #gotocon #gotoaar
gotocon.com
Martin Fowler - Author, Speaker, Consultant & General Loud-mouth on Software Development
ABSTRACT
Martin gives a rapid introduction to NoSQL databases: where they came from, the nature of the data models they use, and the different way you have to think about consistency. From this he outlines what kinds of circumstances you should consider using them, why they will not make relational databases obsolete, and the important consequence of polyglot persistence.
TIMECODES
00:00 Intro
00:42 History of NoSQL databases
07:51 Definition of NoSQL
09:36 Data model
10:04 Key-value data model
10:37 Document data model
17:36 Column-family data model
20:20 Graph data model
25:47 NoSQL and consistency
40:28 CAP theorem
44:40 When and why to use a NoSQL database
50:52 Is NoSQL the future of databases?
RECOMMENDED BOOKS
Martin Fowler & Pramod Sadalage • NoSQL Distilled • amzn.to/3ChIpu7
Martin Fowler • Patterns of Enterprise Application Architecture • amzn.to/3lp4sIq
Martin Fowler • Domain-Specific Languages • amzn.to/3nzOIFk
Martin Fowler • UML Distilled • amzn.to/3kahjyA
Martin Fowler • Analysis Patterns • amzn.to/3Emabar
/ gotocon
/ gotoconference
#NoSQL #PolyglotPersistence #Programming
Looking for a unique learning experience?
Attend the next GOTO Conference near you! Get your ticket at gotocon.com
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
kzread.info... #GOTOcon #GOTO #Programming #SoftwareEngineering
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at gotopia.tech
Sign up for updates and specials at gotopia.tech/newsletter
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
kzread.info...
Пікірлер: 385
It's 2024 already but it feels like we're still don't know mush on how to actually use nosql properly.
Its just mindboggling to imagine about the level of clarity Martin speaks with. There are some people who attract you with their oratary skills and I pledge this guy is one such kind
I wish I could add an extra "like" every time I agree with what he is saying or he blows my mind with how he puts all the concepts I learned separately into one global picture.
@CosasCotidianas
2 жыл бұрын
Definitely this
This video gave me more than 2 days reading articles and watching other vids non-stop
Martin Fowler is just amazing
I don't know if I am young or new in the subject, but that's what I call "perfect teaching". This guy is amazing! For many years I was disappointed from my professors and their (in)ability to teach contagiously. This man justifies my (so called) nagging.
@jameswainwright5217
8 жыл бұрын
+Giorgos Argyriou He's very impressive.
@NJ-wb1cz
8 жыл бұрын
+Giorgos Argyriou You have to keep in mind, that he is not only teaching, but also promoting. As in, he sort of glosses over the fact that the vast vast majority of your real projects will never ever need NoSQL as your primary data storage, and using NoSQL database where you really need something relational is a far more expensive mistake, than the other way around.
@NJ-wb1cz
8 жыл бұрын
***** Yeah, he promotes NoSQL in general, not as a replacement - but that's what people inevitably take out of such well constructed presentations. The fact is, most developers already use relational DBs for everything and to insert NoSQL in your workflow you have to replace SQL in some way. Now, if you are using filesystem or in-memory hash table as your storage engine - then yeah, NoSQL could extend your horizons with very little performance hit. Otherwise you are incurring these massive penalties on architecture or feature set or extendability or stability of your applications in the name of mythical features or performance levels that you don't actually need. He doesn't spend much time explaining, which NEW problems are now solvable, and which of the old ones are definitely NOT - he spends most of the time straight out praising NoSQL.
@NJ-wb1cz
8 жыл бұрын
***** See, you're doing it even worse. People think "fast and scalable? well duh, I need fast and scalable everywhere!" Except you don't mention, that "fast" could mean "slower than MySQL or Postres on real workloads", and "scalable" could mean "scalable far beyond what you'll ever need or use", and you also don't mention "forcing simple data structures", "rigidity of data representation", "inability to make deep changes", "inability to use any sort of advanced cross-cutting analytics", "unpredictable performance on very similar tasks from business perspective", etc. So no, if the purpose is truly to have a fast and scalable database, then you have to return to planning stage and completely change your decision process to better reflect actual needs of your application and not some generic marketing-talk.
@NJ-wb1cz
8 жыл бұрын
***** So... why then reply at all if your answer is misleading and incomplete, and people shouldn't take it into consideration?
21:40 most important part of the presentation. How to make a choice between relational and nosql...
@AnthonyBecker9
3 жыл бұрын
44:40 has further details
@alexanderveprik3331
3 жыл бұрын
Precisely. I feel like this is the most decisive quality.
The best NoSQL talk I've come across.
40:40 the best explanation of CAP theorem I've ever heard (+ previous example of booking a hotel room at 37:52)
10 years later and this was very accurate.
Wholesome video, which covers every topic of NOSQL !!!
This dude is amazing! Will watch all his conferences!
Brilliant presentation. Today is the 16th of December. His birthday is two days from now. Happy birthday, Martin Fowler.
Just great! What a gift to be so fluid and yet so comprehensive.
I was just thrown into NoSQL for a project a week ago and found this very interesting, as well as entertaining. It's really hard to get rid of all these ORM-related paradigms first, but I love the relief that comes with simplicity.
This was a fantastic presentation! I am fairly ignorant to all of these concepts, and I am walking away with a better understanding of each. Thank you!
He is THE BEST teacher I ever had!
if only everyone teaches like this...
Excellent presentation. Simple, plain English and examples to help understand the basics of NoSQL concept. Thank you Martin! Kevin
Martin Fowler is very good at "distilling" complex stuff into easy to understand concepts. Excellent talk!
One of the best intro about NoSQL Dbs and especially the CAP theorem
It's been sometime since I started looking for what is NoSQL and what the fuzz all about. I think this video is simply my answer.
That's much better explanation of CAP theorem than what you typically find online...
Glad that I found this video. Explains almost everything you need to know about NoSQL. Speech is absolutely perfect.
Great breakdown of NoSQL. I appreciate the part of the talk where you show the graphic of using multiple data storage types to meet a systems needs using polyglot persistence. This video has made me think even deeper about the full systems interaction between the different data stores.
Great explanation of the different models of NoSQL databases. Martin Fowler does his usual breakdown of complicated subjects into informative presentations.
Martin is the most lucid speaker on pretty much any complex topic in computing. I love this 50 minute talk. A great intro into the NoSQL movement. I did think that the explanation as to why NoSQL may succeed where OODBS failed was no so convincing and would have loved to hear more on this particular topic. Highly recommended!
I found this to be one of the best presentations I’ve ever seen. It was very clearly explained. I wish he would do a follow up now 6 years later and revisit this space and how has it changed or is it still pretty much back where it was in 2012, As a complete Noob I’m wondering what has changed in the past six years.
not only an excellent instructor but also super funny
Martin your talk made me understand a hell a lot about NoSQL Which can't even gained after 2 years of practical experience. If someone had kind of presentation for SQL it might have been used better in the industry. It's best!!
Fantastic talk, really interesting. Going through something similar now. I think one of the other things about aggregate databases is that because there's no explicit schema, documents can end up in unexpected states, unless you verify everything before an update via the implicit schema which is not very feasible. You basically can't tell how something went wrong in your documents at that point which is pretty worrying.
Martin Fowler has done more to help me be a better coder than anyone else alive. His book on refactoring is the single most useful practical programming text I've ever read. Thank you sir!
Great talk on NoSQL by Martin Fowler. Incredibly articulate.
Martin Fowler, is a great man. The conference is perfect !
A great presentation over the different NoSql approaches. Thanks for sharing.
Best explanation! Thank you for such good content!
Very well thought out, and steady continuous stream of presentation. Thanks for sharing.
Great introductory talk. The best part of it was that he didn't take a giant steaming dump on relational models which a) still pay most of our bills in direct or indirect ways, and b) still absolutely have a place in the world of data. I think his premise of 'polyglot persistence' is absolutely where things are headed. I've already seen some pretty neat implementations using RDBMS as the final authoritative backing store, but having clustered MongoDB instances as mostly-fresh satellite caches.
Splendid method of introducing to the concept of NoSQL. Must watch for anyone new to this domain. Thankyou Martin.
Awesome talk and good introduction to NoSQL storage solutions. Must watch for getting to know the basics of NoSQL
Always feels good to listen from the Guru.
Great Vid. I often find myself losing focus during such tech talks, but that was not the case here! Props to Mr. Fowler !
this talk is amazing thank you for sharing!
Nice presentation from past 👍🏻
It was really great listening to this. Clear cut concept for a beginner. Thanks a ton :) and a down thumb for the audience.
Awesome video. I was working on a talk about how to introduce database technology into a second course in Computer Science for High School teachers and Martin's talk gave me some excellent ideas.
Thank you Martin for your awesome talk.
Beautiful Presentation and excellent demonstration of skills and knowledges
The best ever session that I have seen!
Impressive presentation. Thanks, Martin.
What a great presentation.. He absolutely knows what he talks..
WoW ..great explanation about NOSQL and I realized the importance of NOSQL vs RDBMS
If it's a 'strategic' or 'tactical' project you STILL need to consider how the data will be used. You don't just select NOSQL for the sake of using something new. If you select nosql for a stategic project w/o understanding how the data will be used you better line up your next job fast.
Thanks for the valuable insights!
Excellent introduction of NoSQL :)
Such a Brilliant talk. Got the hang of NoSql databases. Thanks so much.
Very well explained !! Cheers to Martin's energy ! :-)
Excellent lecture. Thank you for sharing.
Very clear presentation about the history of databases & comparing relational vs. NoSQL. It's entirely logical that one application should utilize separate database technologies to serve the various storage needs of the app, i.e., a relational database for transactional data (subject to diverse queries) & NoSQL for more linear aggregation (polyglot persistence). However, I think emerging from this will be individual solutions that, under the hood, utilize multiple persistence technologies.
You really wrapped it up. Thank you so much!
Good talk, and I agree that it's good to know multiple ways of storing data. He explains things well. However, I question the recommendation of using the immature and experimental technology for your mission critical systems: it's probably better the other way around.
Very Nice Presentation on NoSQL, Thank You for Sharing.
Great intro. To sum up, NoSql is being used because of the big data and impedance problem of relational database. There are 4 categories: Key-value, document store, column family and graph. The first 3 are aggregate-oriented and all 4 are schemaless; NoSql are good for using one kind of aggregate constantly and it needs to handle trade off between consistency and availability(or response time), which usually is a business decision. NoSql is not only good for big data, also for easier development.
@indikaGreat
8 жыл бұрын
+Xiangyang Xiao Nice summary. thanks
@robertshilt3431
7 жыл бұрын
This is great. I heard that UnitedHealth group is hiring a MarkLogic NOSQL Development role, let me know if you want to hear more.
The problem is once I listened to the amazon engineer talk where he advised to use sql till u reach 10 million users as Postgres sql and MySQL are very stable and one will find all the answers to the problems since it has been for a long time. Thus I wonder which will save time.
What a great explanation. Thanks for it.
Fantastic lecture.
Very good explanation! Thank you.
Fowler is one of the best OOPSLA speakers I've heard.
Very nicely explained
Very clear as usual with Martin Fowler
Easy to understand and follow. Thank you! Mr.Fowler.
Thanks for posting the good lecture.
I learned lot out of it. Earlier concept from what all option available really good.Thanks Martin fowler
Very nice and neatly laid out
This talk is much more fun with subtitles on. Lovely :)
Great Talk. Highly recommended to spend an hour to learn some new stuff.
Thanks for fantastic talk on NoSql.
So great! Thank you! :D
Nice. thanks for the talk!
Great overview - would love more detail but really great talk!
Thanks Martin for a nice orientation to NoSQL.
Very nicely explained by Martin
Simply Awesome! Great Storyteller
Very good Introduction to NoSQL
Brilliant talk
Very informative talk, Thanks a lot
That was a really good talk.. Thanks!
Thank for such a great explanation
Great talk
Amazing video,thank you flower
Quite a lot of content out there trying to explain NoSQL. This video really knocks it out of the park. A must if you are new to NoSQL. Loved his quip on "who wants to be seen wearing XML in public".
Excellent overview all around! Thanks, Martin Fowler. Also, love the way you strip false defenses and run religious wars out of town. :)
Excellent presentation
both informative and engaging
Awesome talk .. very informative .. thanks Martin.
Thanks for this introduction to NoSQL Martin. Just FYI, this blog entry www.tincat-group.com/mewsings/2007/01/otlt-metadata-piece-not-apartheid.html shows a NoSQL graphic half-way down. It was written prior to the introduction of hash tags. It is conceivable that others came up with nosql independently after we did (Tom, Ashley and me) and had not seen our graphic prior to that point, but Tom has the domain names, so there is a thread of the NoSQL movement that arose just slightly earlier out of the NF2 (non-first normal form, pre-relational) world, recognizing we did not popularize it. We figured that we passed it into the UniVerse and it was picked up.
I like it and learned a lot from it. Thanks a lot Martin Fowler.
Great session... thanks!
46:30 "I've got some friends who work at *The Guardian* newspaper ... the article for them is a natural aggregate ... for them spreading that article accross relational databases is a *pain in the neck* ..." Later: "some NoSQL databases are *immature* , we don't have the tools, the experience, the knowledge to work with them well; we've got decades of experience with sql databases" Fast forward to 2018 (www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres). The Guardian: " *Bye bye Mongo, Hello Postgres* ... We decided to purchase OpsManager - Mongo’s database management software - along with a Mongo support contract - to help with the cloud migration ... Due to editorial requirements, we needed to run the database cluster and OpsManager on our own infrastructure in AWS rather than using Mongo’s managed database offering. This was non-trivial, as *Mongo didn’t provide any tooling* for getting set up easily on AWS - we needed to hand write the cloudformation to define all the infrastructure, and on top of that we wrote hundreds of lines of ruby scripts to handle installation of monitoring/automation agents and orchestration of new DB instances ... Since migrating to AWS we’ve had two *significant outages due to database problems* , each preventing publication on theguardian.com for at least an hour. In both occasions *neither OpsManager nor Mongo’s support agents were able to help us much* , and we ended up solving the problem ourselves ... Automatically generating database indexes on application startup is probably a bad idea ... OpsManager *didn’t really deliver on its promise* of hassle-free database management. For instance, actually managing OpsManager itself - in particular upgrading from OpsManager 1 to 2 - was *very time consuming* , and required specialist knowledge about our OpsManager setup. It also *didn’t deliver on its “one-click upgrade” promise* , due to changes in the authentication schema between different versions of Mongo DB. We lost at least two months of engineering time a year doing this database management work. All of these problems, combined with the *hefty annual fee* we were paying for the support contract and OpsManager, left us looking for an alternative database option ... Since all our other services are running in AWS, the obvious choice was DynamoDB - Amazon’s NoSQL database offering. Unfortunately at the time *Dynamo didn’t support encryption at rest* . After waiting around nine months for this feature to be added, we ended up giving up and looking for something else, ultimately choosing to use Postgres on AWS RDS. “ *But postgres isn’t a document store!* ” I hear you cry. Well, no, it isn’t, but it does have a *JSONB column type, with support for indexes on fields within the JSON blob* . We hoped that by using the JSONB type, we could migrate off Mongo onto Postgres with minimal changes to our data model. In addition, if we wanted to move to a more relational model in future we’d have that option. Another *great thing about Postgres is how mature it is* : every question we wanted to ask had in most cases already been answered on Stack Overflow. Lesson learned, the hard way.
@user-ph4zo2sr5v
4 жыл бұрын
Start relational, stay relational. People really do love wasting time and money. There are obvious use-cases for non-relational databases, but it is very doubtful that's where you should begin when building out a domain. As noted, Postgres supports JSONB columns. Best of both worlds.
@craigbryant3191
4 жыл бұрын
Yep. We're still here, us relational folks, and our stuff...just works. The world is full of developers who just want to hack away, and hate the discipline relational databases impose on them. We'll still be here when all their stuff breaks again, like it always does.
The king