After nearly 14 years, and still the best explanation, so absurd
@chrislzm6 жыл бұрын
Thanks. For some reason all the other explanations I found on Google are so complicated. Was just trying to get a basic understanding, and this was great!
@pablocorrera53605 ай бұрын
Best explanation on the internet. Thank you
@Intricity10114 жыл бұрын
This video updates a mistake that had been nagging me for weeks. ghettoghurle pointed out the mistake, and it pushed me to replace the old video with this one. Thanks ghettoghurle!
@ThroughMyLenz98727 ай бұрын
Thanks a mil! This is the best explanation on columnar databases ever. On point and very easy to grasp thanks to the use of an example illustration.
@codefreak38365 жыл бұрын
Man you really did simplify it. Thanks a bunch. Great Job on the video!
@nirshadnijam22913 ай бұрын
A 13 year old video did a brilliant job in explaining this concept! Kudos.
@Intricity10110 жыл бұрын
Certainly this can be done through indexing. Any really good DBA can synthesize this, but columnar DB vendors focus on providing much of the columnar optimization out of the box. The purpose of the video is to try and simplify the concept to business people so they aren't confused about why their traditional row based queries aren't performing. A lot of the Columnar DB vendors make it appear that traditional databases are unfit for service when the reality is that it's a structural change.
@amanaggarwalgogo4 жыл бұрын
An index over the row-based DB still wont be as fast because, those indexes refer to the primary key and not the value of the field.
@super-ulitka6 ай бұрын
@@amanaggarwalgogo Not exactly true. There are index-only scans and covering indexes supported by all primary vendors.
@preuttipuawade9402 Жыл бұрын
This is the simplest explanation. Thank you.
@aidanclifford21644 жыл бұрын
This made me understand the concept so much better than reading
@jesusantonio17194 Жыл бұрын
Excellente! Simple and straigh to the point, thanks!
@user679jk78 ай бұрын
Thank you so much for the nice and clear explaination!
@pbastab4 жыл бұрын
Great video thank you! Nice and short
@Intricity10112 жыл бұрын
Was a mistake from a former video on the same topic. This video fixes that mistake, it was regarding the database type.
@Leonardo-jv1ls5 жыл бұрын
"Hi, i'm Sherlock Holme"...
@ilovebyungsoo11 жыл бұрын
It is a concise and easy to understanding presentation. I keep watching other videos uploaded. I love them.
@bilalshafqat1634 Жыл бұрын
Perfect explaination.
@mercantilism9544 жыл бұрын
So easy to understand. Thank you
@pradyumnaacharya1187 Жыл бұрын
amazing content
@9gager877 жыл бұрын
Best explanation I've seen.
@jayak37683 жыл бұрын
Also if another American league team is added it will have row id outside the sequence of 1 - 258. As 259 onwards start national teams. So in this case the query won't be as simple of 1 - 258. It will need to include team such as 569 row ID.
@Intricity1013 жыл бұрын
Here’s a white paper on it that can explain in a little more detail www.intricity.com/learningcenter/snowflake-is-a-semi-not-a-motorcycle
@jackaubrey754710 жыл бұрын
Any decent RDBMS can accomplish this if you normalize it to 6NF and then put it back together as a view. A query against the view would access only the underlying tables needed.
@commenttator212310 жыл бұрын
So how is this different than a relational database? select League, Team from MyTable where League = 'American' Especially if I have and index on League and a numeric value for the American league
@someguyO2W7 жыл бұрын
Comment Tator it's still an rdbms. The underlying storage system is what differs.
@apamwamba5 жыл бұрын
@@someguyO2W What differs are the internals... luckily most of us mere mortals will never need to know these details..which is kind of cool
@someguyO2W5 жыл бұрын
@@apamwamba very cool. If we had to know everything, we'd explode!
@matheusrodrigues-kf6pj3 жыл бұрын
best ad ever
@Intricity10110 жыл бұрын
The point of the video series is to simplify the concept not to do DBA training.
@lisamarissa82358 жыл бұрын
its a good video
@MrRrkarthick12 жыл бұрын
good introduction video.. could you also explain how the data is stored in the database ? how is the ID column associated with the "Team" column ?
@athuljc8 жыл бұрын
Thank you. This was really informative. :)
@myskullisred8 жыл бұрын
So, all data in the columns are sorted? Why couldn't there be 20 American league teams listed first, then 10 National league teams, then 5 more American league teams?
@PRABHATKUMAR-sc4qo5 жыл бұрын
Awesome explanation.. thank you
@shafighshahbazi92810 жыл бұрын
excellent visual comparison of these 2 technologies, what produkt did you use for your presentation purpose?
@elpulpeteerchannel6 жыл бұрын
Simple and well explained! Thank you.
@JK-ug7rm8 жыл бұрын
You stated the performance problem is reading every row and every column; the columns that aren't necessary too. I assume it is these unnecessary columns that are causing the performance. So why not the other solution of only selecting the column you require and not SELECT * Or does the query engine not actually work that way?
@surajmon1238 жыл бұрын
A row store stores the entire row as a single piece. So if there 10 records, it stores each record as a separate piece.Hence even if you give select a,b from emp, it has to scan all the columns in that record.Whereas columnar database stores data into columns.So the values of each column is stored separately. Hence if you give select a,c from emp, then it will select/read only column a and c even though there are 100's of other columns.That 's the reason why columnar databases are good for read intensive and aggregate queries/use cases. Hope this helps
@krantikasi54406 жыл бұрын
Thanks a ton.. this question is what I was searching for. great explanation..
@jayak37683 жыл бұрын
What if I want to retrieve team and player name. Each player has to be matched with its team. So u need to have to row id in each column for the linking to work.
@Intricity1013 жыл бұрын
When columnar databases run their queries, much of the query optimization is about what data is NOT being queried. Now recognize that in most cases queries are not ran for single records (like an OLTP use case). In most cases the pull of data is in mass quantities. The query optimizer is going to attempt at first to eliminate records where the desired results are not present. So if you parameterize your queries by players of certain teams, the query optimizer will first eliminate the teams you don't want to eliminate additional scanning. Then it will dive into scanning down the record set, and there are optimizations for that scanning as well based on how the data is partitioned. In the case where you were wanting a single record the performance will NOT be good. This is because the overhead isn't tuned for the use case. Here's a good whitepaper on the topic which highlights Snowflake, but dives into how it works a little more.
@makmerfijs11 жыл бұрын
What about setting an complex index on ID and League? performance will be the same
@gaatutube5 жыл бұрын
Nicely explained. Thanks.
@Rami_Zaki-k2b3 жыл бұрын
You need to put "FOR NON ENGINEERS" in the title. You have watered it down to the point that it is just good for chitchat. And honestly I knew what was coming when you used a baseball example in a DB tutorial.
@Intricity1013 жыл бұрын
The channel name is Intricity101… 101 is an intro course in college.
@Rami_Zaki-k2b3 жыл бұрын
@@Intricity101 My bad, just had a rough day 🌹
@AmalAloun10 жыл бұрын
nice presesntation, and easy for people to get what is columnar database.
@ThePr0Br05 жыл бұрын
Overused statement but 3 minutes of this beats hours of uni lecturers
@zszoubair45007 жыл бұрын
Thank you. This was really helpfull
@deamer449 жыл бұрын
Very good explanation.
@kumarc48533 жыл бұрын
thank you
@Intricity1013 жыл бұрын
Thanks! Give us a share on socials. We're hoping to raise awareness about our channel.
@fazlehadiazmat7g8039 күн бұрын
fucking amazingly explained simple to te point fast and guddddddddd
@DontTakeCrack4 жыл бұрын
i just started learning the term column family and i guess this is the same beast.
@EricRini10 жыл бұрын
Yes let's compare an unoptimized table scan to an ideal query scenario on a purpose optimized database. Adding a covering index for the query (and avoiding a table scan) would yield similar performance characteristics.
@jthillam11 жыл бұрын
The difference is that every column in a columnar store is optimized not just the ID and League. This way the users don't have to be DBA's to get performance in their queries. Tactically, you can avoid purchasing a columnar store by trying to preempt the requirements and build all the indices ahead of time, but then you'd need a crystal ball in your back pocket.