They made Kafka 80% faster by switching file systems

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 53

  • @hnasr
    @hnasr  7 หลายเดือนก่อน +14

    Fundamentals of Operating Systems course
    oscourse.win

    • @prasenjitsutradhar3368
      @prasenjitsutradhar3368 6 หลายเดือนก่อน

      👋Hi Hussein, I'm a non-cs graduate (coming from Math major background), I've software development knowledge in NodeJS, Java, Spring Boot. But I never went though any formal operating system course before and now I want to learn about operating systems, both for my own development and for potential interview situations.. Should I take your OS course or I should take any university OS course?.............Pls any help me out!🙏

  • @PanMaciek
    @PanMaciek 7 หลายเดือนก่อน +63

    For those who wonder: Allegro is something like Amazon in Poland. Let's go! Good work guys 😄

  • @geralt9036
    @geralt9036 7 หลายเดือนก่อน +122

    Products are getting faster but I am getting braindead day by day

    • @anchalsharma0843
      @anchalsharma0843 7 หลายเดือนก่อน +2

      😂😂+1

    • @goatslayer5957
      @goatslayer5957 6 หลายเดือนก่อน +1

      Better yet, touch some grass 😉

    • @jerichaux9219
      @jerichaux9219 5 หลายเดือนก่อน

      @@goatslayer5957Drop the “gr” and it’s a party.

  • @sagarmaheshwary3150
    @sagarmaheshwary3150 7 หลายเดือนก่อน +8

    Thanks for simplifying Allegro's Kafka performance optimization blog! Your breakdown really helps us grasp complex topics quickly. Keep up the great work!

  • @bkahlerventer
    @bkahlerventer 7 หลายเดือนก่อน +8

    from my personal research on XFS, it has the concept of extents. Each extent is a part of the filesystem that the OS can do IO to in parallel. the effect is almost like that there is a seperate journal in each extent. XFS perform massively good with large files, for small files it needs to be tweaked.

  • @mr_hse5364
    @mr_hse5364 6 หลายเดือนก่อน

    Cool video. Many thanks to Hussein for help to dive into such things!)

  • @weirdo-beardo
    @weirdo-beardo 6 หลายเดือนก่อน

    Thanks @hnasr.
    The world needs more Hussein Nassers who can explain and help us understand such complex engineering problems/solutions. Motivates me to learn more n more about the system and software engineering in general.

  • @Mancholino17
    @Mancholino17 7 หลายเดือนก่อน +1

    Wonderfully explained, love your content - keep it coming!

  • @AadilSrivastava
    @AadilSrivastava 7 หลายเดือนก่อน

    Beautifully explained!! Thank you so much publishing such a brilliant content.

  • @PaawanBhatt
    @PaawanBhatt 6 หลายเดือนก่อน

    As always, Great Stuff! Clean explanation.

  • @chriss3404
    @chriss3404 7 หลายเดือนก่อน +4

    Great video! I'm surprised that there was such a big win to be had with the file system, especially considering that ext4 is pretty much the standard in the Linux world right now; Although, when I saw the title, I immediately knew it was going to be XFS (I've heard that it was designed with concurrency in mind).

    • @shimadabr
      @shimadabr 6 หลายเดือนก่อน

      I would love to see a breakdown on why XFS was a better choice than BTRFS and ZFS. For their use case I can imagine, but the analysis would be very informative nevertheless

    • @LtdJorge
      @LtdJorge 6 หลายเดือนก่อน

      @@shimadabr I don’t know about BTRFS, but ZFS is slower than XFS, F2FS, EXT4 and BTRFS consistently. Performance is not why you choose ZFS. In fact, I’m pretty sure ZFS would always be a bad choice for Kafka.

  • @felixinit
    @felixinit 7 หลายเดือนก่อน

    Impresionante Kafka improvement. Tiene curso de Sistemas Operativos. Mencionado al final. Demoró 2 años en construirlo.

  • @efkastner
    @efkastner 7 หลายเดือนก่อน +1

    20:02 The first thing I thought of when you started talking about ext’s journal and WALs in general was Jay Kreps’ world-changing post (about Kafka): “The Log: What every software engineer should know about real-time data’s unifying abstraction”. As above, so below :)

  • @adooken1019
    @adooken1019 5 หลายเดือนก่อน +1

    Please do a refresh of that Kafka video !

  • @roonywalsh8183
    @roonywalsh8183 7 หลายเดือนก่อน +5

    Brilliant explanation!!!

  • @ankitamohanty2295
    @ankitamohanty2295 7 หลายเดือนก่อน

    Great video. What an awesome voice you have 😊 very soothing 😛

  • @tidji31
    @tidji31 7 หลายเดือนก่อน +6

    أشكرك كثيرًا أخي حسين على المعلومات القيمة والرائعة.

  • @LtdJorge
    @LtdJorge 6 หลายเดือนก่อน

    Ceph recommends using XFS and only XFS for the backing block devices of their object storage system. I think it was even more important when Filestore was the default store, rather than Bluestore.
    Edit: sorry, I was wrong. Only FileStore used a filesystem underneath. BlueStore is a block device backend to RADOS (object store), while FileStore is a file backend to RADOS, so BlueStore just operates on raw devices/partitions. I don’t know why I didn’t remember that detail.
    Also interesting would be the up and coming SeaStore, built for the new OSD service, crimson-osd, that will replace ceph-osd. SeaStore uses ScyllaDB’s Seastar framework underneath for even more performant block device handling and it will bring support for ZNS NVMe and leverages SPDK/DPDK for getting the maximum out of NVMe arrays.

  • @efkastner
    @efkastner 7 หลายเดือนก่อน

    Also, “Maciej” is pronounced like so: first syllable is emphasized and is the “ma” in “mama”, the second syllable is the “cha” in “chain” (long a sound). Great video about a great post!

  • @ashwani_kumar_rai
    @ashwani_kumar_rai 7 หลายเดือนก่อน +1

    i think that it will take long to recover when journaling is disabled because they may be writing the same data to multiple partitions or files by configuring replication factors

  • @spoqpedwabe7499
    @spoqpedwabe7499 6 หลายเดือนก่อน

    This is literally a general case for most db's and step 0 deploying a mongodb acually..... So they could avoid all that trouble by not skipping db deployment guidlines

  • @fahimkhan1733
    @fahimkhan1733 6 หลายเดือนก่อน +1

    You talk about something TLS packets decryption with curl. Can you point me to that lecture ?

  • @ufxpri
    @ufxpri 7 หลายเดือนก่อน +2

    it is so clean!

  • @avwie132
    @avwie132 7 หลายเดือนก่อน +2

    Impressive, but the gist is that the docs already prescribe using XFS….

    • @ihor_1995
      @ihor_1995 6 หลายเดือนก่อน

      It says xfs OR ext4

  • @brentsaner
    @brentsaner 7 หลายเดือนก่อน

    XFS is faster because it has less safety features. :)
    (It's generally less tunable than ext4, but works great for a ton of small files. ext4 is generally better for large chunk writes, fast/thorough recovery, etc.)
    All depends on desired use case

    • @berndeckenfels
      @berndeckenfels 6 หลายเดือนก่อน

      Xfs is optimized for real time streaming media files

  • @denissorn
    @denissorn 7 หลายเดือนก่อน +2

    ext4 better in handling a lot of smaller files, XFS works better/faster with larger files.

  • @pawsdev
    @pawsdev 6 หลายเดือนก่อน

    I have a good idea for next video. So on my project i encountered a problem with perfomance, so there was a attempt to use cahching, but app architecture itself do not alllow to do cahcing efficient becasue a lot of additional requests was made behind the curtain at beckend depending on conditions of each user, so in result absolutely same query at frontend lead to absolutely different responses in final, so its some kined of idempotence problem, so it nearly impossible to implement caching without full refactoring of app and including all conditions in every beginning, in initial query. So it would be very interestiung to hear about how to architecture application it was fully fit for heavy caching usage and worked very fast.

  • @ehza
    @ehza 7 หลายเดือนก่อน

    Thanks

  • @Starfalll6783
    @Starfalll6783 7 หลายเดือนก่อน

    Why this course is not available for business accounts

  • @DeepakGoyal
    @DeepakGoyal 7 หลายเดือนก่อน

    I live on the edge.

  • @werth7113
    @werth7113 หลายเดือนก่อน

    Poland mentioned 🇵🇱🇵🇱🇵🇱

  • @mossaabboudchicha84
    @mossaabboudchicha84 5 หลายเดือนก่อน

    In 13:46 you have made a mistake about the directories and files used by kafka to ensure storage,according to the articles you relying on,the directory is not the topic but the partition and the segment files are used to store messages,juste a clarification.

    • @hnasr
      @hnasr  5 หลายเดือนก่อน

      good catch, thanks !

  • @goatslayer5957
    @goatslayer5957 7 หลายเดือนก่อน +1

    Was looking for a netflix show and here I am lol

  • @Bilo_7
    @Bilo_7 7 หลายเดือนก่อน +2

    Watching with 1.5x speed

  • @dinoscheidt
    @dinoscheidt 7 หลายเดือนก่อน

    Ah, thought they did by by switching to „red panda“

  • @prasenjitsutradhar3368
    @prasenjitsutradhar3368 6 หลายเดือนก่อน

    👋Hi everone, I'm a non-cs graduate (coming from Math major background), I've software development knowledge in NodeJS, Java, Spring Boot. But I never went though any formal operating system course before and now I want to learn about operating systems, both for my own development and for potential interview situations.. Should I take Hussein's OS course or I should take any university OS course?.............Pls any help me out!🙏

  • @andrzejjedrzejewski7977
    @andrzejjedrzejewski7977 7 หลายเดือนก่อน

    Poland Strong!

  • @khzind
    @khzind 6 หลายเดือนก่อน

    I only want to know from which FS to which FS ?
    Without wasting 30mins on the video

  • @blasttrash
    @blasttrash 7 หลายเดือนก่อน

    2:34 what did he say? japanese?

  • @magaszak
    @magaszak 7 หลายเดือนก่อน +9

    POLSKA GUROM

  • @berndeckenfels
    @berndeckenfels 6 หลายเดือนก่อน

    Funfact ext4 is newer than Xfs

  • @aryantapre
    @aryantapre 7 หลายเดือนก่อน

    Ii

  • @thefamousdjx
    @thefamousdjx 6 หลายเดือนก่อน

    Good info though i find your style of talking super annoying 🤣

  • @samuelvishesh
    @samuelvishesh 7 หลายเดือนก่อน

    2:34 did bro change into a Japanese hello fellow? 😩😂