Cassandra Certification Preparation

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] [Music] [Music] [Music] [Music] [Music] i found someone hello everyone and welcome to our cassandra certification workshop for today we'll just start you off with some nice tunes sit back relax and we'll get going here in a minute [Music] love that guys [Music] so [Music] and hello everybody and welcome to our workshop today i am david jones gilardi joined by the which word should i use today david illustrious all knowing right which one wait joined by david chung hello david hi how about the other david oh the other day joined by the other david it just feels so you know just you know anyway hello everybody and welcome welcome welcome to our cassandra certification workshop today um so first thing uh for those of you who have joined us before you'll be very familiar with this if not um then uh this will be your first time into mentee oops i'm going there we go let me hit the key go over here here we go and join us in mentee so mentee is the tool that we use in our workshops to one communicate with you to get some information about you but also what we're going to do today for the certification workshop is we're going to present you with 20 practice questions and we're going to explain the whole format and everything we're going to do and with that we're going to use menti for you to answer those practice questions so what you do is either use your phone use your camera on your phone and snap that qr code or go to mendy.com and the code there is four six seven two zero zero nine oh thank you cedric for dropping that and everybody oh yeah jack and cedric you guys are all over in the chat i really appreciate that and we'll give everybody a moment to get in there so it's important that we get into the mentee um again you know because this is how we're going to ask you uh some of the questions that you get to answer hey igor is with us today hello i like oh i like the high david squared that's actually pretty awesome i'm liking that one all right let's see all right and don't forget when you get in give us a thumbs up give us a heart give us some love give us a batman a cat however you want to do it so we know that you are here with us hi there from india parish hello all right and i see we have we have around 50 of you in here today so we should have a lot more folks in the mentee again um let me go ahead and turn this on just in case you didn't see it either go to menti.com one four six seven two zero zero nine or just snap that qr code with your phone's camera hello there upscale tutorials and vivek and alexander you know i just i just totally had a flashback to romper room uh i don't know if that made it anywhere else in the world but if you grew up in the states in the 80s like i did then romper room was a thing and they would go through the all the names and say hello to everybody i just went in the wayback machine there don't mind me all right let's see how we're doing here okay cool all right so here's what we're going to do while everyone's kind of getting into minty um i'm going to start off by just asking you a couple questions we just want to know a little bit more about you and then we're going to go ahead and get right into the content now i'm hoping that if you're here today for this certification workshop you have some semblance of of what we're doing the the goal today though is what we intend to do is we want to bring you through and prepare you for the types of materials that you will need if you're going to attempt one of the cassandra certifications so we'll bring you through the whole process all the you know any site that you need resources whatever all of that and by the way all of the resources that we're going to provide today are free so all the training and everything is free and we'll get you all that and then we're going to go through a set of 20 practice questions that have been designed to they're not the same exact ones that you're going to find on the exam that be a little funny right but they have been designed to look and feel and and they're very you know they're very true they're actual real questions just not from the exam um and to give you a sampling right the whole idea is to give you a sampling of the types of things that you're going to experience in the exam to prepare you for what's to come okay so with that let's go ahead and get into it first thing and again take a look at your mentee and wherever you have it you should see a question here how much experience do you have with patrick cassandra oh one to three years you'll have no problem with your serve yeah um uh cran um in uh youtube is it helpful for administrator also yeah we will talk about both the developer certification and the administrator level certifications today um so if that answers your question uh then yes as far as like the material we're going to cover we will have some of the admin practice questions but the core content when you're really looking at the admin material is going to be in the academy courses and the resources we'll point you to yeah and the core content is some of the core content is the same for both exams it's the fundamentals of cassandra and it looks like we have a a group that sort of skews towards less than a year or even newcomers i'm so welcome it's awesome to have you guys yeah absolutely and if you've never used cassandra before don't worry about it we totally get that some of the practice questions might be like where'd that even come from or how am i supposed to know this everything that you need to take the exam will be in the resources and the courses that we're going to present to you again for free right so even if you're not clear of something that's okay by the way feel free to ask your questions whether that's in the discord chat or in the youtube um if you're not clear on something or if you're looking for clarification ask and we will attempt to get to it today all right thank you everyone for your answers next one have you been to any of our workshops before either from brazil alexander oh here momentum meteor code if you look at the top of the stream i'll go ahead and put it in there sheesh um you go to mentee.com and the code is 14. 67. we try to put those codes all over the place so if you step away for a moment or if you don't have your mentee up later on um if you look somewhere on the screen you probably will find it but again always feel free to ask okay all right so we have almost a kind of a not quite a 50 50 but close enough right it kind of even split um for those folks who've been to our workshops before hello welcome again and if you're new welcome welcome to our workshop series um you'll find that this is just one of many workshops we do so if this kind of content interests you if you're looking to learn more about uh cassandra and applications and stuff then definitely take a look at our youtube channel to kind of see the stuff that's upcoming all right next one how did you hear about this workshop okay eventbrite i see youtube oh okay i'm curious with the youtube folks if those were um if that was random or if those were folks who had subscribed to the channel okay cool a lot from eventbrite okay i always love the through friends that's for sure oh that's awesome i love it alexander he's drinking some stop beer while watching this you know it's kind of funny in in the um in the conference circle with with other uh folks who do these types of events we i've had many conversations with presenters and whether or not they drink during an event or not some like it some don't i tend not to um i drink after them though and the stout does sound very good all right thank you everybody and last one what motivates you to get certified friend referred greater friend thank you oh one yeah gorham i know i grew if we recognize your name we see you we appreciate your you coming back to our workshops it's awesome lots of better job opportunities and good to see cassandra is cool climbing on the list too yeah i'll tell you the better job opportunities piece um on that one in particular one of the things that we hear from our our clients and the people who use cassandra day in day out um is that they're they're moving to cassandra for good reasons because cassandra as the database is extremely capable it's it's really awesome what it can do but there's a shortage of cassandra experts there's a shortage of people who really know how to do things with it um that's one of the reasons why we do this workshop right because if you get that kind of certification that is something that very well may help get you in the door right at somewhere so definitely uh for those looking for better job opportunities i sure hope this helps right all right so with that let's go on and now at this point what we're going to do is i'm going to move back over to some of the slides we're going to talk about we're going to start to talk about the certification process what that looks like leave your mentee open because we're going to come back to this later and that's what we're going to use to do all of your practice questions and thank you for all the thumbs up okay with that first thing we want to do is drop you the link to where we're working out of let me go ahead and do that so this is a github repo [Music] there we go i tend to make sound effects as i drop links for some reason um so this is a github repo that i've just dropped the links to is the is where you can find like all of the information now i'm going to tell you about a site in a moment it's going to be the deus ex dot com slash dev um we'll have links for that as well and that's kind of like your one stop shop through daystax.com of where to get everything um we've just kind of collated all of it together here in this github repo so if you're ever like oh well you know he talked about this or david said this and i'm not sure where to find that now go to the repo right all of the stuff we're going to talk about is here in the repo in particular what i do want to point out is you'll see this practice questions here right if i go down there and i go to the practice questions all of the questions that we are going to go over today are all here so if for some reason you're not able to follow along in the mentee or you know we've definitely seen it this this you know the stream is going all over the world some people have lower bit rates and maybe it's a little hard to see a question or something you know in in wherever you are over youtube or twitch go here just go to the practice questions here i'll drop this to you as well uh phase if if you have seen this previous this workshop previously the certification workshop this is the same material we've been presenting for a time for the certification workshop if it's um if it's if you're comparing to other workshops i guess it depends on what workshops you've been to before but yeah if you've been to one of these then you're gonna see this will be the same material for the cert workshop this one here okay so i did drop the link that brings you directly to the practice questions again this is just for you to follow along uh if you need to but if not we're gonna we're gonna put those all up on the screen okay all right so there's that now legit basic agenda here right i'm going to go over and just cover very quickly which certification what resources there are currently two different certifications we're actually working on a third one david do you have any information on that new one coming up yeah we are working on apache operation apache cassandra operations in kubernetes okay so it's for um operation software reliability engineers and that's coming up uh in the next uh let's just say the next couple months yay cool so we're not covering that today today's gonna you know stick with the cassandra stuff but we do have more coming right and so rest assured that once we are ready with that uh particular material we'll probably have a workshop on it you know wait if uh if it that looks useful okay so like i said i'm just going to briefly go over the certifications the ones that are available today what resources you have for those then we're going to go over all the steps right what steps do you need to get your certification then we're going to get into the questions so where you see that ds201 the practice practice practice the next three sections will be all of the questions the practice questions and then we will finish up with a final set of resources okay so which certification should you get it's actually really simple there's currently two certifications either the administrative certification or the developer what it comes down to is this if you are somebody who is looking to administrate operate run a cassandra database the administrator's certification is probably for you if you are however somebody who uses a cassandra database maybe you're a developer that is interfacing with it or you're um you know an architect or you're you know looking at it for analysis or something like that but you're going to use the cassandra database you're not actually going to operate a cassandra database the developer certification is most likely for you now you can take both you could totally take both there's nothing stopping you from doing so but if you have to pick one once for running it one's for using it that's pretty much the difference so as far as resources you have a ton that site at the very top that datastax.com certifications that is the one i was alluding to earlier um that site as a matter of fact i should probably drop that too let's go ahead and just drop that let's go to datastax dev certifications did i spell that wrong i did there we go let me go ahead and drop this for you as well this is also in the github repo so just check or you know just understand you're not going to miss anything if you don't get a link it's all in that github repo that's why i give that to you um this certifications page though is kind of like a one-stop shop um it will give you all the information that you need in particular i will mention this a little bit later at the very bottom there is a rules section that you really want to take a look at i'm going to you know briefly go over that with you today you really want to know about the rules for the exam uh the giveaway repository you see there on the left we already dropped that one that's the repository we're working out of today and then on the right hand side there on the bottom you see academy.datastacks.com so i'm going to give you a little demo of that again every course that's in there it's all free that is free training that we provide for you but academy is really going to be the place that you go it's going to be the main resource that you go to learn what you need to pass your certification right so there'll be some courses that we're going to link to and once you've taken that material you should be in a good place for your exams then two other uh references or resources here one on the left-hand side that community.datastax.com uh so that's like stack overflow for cassandra so a lot of times if somebody say has a longer form question or maybe you have uh something we can't answer right out i may point you to community um there are all sorts of other people there not just us that answer questions there and then there are the rest of your cassandra users and such there you know we actually have people from um you know some of the very top cassandra companies that actually you know kind of check that out and they answer things so it's a really nice place to go to interact with the community and not only that if you post your question there other people get to see it right so it's a it's a better resource for everybody on the right-hand side there you'll see that cassandra workshop bitly that is for our discord channel so for those of you who are joining us new and maybe don't know this you know if you're on youtube with us that's fine and we're gonna we're watching the youtube chat we're gonna be trying to answer things there for you but just know that once the stream ends so does the youtube chat we're not gonna see things there anymore however we have a discord channel of like 9 000 strong uh right now of folks that are part of the cassandra community that have joined us on our fellowship of cassandra rings server um that's a place you can come and ask us questions anytime right and we have all sorts of experts and folks that that are on that channel so definitely i really encourage you to go take a look there and go to the discord not only that if you're ever troubleshooting something if you you have other questions you can post screenshots and all sorts of things you can't quite do that on youtube okay let's take a look at the steps for certification itself so i already mentioned this the first thing you want to do is go to datasacks.com certifications and just take a look at the page read the things on there you know be familiar with them it'll take a couple minutes but the key key thing i want to point out is the exam rules and process section it's really suggested you should read that before you take your exam that way you don't have any surprises right there are definite rules that you will need to follow and the exams are in fact proctored somebody will be with you live um the question by the way by the way always comes up um do i need to schedule it no you can literally take them 24 7 at any time you just go and you say okay i'm ready for my test press the button and a live proctor will come on with you they will do things like um you know they're gonna they're gonna have you check with potentially a mirror or a camera to look at your desk they're gonna be watching the whole time things like you can't get up from your desk or wherever you're taking the exam for the whole course of the exam right so simple things like go to the bathroom make sure you've eaten things like that you know you you want to cover because you know the proctors take the job very seriously um but again you want to check out that exam rules and process just make sure you've read all that that you understand what is expected of you that way when you go to take the test you're good to go then choose a learning path right we talked about the difference between the administrator and the the developer certifications you'll find when i show you academy and when you log in there you'll have both of these um so there'll be separate courses but then there will be these learning paths so if you're going to do the administrator cert take the admin learning path everything you need is going to be in that learning path the same thing with the developer certification everything you need will be in the developer learning path and i'm going to show you all of that here in a minute um if you haven't already signed up for data sex academy go do that it's all free you don't have to worry about any pay walls or anything like that but that is going to be the main place that you can get all the course materials to get the information you need for the exams okay um then once you have chosen a learning path you'll notice at the bottom of each of those you'll see admin is what we call ds201 and ds210 and the developer is ds201 and ds220 uh you'll see us so they share one of the courses the cassandra fundamentals but then they diverge and the admin gets into admin and operator specific content where the developer gets into modeling specific content once you have taken and completed a learning path you can then email academy at datastax.com to get a an exam voucher the key thing about this is that that exam voucher will give you two free tries at any of the exams those are 145 dollars a piece so you're getting those for free now what does this mean this means that you could either let's say you want to get the developer cert right and you go ahead and you you take one try you pass it okay that's one you get two tracks so now you could actually use the other one for the admin if you wanted to or if for some reason you go to take the exam and you don't pass well now you have another try for free so that is one voucher you'll get a voucher you get two free tries for the exams so make sure to complete a learning path and that is one way that you can get yourself a voucher um there are there's another way we'll drop that a little bit uh later but there's we have a couple different ways for you to get vouchers um but the whole the whole idea is to help enable you go and go get your certification right without having to worry about um you know the cost of the exam okay the the second way is this you can use this repo matter of fact i'll drop this real fast let me go ahead and grab it for you over here there we go oh my box got seriously sluggish there here let me i'm going to drop another link for all of you so this is another option that you can choose it is this one so by the way you're not limited to this one um workshop we have a ton of different workshops that you could do what i'm just about to drop there you go okay okay so that link that i just dropped um if you uh go ahead and create an aster database uh with um with this workshop and you copy the dbid there's actually a little copy widget in astra you can use the same email that you use to register to this event with eventbrite then you can matter of fact jack can you drop the form um that is another way for you to get a voucher we'll go ahead and drop that again as well so you can either finish a learning path or you can go create a database in astra and then just you paste in your id use the event or the email that you use for this event and you can just submit that as well that is another way to get a voucher and then finally take your exam right that's it at that point once you've gone through you've you've trained up you're you feel comfortable with the material go take your exam and then totally let us know when you pass okay so with that let me how are we doing on questions david anything we need to answer no we're i think we're i think we're doing pretty well one of the questions has come up a couple times though okay is about wrong answers the question only the exam only scores correct answers we don't deduct for wrong answers we simply count the number of correct answers so um i hate to say it but that means you can guess let's see um and i do see another question if you've already received a voucher from a previous workshop are you allowed to get another one for completing a learning path or another workshop let me let me get jack on that one and jack will be able to give you a nice definitive answer on that one okay okay so with that here's what i want to do um matter of fact i will drop you the academy link again all the links that i'm gonna drop are in that github repo so if you miss a link no worries there you go but what i'm gonna do is i'm just i'm going to academy i just want you to see what this looks like um so obviously i already have account so i'm i'm logged in at this point once i'm logged in i'm going to see something that looks similar to this you'll notice at the very bottom there are catalog of courses there's all sorts of courses in here there's more than what we're just referencing today but you notice both the admin learning path and the developer learning path so as i mentioned before pick one right pick whatever one you're going to do click on it and it's going to show you all the materials that you need for a particular course now each one of these is an individual course if i say click on ds201 you'll see there's all sorts of stuff that's in here right um here's the real key thing that i want you to take away from this in all these courses they're going to be a set of videos and along with those videos you're going to see these quizzes right so it's very important that you feel comfortable passing these quizzes if you're comfortable with the material you've seen in the videos and you can successfully and comfortably pass all of the quizzes you're pretty much good to go right you should be good to go for the exam now something else i want to point out on the right hand side you'll notice these resources if you want to if you really want to get your hands dirty and if you really want to lock in the knowledge then i really you know kind of suggest to take a look at the um the exercises that you can do so what this actually does is this will you download a vm you can load a vm locally um and then with that there's all sorts of lab work and stuff so there's one thing about learning say the theory about how replication works that's a whole nother thing about then you know like removing a node and doing things to your cluster while that's happening to kind of really understand what's going on but you don't have to do those exercises to get the information you need to pass your exam you could just focus on the content the core content itself and you'd be just fine then once you are done with a particular course then this will light up right you're going to see that you'll be completed with it and if you complete all of the courses that are in a particular path that is when you can go and email academy dnsx.com with that information use the same email right use that same email that you registered with and say hey i've passed my path can i get my voucher and they'll go ahead and send you a voucher now once you've done that once you're in place you're you've got your voucher you've finished your course materials you feel like you're good to go notice that there is another certification course so you just click on the certification course and you'll be presented with some resources here now the test taking system is called metal right that's why there's a separate sign up here i'm going to show that to you here in a moment again it's free as well you just sign up for it and it should just take a moment and that will bring you to the exam rules and a widget that you need to install to test your computer so let's check this out um the first one is let's go ahead and look at the exam rules so we're not going to i'm not going to read them all or anything you can read these on your own but i just want to give you a feel some of the things like hey have a small mirror right so the proctor can expect your laptop's a physical screen you can't be talking to other people you can't have a second monitor all sorts of things there's also a little widget right here if you say check your computer for compatibility there's a little widget that when you go to take your test um you need to pass the checks in this widget right it is a is it a it's a chrome extension um you click this and it's going to test things like do you have two monitors up and such it's going to make sure that your system meets the requirements to take the test um and what's going to happen is when you actually go to take your test this is going to look like this you have that screen like this notice this little computer element this is the widget right so this is going to be the thing you click on it to kick that off and to make sure your pat your computer passes all of the checks um and then once um you are ready to go you say make payment now don't worry you're not gonna be charged 145 or something right you say make payment but guess what that coupon code that is the voucher you put in that coupon code and once you've done that you apply it then this will go away once your payment is taken care of and you've passed the checks another little button will you know light up and it'll say go ahead and take the test right um so you will have access uh to that and i should also mention that the sample tests the questions that we're doing today are also here right so if you want to go ahead and take those sample questions you can do that as well and then that's it at that point you're in taking the test um notice by the way it will tell you how much time you have for the test so um you will have a total of 90 minutes right there are 60 questions in each test you can take as much time for an individual question as you need just know that you have 90 minutes i want to say most people come in around 60 minutes to take the test so you have a little bucket room there now the format for today the way we're going to do the practice questions you're actually only going to have you know a minute and a half the reason being is we need to ensure that we actually get through the time that we have and stay on time and everything like that um and these are practice questions just to give you feel anyway right so you're going to have 90 seconds to go through each of the questions today but in the real exam you'll have as much time as you need and i'll admit and some of the questions 90 seconds is no problem you'll be able to answer them like that some of them take a little bit of thinking right i actually think some of the data modeling ones if you're not familiar with those it take a little moment to kind of understand everything that's going on if you're not able to answer it in time today it's no big deal again you can always do the sample test here or do them on your own again just note that when you're taking the real exam you're not gated on any individual question you just have 90 minutes for the total all right dave how are we doing on questions i think we're i think we're keeping up with them there's people asking about jeff's uh definitive guide book from o'reilly okay you know i did see um 70 is necessary for passing by the way yes 70 so there we go oh jack and i was referring to the form by the way the um uh the voucher form we can drop that at the end then okay excellent with that let's go ahead and move on because now we get into the fun yes sri um the practice tests are right here so they're both in the github repository that i dropped earlier so if you go to the practice questions all of the questions are here all of the practice questions we're going to go over also if you go over to the exam itself so by the way to get here all i did was once i log in uh from metal in the certification course and academy i'll be brought to this interface right here the apache cassandra sample test you see is the 20 questions it's the same questions we're doing today as well so we have a bunch of different ways that you can kind of retake these questions if you really want but again the key ones for your exam are going to be the questions that you find in the courses themselves right so you're going to find in each of the courses like here you'll find the quizzes this is really important you see these quizzes right in the courses those are the important ones to ensure that you can comfortably pass those to ensure that you have what you need for the certification okay all right so what we're going to do then is we're going to go back to mendy right so the format of this is i'm going to show you a question like this and then it's going to show up in mindy as a matter of fact i'll go ahead and we should go to there i haven't started the actual quiz yet so you can put your name in and what will happen is i will show something on screen and then i'll kick off the mentee you'll have 90 seconds and once we're done and everybody is answered we'll show the answers and then dave will explain it dave is going to go ahead and he's going to explain the answer and the why all right let's go ahead for this first one so i'm going to go ahead and start the quiz and just to be sure for that everyone knows in mentee you're only going to see the options for the answer you won't see the full form or long-form questions spelled out that's right that's right so you're going to look at the screen you're going to look at the stream for the actual question and then you just answer in minty so the first one here you want to consider the cql statements that you see the create table statement and these insert statements and then how many roles will the rollercoasters table have after executing all of the cql statements [Music] oh uh alexander if you take a look at the right hand side you'll see the code for mentee is there and i'll go ahead and put it back down for you [Music] [Music] help if i put us out of the way sorry we were covering the bottom one there my bad just noticed that all right let's take a look and the correct answer here was c right looks like the most of you got it right um there's some spread so let's take a look at the why yeah and just another note on on tools and resources when we put these questions together uh most of us who built questions used astra to test them out using uh gives a very simple way to get uh cassandra up and running and uh great way to learn if you're if you're new to to cassandra so let's take a look at this question uh in this we consider it says consider the cql statements and we're going to look at how many rows there are aft in the table after executing these statements the first thing i'm going to look at in almost every case is the primary key so when we look at this roller coasters table it's got name park and rating and the primary key is name so the primary key is is a single column so it's a very simple primary key and now i'm going to look at the inserts and i'm trying to figure out how many rows get actually get inserted so the first insert millennium force at cedar point the second one formula rasa at ferrari world the third one steel dragon 2000 at nagashima spa land those are all unique rows because they have unique primary keys millennium force formula rasa and steel dragon 2000 the fourth one does an insert and the the primary key is that name field its millennium force that name field was already inserted in the first insert and what happens when we do that in cassandra it's actually not going to be an error as it would be in a relational database but this is going to do an upsurge it will update the table so millennium the millennium force row will still say cedar point but now the value or rating will be seven so the result is that there are three rows in this table because one of those inserts resulted in an upser cool and by the way um please don't answer in the chats use the mentee for your answers [Music] all right so hopefully it gives you an idea of the feel and how we're gonna do this so let's go ahead and go to the next one we're on question number two for those who maybe are following in the github repo or something like that and let me go ahead and get that set to go okay so and this one we wanna again consider cql statements we see the create table and the insert statements and what is the result of executing all of the cql statements you see there on the left and again answering the mentee you know david it's too bad that licensing doesn't allow us to play these songs in the background foreign thank you okay and here come the results all right so the correct answer in this case was d and it looks like we had a set of folks who answered c so maybe david you can help them understand what was going on there yeah so let's take a look and this is this is really important because partitions are part of the magic that make that make cassandra work that allow cassandra to be high performance at scale so partitioning is important so if we look at this the question is what what is the result of executing these sql statements and really the question is how many partitions get created so once again we're going to look at that create table statement and look at the primary key the primary key is now made up of two columns and they're inside the inner parentheses so both of those columns artist and title together make up the partition key and that's crucial so let's look at the inserts the first insert the artisan title are the beatles and yesterday that's one partition the next one is the beatles and let it be that's a different partition because the two columns together make the partition key so they differ in the name of the song yesterday and let it be that's two partitions the third choice is abba and fernando well that's different than all both of those columns are different than the others so that's three partitions and the fourth one is frank sinatra and yesterday you may not know that frank sinatra covered yesterday along with just about every other artist yeah right i think he covered all the songs yeah it's what it's one of those everybody has a version of yesterday so uh frank the combination of frank sinatra and yesterday is another unique artist title pair so in those four inserts there are four unique artist title pairs therefore there are four partitions because the partition key was made up of both the artist and the title column that's right all right excellent thank you so much all right with that let's go ahead and move on yeah inner parentheses not fair yeah that is definitely something to keep an eye on right is that in this particular case we're saying you know that the first value of your primary key is always your partition key and when you put it in parens right uh like that where you see two columns this is now a composite partition key right so yeah definitely something to look out for okay so let's take a look at number three here so we want to consider the cql statements on the left and which of the following is valid query for the cars table and suhan just a point to make when you're actually taking the exam you want to look out for stuff like that you totally want to we're not trying to trick you we're not trying to be mean but you definitely want to look out for stuff like that and in these questions we're trying to show you all the different ways we ask questions so none of none of the forms of the question should be a surprise the content may be in the exam but the form should be familiar to you from these sample questions don't forget to answer in mentee not yeah not in the chat answering the mentee yeah ion makes a perfect point parentheses is part of the spec it's not a trick yet it just didn't look out for all right let's see how everyone did the correct answer in this case was c looks like the vast majority of you got that right wonderful let's take a look at why oh very cool as we said before cassandra is optimized for performance and speed and one of the things that does that up or the helps of that optimization is the way data is actually stored on disk and this plays into this question so in this question we have a sql statement and we're saying which query is possible for the table this gets created by this cql so if we look at this there are the first one a select from cars where make is forward we've specified make but not model and make and model together make up the partition key so we haven't narrowed our query down to a partition and the pattern we're going to use for queries in cassandra is queries should be limited to a single partition or a small number of partitions so by specifying only make we haven't nailed it down to a partition so i'm going to say that one is invalid right off the bat the next one select from cards where year is 1969 and color is red again we haven't addressed the partition key which is make and model so without specifying the partition key this query is not going to be allowed because it would require you to query essentially the the entire database every node would be very expensive if we allowed it so the last two could be the are the only ones that are plausible at least at a quick glance because they both specify the make and model which are in the inner parentheses and make up the partition key so let's take a look at the two uh the first one we specify ford and mustang in the year the second one ford and mustang and the color and the rule is that that you have to know is that the clustering columns year and color deal with order and if you constrain a clustering column in other words if you if you uh query and say clustering column equals something you have to constrain the first one starting from the left before you can constrain the second one so in that case d can't be correct because we've constrained or selected a value for color which is the second clustering column without first selecting a value for a year so the correct answer here is c because we've constrained just the year column and again this has to do with the way the data is stored on disk and allows cassandra queries to be super fast as long as we follow these rules awesome thank you david all right so one thing i want to point out if you take a look at your mentee you're going to see this leaderboard now don't really pay attention to um who's on top on the screen here really look at your phone now here's what we've done here is for the real exam you need 70 to pass the exam so we have 20 questions here 14 would be 70 of 20. so each question in mentee the way we've done it is worth a thousand points so if by the end is like a gut check today if you have at least 14 000 points you're pretty much you know you're on a pretty good track now even if you get them all right unless you have spent some time with cassandra and you're really familiar with it i still strongly suggest to take a look at the course materials make sure you can get through those quizzes but we're really just providing this as a gut check to give you an idea of kind of where you're at all right so let's move on to question four let me go ahead and start that one for everybody and uh again consider the cql statements you see here on the left notice that we are using a batch and what is a valid statement about this batch okay [Music] oh [Music] hmm [Music] [Music] um [Music] what [Music] [Music] okay looks like our answers are in and the correct answer here was in fact c looks like the vast majority of you got that wonderful and let's move on to david to find out why all right very good yeah it's great to see that the majority got this right so if you take a look at this by the way if you come from a relational database background this example should look strange to you because we have two tables employees and employees by department if you'll notice they have exactly the same fields in them you know that would be a huge no-no in relational world but here in cassandra this is normal or denormalized i guess that was a pun sort of really that was good but denormalized tables are in fact the norm here yeah we have two different tables the same data so we can run different queries on them and we're using a batch here and it's a common use case for a batch to update both of the tables at once so the same data gets put in both of these denormalized tables so i have two inserts one and two employees and one to imple into employees by department and the question is uh broken down is it a single partition or multi-partition batch and can it be applied or can it not be applied right so first off it is a multi-partition batch and that's an easy one because it's in two different tables right and each table has its own set of partitions so we rule out a and b because this is a multi-partition batch the core question now is can it be applied and really we have to look at both inserts and say is there anything that prevents either one from being applied because we have upserts having an existing primary key wouldn't prevent them from being applied and we we've specified the entire primary key one in the first table employees it's just the id and then the second one is the department in id and really those are the only requirements for the insert that the primary keys be be provided they are in both cases so this is a multi-partition batch two tables and it can be applied because each individual insert can be applied so c is the correct answer and most of you got that that correct there's something else to point out about batches especially for those of you coming from the relational world batches are not transactions and they are not to be used for bulk loading of data right now for some of you cassandra experts out there i did notice that we had a couple of folks that had more years under their belt um they may be aware of something called a single partition batch i mean to say it right there and and ways you can use those but generally speaking batches are not used for bulk loading of data they are used to keep multiple denormalized tables in sync and i know that we're not you know this isn't because standard fundamentals workshop so we're not going a lot you know into the depth there um but again cassandra one of its core tenants right is to be able to continue to perform and maintain performance at any scale and and so using denormalized tables is one way that you do that but sometimes you have cases where like in the example here you have multiple denormalized tables that you do in fact want to keep up in sync that's a good place for a batch but it's not for bulk loading of data all right so moving on to question number five so consider the table definition here with the primary key omitted right look at that you want to read those bullets definitely pay attention to those and what primary key does this table have uh okay our answers are in let's go ahead and take a look the correct answer here was b again i'm seeing a pretty strong showing most everyone got that right let's find out why okay excellent so in this in this particular example you have the create table statement but you don't have the primary key defined and we have some conditions for that primary key the three statements it is known that restaurants unique uniquely identified by a combination of name city and reviewer right away that tells me that name city and reviewer make up the primary key because the primary key just like in a relational database uniquely identifies a row it does much more but that part's the same restaurant reviews are retrieved by from the table by using a combination of name and city so that tells me that the pr the partition key is going to be made up of name and city uh a side note in theory the partition key could be made up of name with city as if as the first clustering column you could still retrieve by name and city but because that's confusing it's not given as an option so name and city together are the are the partition key and the table has multi-row partitions so what that tells me is that the partition key is the combination of name and city and that reviewer which is the third field that must be in the primary key because of the first statement reviewer is the clustering column which makes b the correct answer all right excellent thank you david so hopefully you're getting the format you're getting a feel for these questions right um you're gonna see that there's a different definite pattern here um these are and we've also labeled you'll notice that um at the top here you'll kind of see the exam that they go to the types of things you might expect them in um but anyway yeah this they're gonna start to change up here soon so it's not gonna all be exactly this particular style okay so with that let's get into question number six so again let's consider the table definition here and the select query you see here and which materialized view definition can be used to support the query [Music] [Music] okay and the answers are in let's see oh this one had a fun spread on it dave even though most people got this right i see answers across the board you know and this is one of those that once you get this right or once you've gotten it wrong once you learn why you'll never get it wrong again right so this one's going to lock you in for the actual real exam if you see a question like this yeah 19 correct answers and 18 wrong it was pretty pretty close but yeah the majority did get this one right so the question is about materialized views we have a table called teams and notice we're using a different syntax for the primary key we've defined it where we've defined the single field so what that tells me is from this teams table the only queries i can do are based on that primary key so query by name but the query i want to do is query where wins is four so i want to query by the number of wins so what i can do is create a materialized view essentially like creating another table and if you'll take a look there are the first one create materialized view if not exist teams by wins as and you the key here is that or the the thing you should look at is a primary key always the primary key the primary key in this one is has a partition key of name and a clustering column of wins well that's not going to allow a search where wins equals 4 because we always have to search by partition key the second one b the partition key in the materialized view is wins and the clustering column is name so you might think that one would be the right answer because with such a table or such a materialized view we could say find where wins is equal to four the trouble is partition keys or actually primary keys cannot be known no no part of a primary keybind can be null so as as david said the syntax thing is that we have to when we create the materialized view verify that the fields of the primary key are non-null so b would have been a pretty good choice for the answer but d is the actual answer because we must do the the null check because in the original table well the name can't be null because it's the primary uh primary key the wins can be null in the original table so we have to do a non-null check when we create a materialized view and d is the correct answer something i want to point out here as well is um you know we will uh you'll see some questions about materialized use and secondary indexes and that hasn't changed right however there is a new type of index that actually came out last year called sai storage attached index it is the evolution of both secondary indexes sassy and materialized views and such so as a matter of fact i was responding to a question there um from uh alexander that's right from alexander our comment about materialized views um i would just say that even though these are still valid types to use for certain cases if you are thinking about using a secondary index or a material as you look at sai first look at storage attach indexing first because it is the latest evolution of those things and it really improves upon some of the shortcomings and such with these others i just want to point that out okay so let's take a look at our leaderboard if my screen will move there it goes okay and again it says leaderboard just because it's the way that menti quizzes and we usually use these for fun quizzes um it's not about who's on top it's about the amount of points you have at any given time um so we've had a total of six questions so if you see six thousand right now you've got them all right and wonderful um so again just take a look at your phone there all right so moving on to question seven if my there we go and oops all right so let me start that question off we should see this here we go all right so consider the table definition and the cql query that you see here which secondary index can be used to support the query so [Music] okay all right let's take a look at the answers and the correct answer here was a and this is another one of those just like the materialized view one that if you get it wrong once you'll never get it wrong again let's take a look at why this is about syntax right it's yeah this this is one of those questions then there are some on on the exam it really requires memorization and familiarity with with the syntax so in this one once again we have a similar situation the last one where we have a table but we want to do a query that this table that would not support uh wouldn't support it because the cuisine field is not a clustering column or a partition key column of the table city is the partition key but cuisine is not a clustering column so a secondary index creates a like it says a secondary index into this table and we want to we're going to create that index we need to access the cuisine column you'll notice all four of the possible answers have cuisine in it we're doing a search a query by city and cuisine so you might think that b is the correct answer or even c but the fact is that a secondary index only supports creating an index on a single column so on that basis a is the only possible answer and that would allow us to perform this query on this table all right awesome david thank you all right and moving on to question eight the developer uh let's see for this is notice this is also something you might find uh for the developer and administrator exam which statement describes the where clause in a query uh so [Music] [Music] okay answers are in let's take a look and this one the correct answer here was a [Music] let's take a look at the y [Music] okay so in this one uh again it goes back to how you know some fundamentals about how cassandra works uh which statement describes the where clause in a query one thing to be careful of notice that the answers all contain the word must so for example b where clauses must reference all the fields of the clustering key they certainly can but it's not that they must c and d where clauses must reference all the fields of the primary key and d all the fields the partition key and clustering key which make up the primary key so c and d are essentially asking the same thing those aren't aren't correct answers because if you reference all the fields of the primary key you could only if that was the requirement you could only query for a single row so a we must reference all the fields the partition key because as we said we want to limit queries to a single partition or as david and i both said in the chat to accountably small number of partitions and by not specifying the clustering columns or clustering keys it would allow us to have multi-col or excuse me multi-row results so the only requirement from this list is that a where clause must reference all the fields of the partition key a all right awesome all right looking at number nine let me go ahead and start that one off so consider the cql statements you see on the left and which insert statement can be used to insert row in the people table do um wow okay it looks like our results are in and answer here was a yeah definitely a little bit of a spread let's take a look at this one this is another syntax one right again we're not trying to be tricky and and the cool thing about this is in preparing you is that now you'll never get these wrong again right yeah this is definitely about syntax what we're looking at here is a user-defined type or sometimes we'll call them a udt so we've created a type called name notice that uh the name type and the and the people table are created at the same level sort of and then and just as a side note uh user defined types belong like tables to key spaces so we have a user defined type called name and the people table that uses this user defined allows us to structure our data and the question is which insert can be used to insert a row into the people table this really comes down to knowing the syntax how do i reference a udt with within a table and the answer is we use this json syntax in a like as david said it's one of those you have to know or memorize and once you've gotten it right you'll remember it and won't have any troubles with it again so the correct answer was a here but i understand that you know we were all over the place in the answers because this is a syntax memorization question yeah yeah pretty much now one thing i'm going to actually pop a link here and then we'll go back to the leaderboard i'm having it so by the way for those who might be interested because i'm talking to a couple folks based off of some of the indexing questions about storage attach indexes i'm going to drop some links like this one and there you go to the chats um that actually brings you to our we have we have a workshop on storage attach indexes um so for those who are interested in that go take a look at it and what's cool by the way is um you can actually use astra i was gonna i was gonna tell you about astro at the very end you can use daystax astra totally for free a serverless database with you know the serverless cassandra database um managed uh managed database up in the cloud you can spin one up in a couple of minutes and you can use that workshop i just gave you all the instructions are in it uh to experiment with storage attach indexes and see what those feel like all for free right there's you don't have to worry about being charged anything or whatever what's neat is that um storage attach indexes are available already in data sex enterprise six eight and above and there is a cep out for open source apache cassandra so it will be added to the open source project as well um those are really if you're looking at materialized use or secondary indexes you really need to take a look at sai first okay um so with that our leaderboard right now we've had nine questions so if you're getting them all correctly grav i recognize you there um good and and again just to gut check on that all right let's go ahead and move over to question 10. let's get that started and there we go okay so let's read this one we're both gonna say the same thing yeah read this one carefully yes totally yeah you wanna you wanna read all of the stuff you see in the statements very carefully and then what is the result of executing these secure statements and one other note based on what you said about storage attached indexing david we should probably remind people that this this certification exam is based on apache cassandra 3.x good point and that's why you don't see dse specific stuff or stuff that hasn't made it into open source cassandra that's right like sai on on this exam that's right good point thank you so [Music] okay answers are in that one went fast wow let's see how it went all right so the correct answer was b now this one again i swear we're not trying to be tricky it's that but it it's just something that it's certain things to take note of um in how things work in cassandra and david will explain here in a moment yeah so the key to this question again we're always going to look at the partition key i'm sorry the primary key in its fields but the key to this question is that the nickname field is static and what that means is that the nickname will always have the same value for every row in a partition so static means the same in a partition if you were to use ss table dump and look at how the data is stored at least conceptually what you would see is that each partition would have exactly one space allocated for nickname that's important so we look at executing the statements the first one does an insert the partition key is dc11234 and if you look at all three uh the two inserts and the update they're all to the same partition key all right then the first one inserts david datastax.com it's a work email and the nickname is dave the second one inserts david gmail.com it's a personal email and the nickname is dave the third one is accessing the same partition because the partition key is dc1 um uh is one two two four and the email is david gmail.com so it's accessing the specific row and it's setting the description to school and the nickname to davey for that row but because it's it's modifying that static field the nickname field that nickname field gets changed for all the rows in that partition or for the whole partition so the correct answer here um the correct answer here is b and that because the nickname field got changed at the partition level so the nickname is davey for both static fields are static within a partition that that's the crucial info here and you do just have to read the questions closely and look for things like static that's right alrighty moving on to 11 you're gonna see the format has changed a little bit in this case right um now even though we're going to get into some of the pieces that um more like architecture and such again still hang on you know if you're like oh i'm just doing the developer exam because we haven't gotten the data modeling yet but we want to give you the flavor of all the different types of things you could experience okay so looking at question 11 consider these two data centers in the diagram uh and what is a valid statement about a read request made at a consistency of local quorum to coordinator node z in the paris dc okay so okay looks like the answers are in that one went pretty quick and what happened here it looks like the majority of you got that right the correct answer is b let's take a look at why all right so in this one we have two data centers uh each one has a replication factor of three and the tokyo data center has two failed nodes the paris data center is one failed node so it says what's a valid statement about a read made a consistency level of local quorum with the coordinator node z which is in the paris data center if you'll take a look at that the replication factor 3 and local quorum means that a quorum and i don't like the word quorum it's really a majority but a quorum of the replicas need to respond in order to successfully do do the query a quorum of three or a majority of three is two so with one node failed in that data center there are still two replicas in the in the best case there are three replicas if the replicas were x y and z all three would be active if one of the replicas was w that would leave two replicas but a requirement of local quorum is a majority of three which is two so in both so even in the worst case there are two active replicas that should be able to respond so this will succeed and because it's local quorum it's only looking for those replicas within the paris data center so this will not require data to come from the tokyo data center so you forget which the correct answer is but the correct answer is it does exceed completely in paris and that is b all right thank you david let's move on to question 12. here we go and go ahead and start it up for everybody all right so consider the cql traces now something to point out in the real test you may depending on your browser your settings you may need to scroll to see the entire trace so just keep an eye out for that if you do see a question like this look for a scroll bar just to make sure you don't have one and then at what elapsed time is the data persisted so or survive at unexpected node shutdown so uh okay our answers are in let's take a look yes this one the mess looks like most of you got this one um this one's actually kind of it gets into one of the i think one of the neat features of cassandra one of its what i call like a robustness feature um and if you're not familiar with cassandra you'll learn about this in the courses about commit log and what it does for you let's go ahead and talk about it excellent all right so yeah see the majority got this right that's awesome so if you look at the outputs uh the trace outputs we execute the query we parse the query we prepare the statement determine which replicas are going to be updated and then append to the commit log and then to the store in in the mem table the commit log the very purpose of the commit log is to store data so it survives shutdown survives shutdowns before it's written to the um the underlying ss tables so the correct answer here is is the commit law at the level of commit log and that is 2193 2193 microseconds i will tell you just a note about this question this question was actually written wrong in the sample exam because it used to say milliseconds and then someone pointed out something that i should have noticed right away that nothing in cassandra should take two thousand milliseconds oh that's right that is right we need to update this don't we dave yeah it is updated oh it used to say milliseconds it does say milliseconds on the screen oh oh you know what i bet you the practice questions on the on that on the metal exam these should be microseconds right yes okay we'll get those updated sorry it is up i i forgot to update it in your in the presentation i did update it on the on github i say i see because yeah nothing should take two thousand mike miller that's right or two two whole seconds that would yeah that's way that would be an extremely long time in cassandra speak yeah yeah because cassandra's optimized for performance at scale yeah we'll get that updated uh i think that the concept you can still get the answer right with what's going on here they're just going right from that standpoint okay okay awesome all right moving on to question 13 let's do it we're almost we're getting really close everybody okay so how is replication factor configured in sandra by the way in our sample questions this is the last question that is common to both the admin and developer exams the next sets of questions will be unique to one exam or the other mm-hmm [Music] [Music] okay answers are n and the correct answer is in fact b now for those of you who have never created a key space directly by yourselves um you might like how do i know that but the second you've ever created a key space once you would know this answer right and again once you if you if you got it wrong no big deal you'll never get it wrong again now yeah and the reason that is is when you create a key space you are required to specify a replication factor and strategy so you can't create a key space without it so as david said if you created key space once you will have a configured replication factor and that's the only place you can configure replication factor so it's configured at the key space level or per key space and by the way i should point out that in cassandra you know i know again this isn't a standard fundamentals course we don't talk about a lot of the details here but sandra is a distributed database what's really powerful about the replication factor is you literally set it when you create your key space just in a line that alone is responsible for how data is being replicated out you could be replicating out to a handful of nodes you could be replicating up to thousands of nodes and that one that one configuration point when you create your key space will dictate all of that automatic replication for you so it's really powerful and really easy to use actually um that's another piece i i do love this database it's fun database all right so let's take a look at our leaderboard real quick just to see again how you're doing and get a feel for things all right here we go that's right so we are coming up on question 14. so if you have 13 000 points so far you're doing really good now at this point um once once we get to here if you've got 100 then i think you'll have a good idea of how you're how you're kind of faring all right so now in this question this one's gonna be a little different um you'll see what are two options for internet encryption cassandra choose two now mentee does not allow us to choose two it just doesn't so pick pick either of the two and you'll be fine on the real exam though you have to if you see something like this that says choose two you must choose two right um so make sure that you do that uh correctly in the real quick or the real example okay answers are in let's go ahead and take a look all right so the two correct answers here were c and e and so again on the real exam you would have to have chosen both c and e all right so let's look at this question remember part a big part of these questions is to show you the form the way we ask questions so i want to major on that for just a second we will never ask you a question in one of our cert exams choose all correct because you might choose two and wonder hey is this third one correct and not know so if there's a question that requires multiple answers you will be told what are the two options and you'll be told again choose two so clearly you want to choose two um in this particular question we're talking about encryption between nodes so a isn't correct because that would be encryption you know client doesn't make sense of encryption between the clients and the node so that one doesn't make sense uh but you what you need to know is what the options are for encryption between nodes one option is all encrypt traffic between all nodes one is none and don't encrypt any any traffic between nodes another is dc which means encrypt traffic between nodes if they are in different data centers and the last one has to do with racks a rack is a subset of a data center and rack means inc in this case it means encrypt communications between nodes if they are in different racks so the only two choices uh here are rack and dc so c and e are the correct answers alrighty awesome moving on to question 15. all right so which configuration file is used to set garbage collection properties for cassandra and if you didn't know cassandra is based is run on java you [Music] remember don't give your answers in the chat use the mentee [Music] [Music] okay results are in let's take a look and the correct answer here was in fact b looks like that's why you got that one and yeah i was trying to give like a if you're familiar with java at all i kind of gave it away right yeah and then in this one this one's pretty much a um another memory question cassandra yaml is used for a lot of cassandra specific configuration but the java specific stuff since cassandra is a java application is segregated into jvm options it makes it a lot easier to manage so jvm.options is the correct answer here that's right okay all right so moving on to our friend question 16 this is actually one of my favorite questions i know that sounds funny um but it's this to me this kind of question understanding what's happening here really under like underscores uh understanding how cassandra works right um so let's go ahead and start this one so what you want to do is you want to consider the table definition that you see here and how a single row is stored in one mem table and two ss tables on a cassandra node here and then what are the current values for this row and please don't put your answers in the chat make sure you put them in the mentee if this were a real contest maybe we could put the wrong answers in the chat yeah yeah that'd be fun i feel like ammar was messing with me in that last one there no sergio is messing with you no there's that's the secret answer sergio you're the first one to ever find it good job fish all right and the answers were in let's see how we did here that you know it's hilarious that almost look like the same exact spread as question 15 as far as what right there yes the correct answer was in fact b let's see why yeah so as david said this comes down to something fundamental about cassandra the way data is stored the way update the way updates and inserts occur um if you broke it down even beyond that it's part of the reason that cassandra is so fast but what happens here is the question is you've got this table and we have a mem table and two ss tables remember ss tables are immutable it can't be modified so we we are looking for uh the current value for this row if you look at the mem table all through and the ss tables they all have the same id which is the primary key so that tells us that we're looking at the same row the row with the primary key of 11. and now we need the id value the test value and the score value well the id value is the same for all of them so that's a no-brainer it's 11. but the test value the mem table doesn't have a value for test the s versus table is math the second one is english and this is the key the key is in cassandra the latest update or latest write wins so we need to look at timestamps and the timestamp of the top ss table is one two zero blah blah blah and the bottom one one one eight blah blah blah one two zero would be the most recent time stamp so the value for the test is math then we look at the score the most recent time stamp they all have a score one one eight time stamp one two zero one three nine in the mem table so the most recent value is 75 so the correct answer is b id 11 test math score 75. now one thing i do want to point out about this because we do we're trying to show you not just the sort of question content-wise but form wise any time in the exam that you have to compare time stamps you will not have to compare the 12th digit of the timestamp these timestamps differ in the first three digits so we want it we don't want to make that be difficult you know depending on your eyesight and your ability to count digits you know i look at these it's sufficient for me to say 118 120 139 and i can figure out which one is the most recent time stamp right but this is fundamental to the way cassandra works b is the correct answer here i just want to know is blah blah blah repeating how many significant digits does it have yeah exactly all right so let's take a look at the leaderboard again the leaderboard isn't to compare each other it is just to get a gut check of where you're at and at this point we're at 16 questions so you kind of have a feel for where you are and let's move on to question 17. we'll go ahead and get that started off for you there it goes all right so what is a valid statement about a coordinator node handling a query at consistency level three um [Music] so [Music] [Music] [Music] all right and the results are in let's take a look all right the correct answer here was in fact d now you know i'll have to mention uh as dave goes to give the the why on this one i've definitely received comments and feedback like why would you ask a question about consistency level three like does anyone even use that or whatever and it's not really the point right the point is understanding what is actually happening underneath the hood with things like read requests and digest you know requests and such and what that means yeah so in in this question she said the correct answer here is d what happens is the coordinator node the consistency consistency level is is three so it's going to try to get um responses from three nodes it doesn't send a request to all replicas uh direct read it doesn't send direct read to three replicas what it does is it tries to get a direct read from one replica only why because this could be a large amount of data yes it has to get a it has to get confirmation from three replicas but it's not gonna ask all three for a massive data dump it's gonna ask one for what could potentially be a large amount of data what about the other two so it gets because it's required because the consistency level they had three it asks from the other two it get requests a digest or a checksum if you will and it so it gets back data from one replica and a digest from two others then it compares the three and if they agree it sends back the response if they don't agree it figures out which one has the most recent update and either gets the data from that node for that replica or maybe it has the data already for that replica it sends it back but the point is it's not getting the data from all three replicas the full data because it could be lengthy you know it could could take more time so that's right optimized for performance you'll find that's everything with cassandra cassandra is purpose built to be able to maintain its performance at scale and by performance right we're talking in the order for writes in microseconds or very very tight melees in the in milliseconds for reads and this is at any scale this is born out whether it's a handful of nodes or whether it's thousands and thousands of nodes which we see in plenty of huge implementations that are out there and things that you're probably using every day so if you're asking yourself questions about things like well am i should i use an index here or am i data modeling this table quickly or something like that always keep that in mind that cassandra is you want to default to being able to maintain that performance and you'll find that everything about cassandra really has that kind of like built into its core all right so moving on to question 18 we are almost at the end everybody let's do it okay so what is a valid statement about a right mate at a consistency level of local quorum against a key space with a replication factor of 3. so hmm so okay answers are in let's take a look and the correct answer here was in fact c i think honestly you know these two last these these kind of between what we're talking about replication factor and consistency level they kind of go hand in hand right they they relate to each other very strongly this is another key thing that you really want to understand about cassandra all right so let's take a look at this one sees the correct answer the coordinator node will always try to write to all replicas so based on the replication factor of three it's going to write or attempt to write to three nodes the fact that the consistency level is local quorum means that as soon as a local quorum which is of three the quorum is more than half two so as soon as two nodes respond the coordinator can send an ack back to the client indicating successful write doesn't have to wait for the third node but it is always going to try to write to all replicas so c is the correct answer here that's right now by the way going off a question that sergio had asked um which is a really great question so i'll just read it out if i have a consistent a consistency of local 1 in a replication factor of 3 the coordinator node will attempt to write to three nodes but it will wait for just one acknowledgement from the others is this correct yes he had that completely correct the replication factor says how many nodes am i going to write data to the consistency level and this goes into a question i saw from arvind in a second a second ago the consistency level is just at query time how many of those three nodes whatever my replication vector is up to am i going to wait for an acknowledgement before i say that i'm i'm good to go right i'm done um so there's a relationship between them but just understand that if your your consistency level is always based off of your replication factor but no matter what your consistency level is the replication factor determines how many nodes you will write to that's a key thing to understand and david just a note on that the question arvind asked was at which level would the consistency level be defined actually that varies you can define it as fine as individual queries you can also define it at the driver level if you're using a driver yes totally so it's so it can be defined pretty much anywhere yeah yeah that's a good point you can set it to query level you can set a default yes that's right you can set a default in the driver in your app you can just set a default and say hey i'm going to use local quorum across the board for everything but then at the query you can choose to just use that default or you can overwrite it anytime yeah you're right i missed that particular detail um all right so for the leaderboard all right we're almost there so at this point if you have all of them correct then you should be at 18 000. and moving on to the last two these are going to be a little bit different from what we've seen here looking at some data modeling questions so you want to consider the chabatko diagram that captures the physical data model for this investment portfolio data and what is the primary key clustering order of the table trades by asd oh there we go i was like how come it's not moving apparently i didn't hit the start button that's always useful there we go uh do uh uh okay answers are in let's take a look correct answer here was d now if you are somebody who has never seen a chewbacco diagram before do not fret again you will take a look at that in the actual course material and and kind of get familiar dave is going to help you here in a moment but it they're not that hard once you understand you know what what the various values and stuff are it they're pretty easy to read actually yeah so this tobacco diagram is about the is the physical data model so we've got data types and ordering and all of that defined so the question is what is the primary key and clustering order of the table trades by asd so if we look at that table in the chewbacco diagram the first field from the top is a count and it's got a k meaning it's a partition key field the second one symbol has a c it's a clustering column and trade id also a clustering column the arrows indicate the order because clustering columns have a sort order to them and order not only the sort order of the clustering column but the order of the columns is important as we'll see so if we look at the four possibilities a b c and d the primary key in all of them has a partition key of account so that matches the cheboko diagram a and b the clustering columns are trade symbol followed by excuse me trade id followed by symbol c and d the clustering columns are symbol followed by trade id if i look at the chevatco diagram symbol is the first clustering column and trade id is the second so that rules out a and b so i know that the answer has to be either c or d so next i look at the clustering order by and if i look at the chewbacca diagram symbol is ascending trade id is descending now you may recall that the default ordering for clustering columns is ascending so you might think on on that basis that c is the correct answer because it only specifies that trade id is descending and takes symbol to be the default but the rule here is similar to what we had in an earlier question on querying by clustering columns when you declare them if you constrain the order of a clustering column you have to start with the leftmost column so even though if if b were correct symbol would be ascending that's the default it's not allowed because b is the right most i'm sorry trade id is the right most clustering column so if you specify an order or constrain it you must specify an order for all the clustering columns to its left so d is the correct answer because a symbol is ascending which is the default but must be constrained because trade id is also constrained and it's constrained as opposite of the default so it's descending and boy that was wordy and complex i'm not sure i still understand it but d is the correct answer and maybe the written explanation is better than my spoken explanation oh that's that's funny i've definitely caught myself doing that maybe a couple times all right almost there in our last couple minutes we have the last question question 20 so again consider the application workflow diagram for an investment portfolio application and which access patterns are evaluated before an application can evaluate q 3.2 uh oh all right and the answers are in let's take a look oh wow this one is all over the place but that's okay that's okay that's why we're here right so let's go ahead and take a look at the correct answer this one again is another one of those that once you kind of understand the flow you'll probably never get this wrong again yeah so if you take a look at this this is a tobacco diagram the application workflow diagram and the entry point into this workflow is q1 q1 is the prerequisite for q2 and q3 um or q1 is the prerequisite for q2 and q1 is the prerequisite for q3 q2 is not a prerequisite for q3 so that part's important to understand the next part is if you look at the data access patterns listed below q3 isn't really just one pattern it's multiple it's made up of q3.1 or q3.2 or q3.3 and so on up to q3.5 so the question is what is what patterns must be evaluated before evaluating 3.2 3 is sort of like a virtual or abstract pattern made up of 3.1 3.2 etc therefore the only prerequisite for 3.2 is q1 and that's why a is the correct answer all right awesome so you all got through all the questions great job and uh really at the end the whole point of showing you this leaderboard that endpoint is this right like i said earlier that for the actual exam 70 is passing right so in this case for 20 questions and 14. so if you got 14 000 points um you would have passed right again it's just a gut check that's really what that is meant for um nothing else from that standpoint really and to go ahead and finish off let's pop back over real quick into your mentee and just what what can we improve what can we improve for our future workshops um we kind of you know we take the information that all of you give us and we use that to come up with better ways we can do things um if anyone who's actually been to this particular workshop before you may have noticed a slight difference in the amount of time you had to answer questions you know we're always trying to make sure we stay on time all that kind of deals so be frank oh more kubernetes there is a lot more coming on that as a matter of fact if you take a look at our data stacks developers youtube channel um you will see that just recently we actually had some workshops on kate sandra and such there's definitely more coming here and as david mentioned in the very beginning um we'll have a new certification coming out for kubernetes and stuff is is uh as well um so trino query engine i've never heard of that we'll have to take a look we'll have to take a look yeah yeah go ahead david on the catandra front we also have a new training course on on um catacota coming out it's not quite complete nice but along with the certification we'll see a training class on it so yes definitely more kids kubernetes and kate sandra all together and he works up in the administrator path you know not yet we don't have one that's focused yet on the administrator path it doesn't mean that there won't be um so i would say um you know just keep an eye on our channel and for the more questions piece definitely take a look at the uh academy courses that we told you about um in there they're all those quizzes there's gonna be questions for every one of the sections and those are going to be really relevant for uh for the exam itself let's see yeah and about the time and being represented the actual test these questions are very similar not exactly the same but very similar to what you'll see in the on the actual test yeah and to be clear you will not be timed per question on the actual test you have a total time of 90 minutes but the actual test shelf as much time as you need so you're not going to rush through some of them so much we have to do that to stay within our time when it's here of the format um and to the point it would have been better if we had a single platform for chat and video to you know honestly that's something we've discussed um what we've found though to reach as many of you as possible not everybody can actually use discord now everybody can get on it um so we find that we still leave the youtube chat open i'm with you though i would love to have a single platform but we're trying to be as open as possible all right so with that let's go ahead and just finish up with a very couple last resources here we go so some of these we've already talked about um again i just want to reiterate go to datastax.com dev there is more there than what is what we talked about for certifications there's actually david just alluded to this separate from our academy courses we actually have a ton of this material like similar to this material up in catacota if you're not familiar with catacota it's a it's a free cloud-based learning service from o'reilly and what happens is if you go to slash dev you follow the paths all of the exercises are actually embedded in there in the path that you take um so if you have say like a lower end laptop or like you know lower bandwidth or something or if you don't want to download a 3.2 gigabyte vm and try to do that use the catacotta scenarios they're really awesome and there's a ton more material out there again all free um as we mentioned community.datastacks.com uh that's like the stack overflow for cassandra for any of your cassandra questions um the github repo and stuff that we're we're talking about we're data sex devs we're on youtube we're on twitter you can find us on linkedin feel free to come and connect this doesn't need to be the end of our relationship right if you have questions or follow-ups or whatever come and connect with us we we totally want to hear from you and with that thank you everybody so much we really appreciate you coming with us today good luck on your exams right and if uh if you pass then make sure to tell us about it right hit us up on linkedin put your badges out there let everybody know and with that we will see you all later thank you david take care everyone and as always don't forget to click that subscribe button and ring that bell to get notifications for all of our future upcoming workshops imagine a being gifted with powers from the goddess of cassandra who grew those powers until she could multiply at will move with limitless speed and unmask hidden knowledge with those powers she was able to fully understand the connectedness of the world what she saw was a world in need of understanding from that day forward she sought to bestow her powers on all who came into contact with her empowering them to achieve wondrous feats
Info
Channel: DataStax Developers
Views: 985
Rating: 5 out of 5
Keywords:
Id: sS7Ize4dL0U
Channel Id: undefined
Length: 136min 0sec (8160 seconds)
Published: Tue Mar 09 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.