Data Modeling - Walking Through How To Data Model As A Data Engineer - Dimensional Modeling 101

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ก.ค. 2024
  • Data modeling is key skill data engineers need to know.
    In particular dimensional modeling. Whether you eventually decide to go into one big table or you just need to go through and think about your data model.
    You'll likely put together a dimensional model.
    So here is a quick rundown of dimensional modeling with a walk through.
    If you enjoyed this video, check out some of my other top videos.
    Data Modeling Challenges - The Issues Data Engineers & Architects Face When Implementing Data Models
    • Data Modeling Challeng...
    What Is Change Data Capture - Understanding Data Engineering 101
    • What Is Change Data Ca...
    If you would like to learn more about data engineering, then check out Googles GCP certificate
    bit.ly/3NQVn7V
    If you'd like to read up on my updates about the data field, then you can sign up for our newsletter here.
    seattledataguy.substack.com/​​
    Or check out my blog
    www.theseattledataguy.com/
    And if you want to support the channel, then you can become a paid member of my newsletter
    seattledataguy.substack.com/s...
    Tags: Data engineering projects, Data engineer project ideas, data project sources, data analytics project sources, data project portfolio
    _____________________________________________________________
    Subscribe: / @seattledataguy
    _____________________________________________________________
    About me:
    I have spent my career focused on all forms of data. I have focused on developing algorithms to detect fraud, reduce patient readmission and redesign insurance provider policy to help reduce the overall cost of healthcare. I have also helped develop analytics for marketing and IT operations in order to optimize limited resources such as employees and budget. I privately consult on data science and engineering problems both solo as well as with a company called Acheron Analytics. I have experience both working hands-on with technical problems as well as helping leadership teams develop strategies to maximize their data.
    *I do participate in affiliate programs, if a link has an "*" by it, then I may receive a small portion of the proceeds at no extra cost to you.

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

  • @Milhouse77BS
    @Milhouse77BS 4 หลายเดือนก่อน +8

    Yay, dimensional modeling. Kimball and Adamson and Reeves and Ross.

  • @HoneyCombAI
    @HoneyCombAI 4 หลายเดือนก่อน +8

    I’ve been thinking about talking on the same subject (dimensional modeling), excited to take a look at this and seeing this knowledge propagated correctly. Nice work.

    • @SeattleDataGuy
      @SeattleDataGuy  4 หลายเดือนก่อน +1

      Thank you, I am doing my best to stay true to the sources and add in some real life experience

  • @SeattleDataGuy
    @SeattleDataGuy  4 หลายเดือนก่อน +2

    If you guys want to learn more about data engineering, then sign up for my newsletter here seattledataguy.substack.com/ or join the discord here discord.gg/2yRJq7Eg3k

  • @carstenklausman4832
    @carstenklausman4832 4 หลายเดือนก่อน +3

    Nice video that touch on the basics - but maybe some reflection on today’s capabilities e.g. compression/ column store, that were not around when he wrote the book, that could change some of the design patterns. But overall his principles are still valid today.

  • @jusaverage6347
    @jusaverage6347 3 หลายเดือนก่อน +1

    I’ve actually used “bridging” or “linking” tables in databases I’ve designed. I just have logic included that makes sure to grab the latest item when bridging/linking like an IS_Current or IS_Latest column.

  • @chrisclarke5
    @chrisclarke5 4 หลายเดือนก่อน +1

    Thanks very much for this great video!

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

      My pleasure!

    • @raphaeldayan
      @raphaeldayan 7 วันที่ผ่านมา

      great video thank you so much

  • @vikram--krishna
    @vikram--krishna 4 หลายเดือนก่อน

    Thanks for the video!
    I would love to learn about One big table model and its use cases and its pros, cons.
    Thanks

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

      size, redundancy, performance, compute time.. - few of the factors to be mindful of when dealing with big flat tables

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

    Great video. What other books you may suggest to read on this topic?

  • @ansonnn_
    @ansonnn_ 2 หลายเดือนก่อน +1

    Need that Slowly Changing Dimension video please!

    • @SeattleDataGuy
      @SeattleDataGuy  2 หลายเดือนก่อน +1

      Thanks for the reminder!

  • @firefoxmetzger9063
    @firefoxmetzger9063 4 หลายเดือนก่อน +1

    An example of where a bridge table is necessary (and I havend found a good way around it): UserID and DeviceID stitching in clickstream data.
    You want to follow user behavior across devices, but you will likely only discover the link between two devices much later. I.e. both devices will generate data in the big fact table, but only much later (often days) will you realize that this was actually the same user. You don't want to run "update" queries against a clickstream fact table for cost reasons, but you need some way to say that this data is all from the same user.

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

      can we have two dimensions instead of a bridge table - users and devices. Both of these are connected to the fact table in a 1:N relationship with user_id and device_id, as the FKs. So, from the users' slicer when you select a specific user - corresponding devices will appear in the table view and when you select a device from devices' slicer corresponding users will appear in the table view. Is my understand correct or is the requirement different?

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

      @@poojasikdar3583 whay happens if a visitor browses the site without being logged in (no userID available) and then logs in on the same device 1 week later?
      You have stored events with userID 'null' in your fact table (you didn't know the correct value at insertion time). Any slicing and joining on userID will now filter out these events, but they are crutial to track aquisitions.
      You can fix this by doing a self-join of the fact table to work out the missing userID at query time ... but the performance is dysmal and you are essentially building a dynamic bridge table.

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

    Thank you for this really great content! Which is the book you are referring to in your video? I like the structure much and am considering buying it. Thanks in advance!

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

    Bridge table looks like the Excel version of link workbooks... always ends in tears :)

  • @Aristocle
    @Aristocle 15 วันที่ผ่านมา

    Is there a service or scripting language that allows me to write relationships between tables/databases in a modern material design style?

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

    what's the difference of a bridge table on a star scheme? Is bridging like 2 databases that have no relevance with one another like for example a PK(customer ID) on one table and just a reference transaction number PK on the other?
    The question is what makes bridging different from a star scheme/snowflake scheme?

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

    Good info. One related question that I cannot seem to get a straight answer to online - how do interviews work in terms of laying out your data model? I understand the interviewee talks through their thought process and that's the main point, but is it on pen and paper? A whiteboard? A lucid diagram? How do you actually display your tables and do they give you a prompt right then and there or ahead of time?

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

      it depends - they would give you a problem statement and would ask you to design a data model around it- that can be on paper and you just have to walk them through your thought process or they would ask you to share your system and structure it on a notepad or that could be over a shared file.

    • @shilashm5691
      @shilashm5691 3 หลายเดือนก่อน +1

      ​@@poojasikdar3583i have hard time in understanding data model vs database model, can you explain it?

  • @AngryWolf-sq5wx
    @AngryWolf-sq5wx หลายเดือนก่อน

    Learn a lot from your content! But putting yellow bold text in the beginning really strains the eyes...

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

    Great content! Please what is the name of the book that was shown in the video?

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

      Yay even I need the name there are multiple books by Kimball

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

    can you make videos on these 2 topics
    1. Day in the life of a Data Engineer (where you'll actually show your routine by also going in your company and stuff like that)
    2. Your programming setup

  • @babuganesh2000
    @babuganesh2000 4 หลายเดือนก่อน +1

    Can you make a video about Databricks for Students who are interested to learn on how much it would cost for learning it using pay as you go and what all the techniques we can use to reduce the cost. There are many videos in youtube unless we do hands on nothing goes into head

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

    Do you recommend any books on data modelling for relational databases?

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

      (Besides the text mentioned in the video)

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

    Sql is the most important 👀