"Turning the database inside out with Apache Samza" by Martin Kleppmann

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • Databases are global, shared, mutable state. That's the way it has been since the 1960s, and no amount of NoSQL has changed that. However, most self-respecting developers have got rid of mutable global variables in their code long ago. So why do we tolerate databases as they are?
    A more promising model, used in some systems, is to think of a database as an always-growing collection of immutable facts. You can query it at some point in time - but that's still old, imperative style thinking. A more fruitful approach is to take the streams of facts as they come in, and functionally process them in real-time.
    This talk introduces Apache Samza, a distributed stream processing framework developed at LinkedIn. At first it looks like yet another tool for computing real-time analytics, but it's more than that. Really it's a surreptitious attempt to take the database architecture we know, and turn it inside out.
    At its core is a distributed, durable commit log, implemented by Apache Kafka. Layered on top are simple but powerful tools for joining streams and managing large amounts of data reliably.
    What we have to gain from turning the database inside out? Simpler code, better scalability, better robustness, lower latency, and more flexibility for doing interesting things with data. After this talk, you'll see the architecture of your own applications in a completely new light.
    Speaker: Martin Kleppmann @martinkl
    Martin is committer on Apache Samza (a distributed stream processing framework), software engineer at LinkedIn, and author at O'Reilly (currently writing a book on designing data-intensive applications). He invented the infamous "LinkedIn Intro" email proxy. Previously he co-founded and sold two startups, Rapportive and Go Test It. He is based in Cambridge, UK.

Комментарии • 37

  • @ChristopherOkhravi
    @ChristopherOkhravi 7 лет назад +16

    2017 and this is still incredible interesting. Thank you.

  • @daoshen
    @daoshen 23 дня назад

    2024 and it is still not possible to wish away state. Many thanks for this work!

  • @richardjblackman
    @richardjblackman 7 месяцев назад +2

    amazing speaker. explaining a difficult concept with simplicity. 2024 still interesting !

  • @darkodzalevski1422
    @darkodzalevski1422 3 года назад +5

    2021 still awesome! Thank you!

  • @kang-licheng8282
    @kang-licheng8282 5 лет назад +22

    Martin Kleppmann The God of Distributed Systems! Thanks Strange Loop for sharing this

  • @metaocloudstudio2221
    @metaocloudstudio2221 2 года назад +4

    This talk is the most important talk in the century about all kind of computer future logic

  • @FofoMoMo1234
    @FofoMoMo1234 9 лет назад +15

    Brilliant talk, I disagree only with the comment "Kill REST APIs" but do agree with reducing the focus on request/response systems. Req/Res are implementations details of HTTP, REST can work over websockets. REST is a concept for building distributed systems, it is in no way is it limited to APIs or HTTP(req/res). That being said most "REST" APIs are implemented incorrectly since they lack Hypermedia controls in their message structure.

  • @raghavendrargv783
    @raghavendrargv783 4 года назад +6

    Still Relevant! Awesome content Martin :)

  • @shunxiancai5878
    @shunxiancai5878 Год назад +1

    really digging these hand written slides

  • @lokthar6314
    @lokthar6314 4 года назад +4

    I like Martin Kleppmann, he's a very bright person and a good teacher. I disagree though with his statement "Kill REST". In this talk he proposes to use streams over REST but imo this is all use case dependent. Also the idea of a stream is not so new, publish/subscribe communication flow is pretty widely used already, just think about web sockets. Think about an application that doesn't need to be updated about any CRUD operations within the DB in real time (like 95% of applications). Would you still introduce a complex stream based backend over simple REST?

  • @mcscubin8935
    @mcscubin8935 2 года назад

    I really enjoy this kind of thinking. Thanks for the talk.

  • @hamzakyamanywa9792
    @hamzakyamanywa9792 23 дня назад

    Genius! Way ahead of his time

  • @maverick88NL
    @maverick88NL 9 лет назад +24

    CQRS?

    • @OverG88
      @OverG88 8 лет назад +2

      +maverick88NL Totally! However, in upcoming period, I bet that many people will feel uncomfortable by switching from CRUD to CQRS. Worst issues I encountered was the essential separation of write model from read model. Especially, how to fit everything with specific technology. Implementation of CQRS pattern can be ridiculous sometimes. :)

  • @123wordbird321
    @123wordbird321 9 лет назад

    MQTT is a publish/subscribe server with open source JavaScript web socket libraries that's been around for a long time. I used it in the public safety sector for officers to subscribe to streams published by the dispatch center. I guess I'm fuzzy on how this differs from that other than fuzzing the lines between the MQTT server and the database it may ride on.

  • @pveentjer
    @pveentjer 9 лет назад +1

    Excellent presentation.

  • @ashconnor
    @ashconnor 8 лет назад +7

    So Event Sourcing then?

    • @tenstairs
      @tenstairs 5 лет назад

      "Martin Kleppmann - Event Sourcing and Stream Processing at Scale" - ruclips.net/video/avi-TZI9t2I/видео.html

  • @StealThisKarl
    @StealThisKarl 9 лет назад +10

    I wonder what Martin Kleppmann thinks of relay and graphql

  • @MsMadvas
    @MsMadvas 9 лет назад +8

    I wonder if this guy knows Datomic. I think it's exactly what he wants :)

    • @tyrsius
      @tyrsius 9 лет назад +4

      +Matúš Lešťan He mentions this IN THE VIDEO...

    • @MartinClausen
      @MartinClausen 8 лет назад

      +Matúš Lešťan He compares to Datomic at 43:05

    • @sunnyshah4459
      @sunnyshah4459 8 лет назад

      +Matúš Lešťan Yes, He has mentioned Datomic in his book Designing Data Intensive Applications, 2nd chapter.

    • @arunsatyarth9097
      @arunsatyarth9097 4 года назад

      If he wants it, chances are he probably built it.

  • @jesusisalive2
    @jesusisalive2 10 лет назад

    good presentation. very interesting.

  • @TheDroidMate
    @TheDroidMate 5 лет назад +2

    Does anyone know what software was used to draw theses slides? Would be great for university
    thanks folks

    • @cyberlad24
      @cyberlad24 5 лет назад +2

      iPad Pro with pen would suffice :)

  • @ba8e
    @ba8e 8 лет назад +10

    24:22 "Kappa" Architecture. :)

  • @MaartenvanGijssel
    @MaartenvanGijssel 9 лет назад

    Amazing! Thanks!

  • @igboman2860
    @igboman2860 Год назад

    Kafka streams seems to have killed Samza

  • @stephaneislistening6103
    @stephaneislistening6103 4 года назад

    I read the phrase "When a client reads from a materialized view, it can keep the net‐
    work connection open." from Martin's book "Making sense..." and wondered where was that coming from. How a materialized view offers such a feature ?

  • @jesusisalive2
    @jesusisalive2 10 лет назад +5

    databases are so 1970's

    • @MrGarkin
      @MrGarkin 9 лет назад +8

      Turing machines are so 1940's

    • @MrGarkin
      @MrGarkin 9 лет назад +22

      Pants are so 1800's

    • @ky5069
      @ky5069 4 года назад +3

      Wheels are so 4000 BC