How row oriented and column oriented db works?

Sdílet
Vložit
  • čas přidán 16. 04. 2020
  • There are two types of data storage database one is row oriented database and another one is column oriented database. It stores data table by row and common method of storing a table is to serialize each row of data. Row-based systems are designed to efficiently return data for an entire row, or record. In this video I am going to show exactly how the data is stored in memory.
    #microservice #learnmicroservices #totorialssystemdesign #microservicestutorials
    #systemdesigntips #systemdesign #computerscience #learnsystemdesign #interviewpreperation #amazoninterview #googleinterview #uberinterview #micrsoftinterview

Komentáře • 120

  • @rhugvedchaudhari4584
    @rhugvedchaudhari4584 Před 2 měsíci

    Hands down, the best explaination available, covering all the technical aspects. Genius!

  • @chakriadm1
    @chakriadm1 Před 4 lety +15

    Man, you are genius. I have been in IT for 15 years and hardly know 10% of what you know. Your explanation- how you touch basics and build on top of that is simply amazing. I really like how you are emphasizing conceptual knowledge. You rock.

  • @sanjayg2686
    @sanjayg2686 Před 3 lety

    You got great grip on the topic and deep understanding of data storage on the disk; simply you are the best and Great!

  • @ameyapatil1139
    @ameyapatil1139 Před 4 lety +1

    This is best explanation i have come across ! lucid ! swell !

  • @daleffi
    @daleffi Před 10 měsíci

    Thank you sir. I've worked with relational databases all my life.
    Since Cassandra started to be a trend back in the days, i was having a hard time to understand how exactly the concept of column family databases really works.
    Until today.
    Thank you very much.

  • @JxKILLAA
    @JxKILLAA Před 3 lety +1

    Starting to get back into to database work, this was an excellent video!

  • @Manishsharma-tj4nn
    @Manishsharma-tj4nn Před 4 lety +2

    You are back, thanks

  • @joshreji7510
    @joshreji7510 Před 2 lety

    A brilliantly explained video. Thank you!

  • @mindcontrolkmc.3286
    @mindcontrolkmc.3286 Před 3 lety

    Both of your English and explanation are so clear. Thank you so much, bro!

  • @bratwurstmitbiryani
    @bratwurstmitbiryani Před 4 lety

    Dude you are great. Very nicely explained!

  • @JoscelinTrouwborst
    @JoscelinTrouwborst Před 2 lety

    Have watched several of these explanations. I feel your use of the white board stands out. Clear consistent and detailed explanation as well. Hat off :-) .

  • @nazeers5684
    @nazeers5684 Před 5 dny

    good video

  • @vrushali6044
    @vrushali6044 Před 4 lety

    Awesome explanation ..Keep it up

  • @shankarsr1
    @shankarsr1 Před 3 lety

    wow very good explanation

  • @bactran7799
    @bactran7799 Před 2 lety

    very clear explanation of row-oriented and column-oriented database. Thank you very much

  • @HaiNguyen-yr7md
    @HaiNguyen-yr7md Před rokem

    it's so clear. thank you so much.

  • @SAW8149
    @SAW8149 Před rokem

    You are a genius. I loved the way you explain the topic and how you relate the problem

  • @hariharamoorthythennetipan2190

    You have explained the concept at the disk level, awesome work.

  • @srinivaskjakkula3868
    @srinivaskjakkula3868 Před 4 lety

    Great Video thank you for sharing your knowledge.

  • @nishanktripathi6589
    @nishanktripathi6589 Před 2 lety

    It was crisp and clear. Thank you so much for this awesome content 🥰

  • @hemanthkch
    @hemanthkch Před 2 lety

    Good one Naren, thank you for posting this.

  • @mateuszkowaleczko6446
    @mateuszkowaleczko6446 Před 4 lety

    Thanks man. You explain it really well

  • @vikashmandir
    @vikashmandir Před 4 lety +6

    I liked the topics getting covered by u. This channel is really helping me to understand system design concepts used in real world.
    Also it will be great if u cover the internals of a message queue.

  • @ShabnamKhan-cj4zc
    @ShabnamKhan-cj4zc Před 3 lety

    Thanks a ton ton.. I have been looking for coloumn based db and how its better. This vid explained everything.. Thanks a lot ..Your every video give so much knowledge which cant be found under one video with explanation in simple way.. Thanks a lot narender for taking out time and making vidoes..

  • @akshay_g
    @akshay_g Před 3 lety

    Good explaination

  • @awake8138
    @awake8138 Před 2 lety

    Really awesome.well explained 👏👏👏

  • @sanjeevbc9784
    @sanjeevbc9784 Před 2 lety

    nicely explained

  • @RS-vu5um
    @RS-vu5um Před 2 lety

    Excellent Explanation.

  • @richardglazer4686
    @richardglazer4686 Před 3 lety

    Great explanation, thank you!

  • @deepjyotimitra1340
    @deepjyotimitra1340 Před 3 lety

    Detailed explanation. Thank you so much. All my doubts got cleared.

  • @hgaliza
    @hgaliza Před 2 lety

    Thanks for the video! Very clear and concise explanation. 👍🏻

  • @uboopathy
    @uboopathy Před 3 lety

    Very good explanation

  • @tungtranvan1286
    @tungtranvan1286 Před 3 lety

    thank bro for sharing

  • @AyushSharma-bn2js
    @AyushSharma-bn2js Před 2 lety

    Amazing video, I loved it.

  • @haribaskarvengatasamy4531

    Fantastic. Very good explanation about Row Vs Column db's. Thanks Naren

  • @hariomsharma5468
    @hariomsharma5468 Před 3 lety

    loved the way you explained

  • @srinathvangari8526
    @srinathvangari8526 Před 4 lety

    Well explained. Thank you

  • @soumyajitsinharoy
    @soumyajitsinharoy Před 3 lety

    Very nice explanation.

  • @shanshanxu9978
    @shanshanxu9978 Před 3 lety

    very good, the best explanation I have seen so far.

  • @PiyushSingh-vx7bx
    @PiyushSingh-vx7bx Před 3 lety

    Awesome video ❤️

  • @sj0387
    @sj0387 Před 3 lety

    Brilliant Explanation. Thanks Bro.

  • @akshatjain1559
    @akshatjain1559 Před 2 lety

    You are a genius dude! These little things get people 300-400K jobs in FAANGMULA!

  • @dheemanthmallikarjun514

    Great explanation 👏 keep it coming

  • @rocktoyo69
    @rocktoyo69 Před 3 lety

    Great video, it helped me to understand my course from my university and helped me for my final exam, thank you

  • @shewafree
    @shewafree Před 3 lety

    Thank you!

  • @csangora
    @csangora Před 2 lety

    Superb explanation Narendra. Really understand the concepts

  • @oldguywholifts
    @oldguywholifts Před 3 lety

    Sincerely... good effort!!! 👍

  • @stnlylee
    @stnlylee Před 3 lety

    nice video thanks

  • @sairajanagandula6478
    @sairajanagandula6478 Před 4 lety

    Thank you very much bro. You have explained it very clearly and at a beginner level. It helped me in while learning SAP HANA as well.

  • @sureshiva4605
    @sureshiva4605 Před 8 měsíci

    Cool explanation...Need more of your videos....Gonna check your whole playlist....

  • @jksharma7
    @jksharma7 Před 3 lety

    very clear understanding sir.

  • @mainakchatterjee1720
    @mainakchatterjee1720 Před rokem

    Woww..!! What an explanation..!!..It was really helpful...thanks..!!😇

  • @freeopensource
    @freeopensource Před 6 měsíci

    Thanks a lot !!

  • @arjunsharmaconnect
    @arjunsharmaconnect Před rokem

    great

  • @rajpal7406
    @rajpal7406 Před 3 lety

    Nicely explained.. Thank you Narendra!

  • @nalamatigeetha2459
    @nalamatigeetha2459 Před 4 lety

    Got to knw much frm ur session. Thanks alot

  • @YashChoudhari73
    @YashChoudhari73 Před 3 lety

    amazing explanation! :)

  • @ragdoll2324
    @ragdoll2324 Před 3 lety

    Great video. Thanks for making it. It would be great if you can create more videos on the internals of databases, focusing each vdo on a different kind of database.
    Thanks!

  • @dconenana2986
    @dconenana2986 Před 2 lety

    This is wonderful and thanks very much. This is my first time ever commenting on a video lol .

  • @vikramragunathan6392
    @vikramragunathan6392 Před rokem

    I don't think anyone can explain better. Wow.

  • @senthilvs1723
    @senthilvs1723 Před 3 lety

    @narendra , good concise one. wish u do more . thanks

  • @AJEETVATE
    @AJEETVATE Před 2 lety

    perfect ....

  • @madaxe8894
    @madaxe8894 Před 3 lety

    Good.

  • @edgarcheverier
    @edgarcheverier Před 4 lety +7

    Thanks man, great explanation! would be awesome if you could do the same with document-oriented db!

    • @meghnath1993
      @meghnath1993 Před 4 lety +2

      +1 , would like to understand how you write queries for (row vs column vs document)

    • @nalamda3682
      @nalamda3682 Před rokem

      + 1

  • @ansh7627
    @ansh7627 Před 3 lety

    I am your fan

  • @arshiabegum2706
    @arshiabegum2706 Před 9 měsíci

    Thanku 😊

  • @stephyjacob1256
    @stephyjacob1256 Před 4 lety +4

    Take care man. Situation in Germany also not good due Coronavirus. Stay safe.

  • @AdityaJha94
    @AdityaJha94 Před 4 lety +1

    When one of the disk of shards in a database (either row oriented or column oriented) is full, what are the strategies to mitigate the situation?

  • @gauravmittal451
    @gauravmittal451 Před 2 lety

    I just laughed at the scalar academy ad which came during the video.

  • @amanpreetkaurkohli7288

    really very good explanation. Would like to see video on partitioning in future.

  • @sambakorea
    @sambakorea Před měsícem

    Nice blog with very clear explanations for row and columnar db storage patterns. Could you also blog the in memory data storage in both the cases rather than the HDD. I am not interested in seeing the recent HANA buzz around the ‘in memory’ data storage and retrieval. One more thing, in this blog you have mentioned about the scenarios that dictates how the data will be stored like transactional or analytical..but in HANA,I think it stores everything in columnar way, so are there any drawbacks in that? Appreciate your innate insight in this.

  • @akshatjain1559
    @akshatjain1559 Před 2 lety

    How do you large and hot partitions in Columnar DB, since one column could contain data that is huge (Large strings) or hot (More frequently accessed than others)

  • @RandomShowerThoughts
    @RandomShowerThoughts Před rokem

    does does a columnar database handle multiple where requests? Does it keep track of the subset at each fliter?

  • @parveenpandit168
    @parveenpandit168 Před 2 měsíci

    Wow.. so far this is the best explanation I have seen. Thank you so much.
    I have one query, I am still not able to understand, how insertion happens in columnar database, if, there is no space left in a block and next block has data of another column. It will be great if you put some light on the this. Appreciate your help.

  • @karmicveda9648
    @karmicveda9648 Před 2 lety

    👏

  • @GAURAVGUPTA-zu2bu
    @GAURAVGUPTA-zu2bu Před 3 lety

    It will be nice to see a video on write ahead logs

  • @meghasharma3092
    @meghasharma3092 Před 4 lety

    Now i understood why my architect always asks not to do any analytics query on transactional DB :)

  • @milindjadhav7420
    @milindjadhav7420 Před 4 lety

    I was looking for row vs column db and got very useful info.thanks.Could you please explain in terms of MPP and Cloud DWH if possible..😊

  • @sahilbajaj2190
    @sahilbajaj2190 Před rokem

    Question: Incase of column oriented writes, what if current block gets fulled & next consecutive block is also fulled. So, does it shifts all the blocks or how does it actually work & maintain all the blocks at different places for a particular column ?

  • @kranthikumarjorrigala
    @kranthikumarjorrigala Před 4 lety

    Very clearly explained. Thanks a lot. Can you make videos on Amazon redshift.

  • @AkashJadhavIT
    @AkashJadhavIT Před 4 lety

    Thank you for all these amazing videos on systems design. We have learned great concepts from you sir.
    One request from my side. Would it possible for you to make a series on "object oriented design interview". Any resources you would recommend for the same?

    • @TechDummiesNarendraL
      @TechDummiesNarendraL  Před 4 lety +1

      It doesn't have to be contiguous always, blocks are distributed and memory allocation starts from different blocks and they are tracked by FS

  • @aneksingh4496
    @aneksingh4496 Před 4 lety

    very nice explanation . Thanks , I have been following your videos , Great effort . Please also suggest how do u prepare for these topics ,I mean what resources do you use .. that would be also great help !!! :-)

  • @ankushgats
    @ankushgats Před 3 lety

    Hey Narendra, this is very helpful content and your voice is very relaxing. Just want to add a suggestion, I think we should have included: how data from one column is matched(linked) to data from another column, like how does db identifies what are the "number-of-requests" between time windows of 10.01 to 10.11.

    • @MC-wp2vz
      @MC-wp2vz Před 2 lety

      the record id is always stored, so when you do the time query, you are getting from the time column all the record ids that matches the time requirement. Then it goes to the metric column you need. It reads all of them which might be partitioned, and then fetch data that has the same record ids

  • @vivekmit
    @vivekmit Před 3 lety +1

    Hi Narendra; You explained extremely well how we can choose the best-fit NoSql database based on our requirements. Do we have any other factor to decide best-fit NoSql database like, in case our application is write oriented or read oriented..I know the CAP theorem is another factor to decide best-fit NoSql db but wish to know other possible factors.

  • @prabhakaradhulipalla1162

    how does it store null values for any given row in CF db?

  • @anandperi7060
    @anandperi7060 Před rokem

    So basically how are these Column data across the blocks linked... for example the traffic and errors need to be plotted with the time. So there is a relationship that needs to be maintained with some kind of a key right? How is that being done?

  • @stoneshou
    @stoneshou Před 4 lety +1

    Is it fair to say column oriented for OLAP vs row oriented for OLTP

  • @sanketh768
    @sanketh768 Před 4 měsíci

    so it means writes are slower in columnar DB's compared to row oriented DB'S ?

  • @saiprasad84
    @saiprasad84 Před rokem

    Great video. I have 2 questions. 1) What will happen if we usually fetch 2 columns at the same time? Like the time and number of requests in your example? 2) Which database has better performance with DML operations like update and delete? You talked about inserts - can you please talk about updates/deletes also please?

  • @nitinwadhawan6460
    @nitinwadhawan6460 Před 4 lety

    Hi, Great videos! Please also let us know the source of your knowledge? any books you recommend if someone wants to deep dive into the concepts.

  • @nitinkulkarni7942
    @nitinkulkarni7942 Před 4 lety +7

    In your example, how is the following requirement met, all the response times between 10 am and 10:30am...I understand all the times are stored together in a series of one or more blocks and all the response times are stored together, the same way. So how are the time range matched with the response time range and returned back? In other words, since the time blocks are stored separately and response times are stored separately, who does the job of saying 10 and 10:30 am matches to 200, 300 and 350 ms of response times?

    • @obinnaubah9045
      @obinnaubah9045 Před 3 lety

      I was wondering the same thing.

    • @RiteshMalav
      @RiteshMalav Před 3 lety

      Actually along with the data you will always associate the ID, that way first you query all the time and know the ID's that you need to query after that you can query another column like response times or error count. Thing to remember (it stores ID as well along with the data).

    • @nitinkulkarni7942
      @nitinkulkarni7942 Před 3 lety

      @@RiteshMalav i dont thin that how it will work. What i found out later is that the first time in my query response will match the 1st response and so on......

    • @RajaKumar-sj3et
      @RajaKumar-sj3et Před 2 lety

      Almost all of the row vs column store explanations on the internet do not explain this point well, but they think they are doing a wonderful job of explaining the concepts to the audience but just fail to explain this simple point. LOL! I think what Ritesh Malav explained below makes sense that the ID is also stored together in the column store so that the individual data values are married together to make sense as meaningful piece of record instead of isolation.

    • @skc2020
      @skc2020 Před 2 lety

      @@RajaKumar-sj3et Completely agree with you & Ritesh. Logically each column should have ID attached to it. But that crops up other questions.
      1. How come column encoding works if ID is attached ?
      2. How RLE encoding distinguishes columns of different records ?
      3. In most of the columnar DB's (like Redshift, Vertica), we don't mention primary keys - Then how does the columns of a single row gets tied up ?
      I was waiting for these explanations in this (nth) video but no luck !!

  • @aravindmohandas
    @aravindmohandas Před 4 lety +7

    Thats a great video. One question- How does indexing work in column oriented ?

    • @sj0387
      @sj0387 Před 3 lety +1

      An index is nothing but a column or a group of columns in a database. In a Column oriented database, you don't need an index. That is the beauty.

  • @atulkumar-bb7vi
    @atulkumar-bb7vi Před rokem

    Thanks bro for very amazing explanation. but couple of questions. 1. How would this work in case of SSD devices? & When columns data updated, how it refer the updated values somewhere else for same column coz, it is very common to update the column data as well in analytics applications as new data keeps coming??

  • @gauravkhurana420
    @gauravkhurana420 Před 4 lety

    What if previous block is completely filed by one column and next block is completely filled by another column,then how we manage to put data of next row?

    • @TechDummiesNarendraL
      @TechDummiesNarendraL  Před 4 lety +1

      Memory allocation doesnt always happen contiguously, OS finds other locations and store it there and tracks it. For this you need to read memory management in operating systems

  • @anandperi7060
    @anandperi7060 Před rokem

    I'm under the impression the Data Load times for a Data Warehouse is critical ... if a table has 50 columns by your definition there is 50X extra IO... is this really the case and the load times are that much slower?

  • @gauravkhurana420
    @gauravkhurana420 Před 4 lety

    every database have the ability to store row wise and column wise both?OR Different database works differently?

    • @TechDummiesNarendraL
      @TechDummiesNarendraL  Před 4 lety

      It's different use cases and different databases.
      Row oriented: MySQL postgres
      Col oriented: Cassandra, mriadb, sap Hana, hbase

    • @gauravkhurana420
      @gauravkhurana420 Před 4 lety

      @@TechDummiesNarendraL Thanks Man,Appreciate your Hardwork...

  • @user-cz8nd5jy7m
    @user-cz8nd5jy7m Před 11 měsíci

    Do you have notes for this video?

  • @improbabilityphysics8404

    I guess when storing column based data, the ID column should be saved as well?

  • @TheCosmique11
    @TheCosmique11 Před 4 lety

    So are nosql databases always columnar DBs?

    • @TechDummiesNarendraL
      @TechDummiesNarendraL  Před 4 lety

      Yes, but there are other kinds like document, graph and keyvalue

    • @AdityaJha94
      @AdityaJha94 Před 4 lety +1

      Row oriented: MongoDB,Redis,Aerospike ColumnOriented:Cassandra,Influx,HBase

  • @IC-kf4mz
    @IC-kf4mz Před 3 lety

    Is this Column Store?