Google SWE teaches systems design | EP19: Cassandra Deep Dive

Поділитися
Вставка
  • Опубліковано 10 гру 2024

КОМЕНТАРІ • 57

  • @ruchikapawar7457
    @ruchikapawar7457 9 місяців тому +4

    Finally, a video that covers in-depth design, kudos

  • @marcosoliveira1538
    @marcosoliveira1538 5 місяців тому +8

    This guy really runs the extra mile to bring in-depth content

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 місяців тому +1

      The only miles I run are on my UA-cam videos

    • @bojhbaji
      @bojhbaji 24 дні тому +1

      @@jordanhasnolife5163 ha ha =D

  • @mrdanp123
    @mrdanp123 2 роки тому +11

    These videos on specific tech are indeed awesome!

  • @shuaisan
    @shuaisan 2 роки тому +3

    Kudos on the deep dive, especially the use cases. Very helpful for the system design interview.

  • @alonhalimi
    @alonhalimi 2 роки тому +2

    Great video. It was so smart to start with all those introductions... patience pays.
    thank you !

  • @sarthakbhutani9460
    @sarthakbhutani9460 3 місяці тому +1

    amazing content! very in-depth knowledge which most other videos lack! Thanks for teaching me, Jordan!

  • @deepthich2543
    @deepthich2543 Рік тому +1

    Omg this video is real gold and on to point.

  • @neek6327
    @neek6327 2 роки тому +2

    Going to binge watch all your vids after watching this one!

  • @SreekantShenoy
    @SreekantShenoy 8 місяців тому +1

    every video of yours takes me 2-3x time for me to understand. Its concise, and soo deep bro. 👊

  • @tho_norlha
    @tho_norlha 2 роки тому +4

    really interesting, I'm a second year student and you explain very well !

  • @raj_kundalia
    @raj_kundalia Рік тому +1

    This is good, thank you.
    Cassandra can be used for storing something that is more of real time then, along with the things that has less relational thing then.
    Also, let's say we have complex analytical queries to run on data, this may not be as good because of lack of good support for indexes.

    • @jordanhasnolife5163
      @jordanhasnolife5163  Рік тому

      It has solid support for indexes but generally agreed for analytical stuff you probably want to use a db built on top of parquet files

    • @raj_kundalia
      @raj_kundalia Рік тому +1

      @@jordanhasnolife5163 why is that generally agreed upon then that analytical stuff is better off to something else other than Cassandra.

    • @jordanhasnolife5163
      @jordanhasnolife5163  Рік тому

      @@raj_kundalia Not column oriented storage

    • @raj_kundalia
      @raj_kundalia Рік тому

      @@jordanhasnolife5163 thank you, this clears off a lot of things.

  • @saiprasadveluru
    @saiprasadveluru 2 роки тому +1

    Bro, this is super useful . Please keep uploading stuff. But sooner or later you have to do the soyjack faces to go viral. You will cross 100k one day if you keep at it

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 роки тому

      Just how the internet works unfortunately, I'll keep my dry socially unnaceptable humor for now and see what happens :)

  • @divyanshdixit4944
    @divyanshdixit4944 2 роки тому +3

    So, if possible apart from the witty descriptions (which I really like lol), can you please add related research papers, link to previous video/whole playlist, related books etc too ?
    Would help the video quality as well as channel I think.

  • @quirkyquester
    @quirkyquester 6 місяців тому +1

    great detail!

  • @andrewsamoil8570
    @andrewsamoil8570 2 роки тому +5

    love the intro

  • @cd-ux9ot
    @cd-ux9ot 2 роки тому +1

    Can you do a video on Spanner please? I would simp.

  • @gerry473
    @gerry473 7 місяців тому +1

    What NoSql database is better if you have a read oriented application with a large amount of columns and you need a lot of indices?

    • @jordanhasnolife5163
      @jordanhasnolife5163  7 місяців тому

      You've gotta expand on this question a bit. What type of reads? Analytics? Or do we just need one row at a time? A lot of indices...local, global?
      In theory, I'd say none and to just use snowflake or something lol.

    • @gerry473
      @gerry473 7 місяців тому

      @@jordanhasnolife5163 Yes, sure. I mean, imagine types with 200 to 300 attributes each. At least 20 attributes of each type must be searchable (filter by should be quick).
      In Cassandra there are secondary indices and materialized views we could use. But I guess, 20 or more indices on each of the probably 1000 different types is not the ideal use-case for cassandra.
      Normally we do much more queries than inserting new objects.

  • @kvkrishnaprasad
    @kvkrishnaprasad 2 роки тому +1

    Can you please add a reference to multiple clustering keys and multiple copies of data ?

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 роки тому

      stackoverflow.com/questions/36741042/cassandra-order-by-multiple-columns

  • @randknutson5239
    @randknutson5239 2 роки тому +2

    Super useful

  • @jayantprakash6425
    @jayantprakash6425 2 роки тому +1

    Hey Jordan, I couldn't find much info on isolation levels/atomicity of cassandra online. Could you elaborate on that bit?

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 роки тому

      I believe that there's just row level atomicity, and you can pretty much expect no isolation guarantees from there

    • @jayantprakash6425
      @jayantprakash6425 2 роки тому +1

      @@jordanhasnolife5163 Thanks. A follow-up question: Won't this limit its use case as an OLTP database? I see this is used by many companies as one of their primary sources of truth. I haven't yet seen your case-studies of various systems but won't ignoring all kinds of crazy skews make it much less effective for many scenarios.

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 роки тому

      @@jayantprakash6425 It really depends upon your use case. For example, storing a bunch of timestamped messages: why couldn't we use it for that? We aren't writing multiple messages at once, they are written once and then are immutable.

  • @GuntherJones
    @GuntherJones 8 місяців тому +1

    Thank you

  • @KratosProton
    @KratosProton 2 роки тому +1

    I can't believe this is a free course 😳😳

  • @harshitgoel-b5f
    @harshitgoel-b5f 5 місяців тому +1

    cassandra vs dynamo db ??

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 місяців тому

      I don't actually know how dynamodb works, since it's closed source. From my understanding it's different than the dynamo paper, whereas Cassandra is the same lol

  • @ahnjmo
    @ahnjmo 2 роки тому +1

    Hey Jordan - was wondering, do you know if you have to manually setup how many partitions Cassandra will support? Or will Cassandra automatically provision partitions for you if they get too full?

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 роки тому

      I think there's some automatic rebalancing due to the consistent hashing but not 100% sure

  • @RandomShowerThoughts
    @RandomShowerThoughts Рік тому +1

    the indexes on cassandra always confuse the shit out of me.

    • @jordanhasnolife5163
      @jordanhasnolife5163  Рік тому +1

      Just think partition key, sort key :)

    • @RandomShowerThoughts
      @RandomShowerThoughts Рік тому

      ​@@jordanhasnolife5163 very true lol. The other thing is if we have a compound partition key we need to query by the entire partition key.
      lastly, I get confused on when to use denormalization vs secondary indexes

  • @tarunnurat
    @tarunnurat 2 роки тому +2

    For anyone like me, confused by the Data Organisation in slide 4, refer to this pic -
    database.guide/wp-content/uploads/2016/06/wide_column_store_database_example_row-1.png