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

  • @delpher1983
    @delpher19834 ай бұрын

    It's 2024 already but it feels like we're still don't know mush on how to actually use nosql properly.

  • @kirankartheek5858
    @kirankartheek58589 ай бұрын

    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

  • @nikitadrozdovskii2140
    @nikitadrozdovskii21402 жыл бұрын

    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

    @CosasCotidianas

    2 жыл бұрын

    Definitely this

  • @andriinikitin6139
    @andriinikitin61393 жыл бұрын

    This video gave me more than 2 days reading articles and watching other vids non-stop

  • @hynjus001
    @hynjus0017 жыл бұрын

    Martin Fowler is just amazing

  • @giorgosargyriou5856
    @giorgosargyriou58568 жыл бұрын

    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

    @jameswainwright5217

    8 жыл бұрын

    +Giorgos Argyriou He's very impressive.

  • @NJ-wb1cz

    @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

    @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

    @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

    @NJ-wb1cz

    8 жыл бұрын

    ***** So... why then reply at all if your answer is misleading and incomplete, and people shouldn't take it into consideration?

  • @hnasr
    @hnasr7 жыл бұрын

    21:40 most important part of the presentation. How to make a choice between relational and nosql...

  • @AnthonyBecker9

    @AnthonyBecker9

    3 жыл бұрын

    44:40 has further details

  • @alexanderveprik3331

    @alexanderveprik3331

    3 жыл бұрын

    Precisely. I feel like this is the most decisive quality.

  • @cliveboulton
    @cliveboulton10 жыл бұрын

    The best NoSQL talk I've come across.

  • @pawel753
    @pawel7533 жыл бұрын

    40:40 the best explanation of CAP theorem I've ever heard (+ previous example of booking a hotel room at 37:52)

  • @brandonhunter3036
    @brandonhunter3036 Жыл бұрын

    10 years later and this was very accurate.

  • @lalanashree3962
    @lalanashree39622 ай бұрын

    Wholesome video, which covers every topic of NOSQL !!!

  • @Sebastinator
    @Sebastinator2 жыл бұрын

    This dude is amazing! Will watch all his conferences!

  • @anandakumarsanthinathan4740
    @anandakumarsanthinathan47402 жыл бұрын

    Brilliant presentation. Today is the 16th of December. His birthday is two days from now. Happy birthday, Martin Fowler.

  • @marcdraco2189
    @marcdraco21898 жыл бұрын

    Just great! What a gift to be so fluid and yet so comprehensive.

  • @DoNuT_1985
    @DoNuT_19859 жыл бұрын

    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.

  • @parishchic97
    @parishchic972 жыл бұрын

    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!

  • @nishikanttayade7446
    @nishikanttayade74463 жыл бұрын

    He is THE BEST teacher I ever had!

  • @decki86
    @decki868 жыл бұрын

    if only everyone teaches like this...

  • @kevinzhang8974
    @kevinzhang89748 жыл бұрын

    Excellent presentation. Simple, plain English and examples to help understand the basics of NoSQL concept. Thank you Martin! Kevin

  • @MoizRaja
    @MoizRaja9 жыл бұрын

    Martin Fowler is very good at "distilling" complex stuff into easy to understand concepts. Excellent talk!

  • @nagaraj-ol3xe
    @nagaraj-ol3xe7 жыл бұрын

    One of the best intro about NoSQL Dbs and especially the CAP theorem

  • @EssamAlmuqri
    @EssamAlmuqri10 жыл бұрын

    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.

  • @shrutighughal8171
    @shrutighughal81717 жыл бұрын

    That's much better explanation of CAP theorem than what you typically find online...

  • @saggie1984
    @saggie19846 жыл бұрын

    Glad that I found this video. Explains almost everything you need to know about NoSQL. Speech is absolutely perfect.

  • @brynncurry6112
    @brynncurry61128 жыл бұрын

    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.

  • @TheOceanLoader
    @TheOceanLoader10 жыл бұрын

    Great explanation of the different models of NoSQL databases. Martin Fowler does his usual breakdown of complicated subjects into informative presentations.

  • @slavikzorin6906
    @slavikzorin690610 жыл бұрын

    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!

  • @westfield90
    @westfield905 жыл бұрын

    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.

  • @pinkylover911
    @pinkylover9112 жыл бұрын

    not only an excellent instructor but also super funny

  • @vijayamurugand6407
    @vijayamurugand640710 жыл бұрын

    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!!

  • @FeelsDonkMan
    @FeelsDonkMan4 жыл бұрын

    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.

  • @PlatformsLLC
    @PlatformsLLC10 жыл бұрын

    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!

  • @laexpearl
    @laexpearl10 жыл бұрын

    Great talk on NoSQL by Martin Fowler. Incredibly articulate.

  • @MessiahTheMessengerOfGod
    @MessiahTheMessengerOfGod6 жыл бұрын

    Martin Fowler, is a great man. The conference is perfect !

  • @sigmundkreuzer9655
    @sigmundkreuzer965510 жыл бұрын

    A great presentation over the different NoSql approaches. Thanks for sharing.

  • @shikhashah8253
    @shikhashah82533 жыл бұрын

    Best explanation! Thank you for such good content!

  • @jayeshchandrapal
    @jayeshchandrapal10 жыл бұрын

    Very well thought out, and steady continuous stream of presentation. Thanks for sharing.

  • @pdxholmes
    @pdxholmes10 жыл бұрын

    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.

  • @srinivasanisetty6894
    @srinivasanisetty68948 жыл бұрын

    Splendid method of introducing to the concept of NoSQL. Must watch for anyone new to this domain. Thankyou Martin.

  • @venknar
    @venknar9 жыл бұрын

    Awesome talk and good introduction to NoSQL storage solutions. Must watch for getting to know the basics of NoSQL

  • @ckakunje
    @ckakunje6 жыл бұрын

    Always feels good to listen from the Guru.

  • @jordanradkov2910
    @jordanradkov291010 жыл бұрын

    Great Vid. I often find myself losing focus during such tech talks, but that was not the case here! Props to Mr. Fowler !

  • @AriKhuu
    @AriKhuu8 ай бұрын

    this talk is amazing thank you for sharing!

  • @eicoz
    @eicoz2 жыл бұрын

    Nice presentation from past 👍🏻

  • @somethingrookie
    @somethingrookie7 жыл бұрын

    It was really great listening to this. Clear cut concept for a beginner. Thanks a ton :) and a down thumb for the audience.

  • @ghutchison1
    @ghutchison110 жыл бұрын

    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.

  • @draco2848
    @draco28488 жыл бұрын

    Thank you Martin for your awesome talk.

  • @alvinkpoto2993
    @alvinkpoto29937 жыл бұрын

    Beautiful Presentation and excellent demonstration of skills and knowledges

  • @sunilphanimanne
    @sunilphanimanne5 жыл бұрын

    The best ever session that I have seen!

  • @mitpifa
    @mitpifa8 жыл бұрын

    Impressive presentation. Thanks, Martin.

  • @Selvanavy
    @Selvanavy10 жыл бұрын

    What a great presentation.. He absolutely knows what he talks..

  • @anand94087
    @anand9408710 жыл бұрын

    WoW ..great explanation about NOSQL and I realized the importance of NOSQL vs RDBMS

  • @ZFlyingVLover
    @ZFlyingVLover7 жыл бұрын

    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.

  • @rounakjain5774
    @rounakjain57742 жыл бұрын

    Thanks for the valuable insights!

  • @SudarshanKrSingh
    @SudarshanKrSingh6 жыл бұрын

    Excellent introduction of NoSQL :)

  • @MrRahulKumarKandula
    @MrRahulKumarKandula8 жыл бұрын

    Such a Brilliant talk. Got the hang of NoSql databases. Thanks so much.

  • @pratheekn87
    @pratheekn878 жыл бұрын

    Very well explained !! Cheers to Martin's energy ! :-)

  • @ohad7
    @ohad76 жыл бұрын

    Excellent lecture. Thank you for sharing.

  • @scottgardner4421
    @scottgardner442111 жыл бұрын

    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.

  • @helminenjuha
    @helminenjuha10 жыл бұрын

    You really wrapped it up. Thank you so much!

  • @LucasKjaero
    @LucasKjaero8 жыл бұрын

    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.

  • @nitingupta82
    @nitingupta8210 жыл бұрын

    Very Nice Presentation on NoSQL, Thank You for Sharing.

  • @xxy2109
    @xxy21099 жыл бұрын

    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

    @indikaGreat

    8 жыл бұрын

    +Xiangyang Xiao Nice summary. thanks

  • @robertshilt3431

    @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.

  • @johnhammer8668
    @johnhammer86687 жыл бұрын

    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.

  • @trozzonick77
    @trozzonick778 жыл бұрын

    What a great explanation. Thanks for it.

  • @ajay1124
    @ajay11244 жыл бұрын

    Fantastic lecture.

  • @Kaysar777
    @Kaysar77710 жыл бұрын

    Very good explanation! Thank you.

  • @onteigening
    @onteigening10 жыл бұрын

    Fowler is one of the best OOPSLA speakers I've heard.

  • @Pjblabla2
    @Pjblabla22 жыл бұрын

    Very nicely explained

  • @feraudyh
    @feraudyh11 жыл бұрын

    Very clear as usual with Martin Fowler

  • @user-zr1fk1mg9e
    @user-zr1fk1mg9e10 жыл бұрын

    Easy to understand and follow. Thank you! Mr.Fowler.

  • @beach4me2007
    @beach4me20079 жыл бұрын

    Thanks for posting the good lecture.

  • @NirdoshChouhan
    @NirdoshChouhan11 жыл бұрын

    I learned lot out of it. Earlier concept from what all option available really good.Thanks Martin fowler

  • @Anuj197612
    @Anuj19761211 жыл бұрын

    Very nice and neatly laid out

  • @DorukDenizKutukculer
    @DorukDenizKutukculer11 жыл бұрын

    This talk is much more fun with subtitles on. Lovely :)

  • @MrOptimystic
    @MrOptimystic10 жыл бұрын

    Great Talk. Highly recommended to spend an hour to learn some new stuff.

  • @guhsemar
    @guhsemar10 жыл бұрын

    Thanks for fantastic talk on NoSql.

  • @ernestdrozdz1889
    @ernestdrozdz18894 жыл бұрын

    So great! Thank you! :D

  • @AndreasGalazis
    @AndreasGalazis10 жыл бұрын

    Nice. thanks for the talk!

  • @reneetsielepi160
    @reneetsielepi1608 жыл бұрын

    Great overview - would love more detail but really great talk!

  • @srinivasakadiyala7677
    @srinivasakadiyala76779 жыл бұрын

    Thanks Martin for a nice orientation to NoSQL.

  • @dineshb838
    @dineshb83810 жыл бұрын

    Very nicely explained by Martin

  • @manjulavikram
    @manjulavikram10 жыл бұрын

    Simply Awesome! Great Storyteller

  • @MihaiMoisei
    @MihaiMoisei10 жыл бұрын

    Very good Introduction to NoSQL

  • @barsvelioglu2276
    @barsvelioglu22763 жыл бұрын

    Brilliant talk

  • @gauravkataria1
    @gauravkataria18 жыл бұрын

    Very informative talk, Thanks a lot

  • @sam271183
    @sam2711838 жыл бұрын

    That was a really good talk.. Thanks!

  • @KanomtomTH
    @KanomtomTH8 жыл бұрын

    Thank for such a great explanation

  • @olumuyiwaagboola6523
    @olumuyiwaagboola65235 ай бұрын

    Great talk

  • @rosenlu3819
    @rosenlu38194 жыл бұрын

    Amazing video,thank you flower

  • @JohnDB101
    @JohnDB1014 жыл бұрын

    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".

  • @sidriya
    @sidriya11 жыл бұрын

    Excellent overview all around! Thanks, Martin Fowler. Also, love the way you strip false defenses and run religious wars out of town. :)

  • @thebellman_in_london
    @thebellman_in_london10 жыл бұрын

    Excellent presentation

  • @NRGpyer
    @NRGpyer7 жыл бұрын

    both informative and engaging

  • @ThePythonist
    @ThePythonist10 жыл бұрын

    Awesome talk .. very informative .. thanks Martin.

  • @dwolthuis
    @dwolthuis10 жыл бұрын

    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.

  • @afrooz4622
    @afrooz462211 жыл бұрын

    I like it and learned a lot from it. Thanks a lot Martin Fowler.

  • @GianniBortoloBossini
    @GianniBortoloBossini11 жыл бұрын

    Great session... thanks!

  • @csl1384
    @csl13844 жыл бұрын

    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

    @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

    @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.

  • @johnnyodonnell4952
    @johnnyodonnell49528 жыл бұрын

    The king

Келесі