Build Microservices with Spring Data, Cassandra, and Stargate.io

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] i found someone new now [Music] on the same page [Music] me [Music] [Music] and welcome everyone hi cedric hello alex uh hello everybody happy to be here to talk about my favorite topic java and spring yeah if you see cedric on the screen with a high chance is going to be uh something related to java welcome everyone um so i'm cedric linvin and i'm leading the developer advocacy team at datastax uh but yeah we are quite a lot now in the developer advocacy team so alex would you introduce yourself in a few worlds of course so i'm alex voloshnev developer advocated data stacks i enjoy the most uh helping developers to be better in what they are doing in our case uh and for today that means we run educational workshops from engineers to engineers no marketing just straight to a point no architecture exactly yeah straight to the point and you know what let's get rolling a little bit of housekeeping before we jump in we are live on youtube we following your question on youtube as much as we can david see david is helping alex is helping everybody um we also are live on twitch but we are not really monitoring the the chats there it's more for a support or if the youtube fail for some reason for the question we are also on discord and maybe this code could be useful for you because as soon as the stream is ended uh no more help on youtube so i think the discord league is pretty handful and we will be there all week and every weeks uh to help you uh it's a big room now i think we have reached this week uh 16 000 people in the discord room all right it is an interactive session you know it's not like a boring webinar so we will we will ask you a question yes you live and we will play games together using a tool called mentee.com and we will explain you in a minute how it works we will do as well and zone okay you will work not only me fortunately all the code exercises and slides on github for you for free we will use a database that you can use that you can use for free because you you have a lot of credit available for your monthly without having you to pay and you don't even have to use id because we will use git pod which is you will see vs code in the cloud and nothing to install and with that uh hope you will enjoy the ride and what uh just yeah the level yeah this slide the level today is in between low and medium okay uh yeah you should have uh some basics with java uh but i will go back to what is spring what is cool and build a app with spring in front of you okay if you complete all the steps with me today and we will give you a few days a few weeks to complete that later you will get a badge so no certificate just to attend the session but this nice badge you can bring with on linkedin if you complete the homework read the super simple redo the step that i will do in front of you today and you know that's alex id and it's pretty successful i think we are probably reaching 2 000 badges this week as well right well people come again to our workshops because they know we aren't doing some empty things but really helping them in what they're doing so it works yeah so happy to see you all with us and you know what let's start uh by asking you a few questions so if this is the first time you join us please open a new tab or everybody you know open a new tab in your brother and go to mentee.com and enter the code 8203 524 and right now i will ask you a few questions very fast no competition just basic to know your level what you expect from today but at the end of the session we will come back and play a game investors get more points and the three winners will get some swag ship to you so uh those questions are warm up and there is no hurry but please if you want to enter the game and try to win the prizes from data stacks when you must answer not in the youtube chat how many people are doing sometimes which is quite sad but use menti.com it's completely anonymous you don't have to put your mobile phone email or credit card number just jump in put the code we gave you and answer our questions exactly so let's see how many we do have right now hmm okay okay we can do better we do have more than 200 people live with us right so let's wait uh two more minutes and we will go with those first round of question because we have a lot of cover today and as we say it's not a marketing webinar oh okay i see the love so i will move on uh again if you catch up it's not a big deal there is no contest here so a few questions to start so first question is how much experience do you have with spring and spring boots because it will be all about spring boot and spring data okay so that's pretty cool i see that uh a good yeah a good ratio already knows the tech and you know that's cool that's cool because i i can go faster on the explanation and more answering more question uh in the implementation and i've never heard about it that's uh one quarter still you will see the slide and will you will come back with the slide okay next question is have you ever used astra or stargate so those are the database that we will use today okay we have some people who know the concept which is great but if you never use it it's also completely fine because well that's why we are here with you today to help you to get that yes and you know if we ask you the question in two hours it will be completely different the the the red will be everywhere and maybe a few pink but before end of today you will have used it okay cool next question is which api are you developing with you can pick multiple um so rest graphql grpc websocket soap sorry for you uh the code for mnt is really on the screen at the top so 82 or 3524 uh okay a lot of rest api rest for sure um soap is still there yeah and much more than i expected i'm quite surprised at what grpc is so on such a low count no i mean it's it's it's it's get you know it's coming but it's indeed it's the the rate is is is uh is low you know it's kind of a niche use case it's really high performance uh fast uh fast serialization but it's pretty cool you know you should have a look uh today we will use cassandra of course and a little bit of restful api this is why we ask the question and last question i think for the beginning have you ever been to one hour workshop before because we are doing those interactive workshops twice a week every single week for a year already so if you never if you brought the youtube channel you will see dozens and dozens of video on a lot of topics a spring of course we have cover spring spring boots spring reactive spring data uh but you know many many more we have stuff on quarkus gpu machine learning python node you know as you as you can see in the beginning the advocate team is now big enough we can cover a wide range of topic so if you enjoyed the session today uh consider to subscribe because this is when you subscribe that we can come back every week okay i think that's it for the questions all right let's go to the topic okay uh slash okay so uh and i will start uh with the demo of the app that i expect you to run today because everybody would like to start with why so the demo and this is your mission for today i would like to you i would like you to use the product stargate so because the product is called stargate let's use the full theme of stargate so if you are a geek or nerd like me you may have heard about the the tv show and the movie star gate so we will use the theme so today your mission is to find the coordinates of the jaffa planet chulac in the galaxy milky way to save tilk from the wild apophis it's really the first season of the show and astra and the network of stargate will help you and so you can say okay stargate is the tool how can that help me let me show you so i will put that in big so if you see my screen hopefully now you see a kind of stargate in the stars and uh let's roll i will dial the two lakh coordinates have you seen the movies israeli the music is starting and here i compose the coordinates and here you go so this is a demo you will play today maybe you would have prefer hello world but hey this is what we have for you today okay so that's the the small demo and uh this demo we will need to start by creating the database because this is the one component that takes the most time to start and to initialize this is where we will start and we will create the table the data and set up everything to be able to start coding and only then we will do a bit of spring and i will explain you what is spring spring boots and how you can use everything to build that little small nice demo okay so step one set up astra okay not many okay so i copy paste the link in the chat right now this is where you will find all the instructions for today i will leave the instruction on the left part of my screen and on the right part well i will have the stuff we need to work on so blah blah blah blah table content step one create astradibi oh by the way this session uh would like to be as much interactive as possible i do not want to rush now it's time for you to work so when we are done with step one please give me a thumb up in the youtube chat i will know that you have complete step one and we can move to step two and so forth and so on and as you can see on the table of content we do have 12 steps so we have over 250 viewers alive at the moment so you setting thumbs up that's important that helps us to understand where are you right now so we can slow down or go a little bit faster so please do that yes so what do we start we start with a database any application works nothing without its data how much facebook would cost without all of its data just with some of the servers applications i would bet it will be much less than the current estimate okay so first the database name um you can use whatever you like uh it seems like i already have the database name workshop so i will pick another one uh maybe workshop without the s it really it's it's not a big deal and the key space it's recommended to use stargate because the application is set up to use stargate you can use something else but later when we will start the application you will need to change no big deal so a key space is the collection of type of table okay at the key space level you will define some role access rules credentials and the way the data is replicated so the best practice is to have one key space per application so um and today i call that stargate i could have that and whatever i like so next things to pick is the provider uh astra is available on any cloud no real difference for our demo you can pick whatever you like so uh we tend to say hey try to find something that is close to you just to reduce the latency but you know that's very very minor you can really pick whatever you like so i will put aws uh europe and frankfort because uh as you may have noticed with my accent i'm french okay you're a french so you choose frankfurt there is no there is no nothing in france so from fort is probably the closest to me yep gcp has a belgium point okay okay uh europe not like i am against frankfurt yeah indeed nice city yeah but you know french do not really like bench right okay okay oh no just kidding come on i cannot cannot be like that and then i create a database do not worry about these uh cost numbers that the stocks pay for you 25 dollars of credit each month and that represents something like 40 million queries so you are aware than cover when it comes to use and this is why the plan is called free but that really path to use and you know there is no way you can use all the credit uh monthly if you are not in production i guess so as you can see my uh app my new database is pending and i will uh wait for the database to be active and then i will start to work but already a sunblock okay i see a lot of thumb up if you already have an astra account and astra database you can simply create a new key space super easy yep database initialization may take a couple of minutes but that's completely fine we have many hundreds of databases being created right now so it may take time don't worry uh and there is a great question from sunil agarwal with astrodb which we are going to use now will it be called software as a service or platform as a service uh sunil a short answer is this kind of a software we normally call it db as a service so database as a service which is below which belongs to software as a service field so good question exactly um my database is now active so i will select this database and then move to step two a step to a is use the sql console subsequently cassandra query language and i expect many of the questions about cassandra specific things today if you don't know what is a cassandra and how it works internally that's completely fine uh cassandra is a heavy lifter used by companies like apple netflix instagram huawei and many others so if you don't have real production experience with it that's completely fine but to answer those questions we have a special dedicated workshop introduction to apache cassandra which will be very helpful if you want to be a better engineer and earn more money of course which i do suggest to visit okay what i've just did is describe the key space and use the key space target the one that we would use today now i can start creating tables without providing prefix so let me go here copy paste and here i created a new table called chevrons with the primary key composed of area and code and i expect some question very soon on that but as of now let's keep moving and add values in that table i can now select star from my table uh chevron and here we have we can also select count oh i'm lazy i will copy select count and boom here we do have 39 rows not bad that's expected uh we have two questions three questions i would like to answer do you think it's the right moment i i i was expecting those questions so please go yeah sure so um to start with the simplest one uh sohail uh vancouver asks if it's nosql or a relational database it's no simple database this one was easiest then adventurehouse asks why does the query look like sql that's a long story but in general cassandra query language cq was specifically designed to look like standard query language so it will be easier to learn just simple answer but it's different and don't make a mistake it's different and finally uh asadu zaman assat asks what's the purpose of astra here answer is very simple our application we are developing today needs to store data somewhere and that means we need to have a database management system to manage our database and we would make you we could make you uh to run to deploy a database on your own laptops mobile phones tablets or whatever you are using but we are not cruel enough so for today's solution we use database as a service what is it is in apache cassandra we run in the cloud so it's apache cassandra but deployed on aws or google cloud platform or microsoft azure and managed by data stacks database as a service this way you can persist your data without the need to deploy the database on your laptop or whatever you are using i hope i've answered that exactly we do have a session called introduction to nosql databases on the channel when where we cover what are the different flavors column oriented key value document oriented and graph and we explain multiple samples multiple db and what other use case each time so cassandra is a no sequel it's color oriented it looks like a table but it's different because it's distributed the table are distributed the values in the tables are distributed among multiple nodes you started astra cluster you don't know but under the hood there are three machines running for you yes that's a french x okay um because aria is the partition key i can query by area all the values related to a milky way are stored on the same node it's fast it's a single end to end call but if i try to do the same with name name it's not the partition key so i got an error hey you you did not provide me the partition key so to execute your query i need to query every single node in the cluster and that's slow is it really what you want to do by default no but if you want to say uh yes this is what i would do i know my query was slow you can unfold that by adding a low filtering in the end if you need a low filtering in your code in 99 of the case that probably goes your data model is wrong so you know be careful what you want to do is to have tables created based on exactly the query you would like to do okay so how do we do can i have a bit of thumb up in the chat to say that you can catch okay waiting probably everybody's already super ahead of me all right keep moving um so we just inserted 39's row altogether um let's imagine now you would like to insert millions of data the just sql console and insert it's not enough you would like to have a bulk loading system in nascar there is something called astra data loader that can load a csv and put that as a table so let's do that first things i will do is download the data set so right click on the big button download data set save link as destination.csv i will change the extension destination.csv so destinations will be my table name and it needs to be a csv with that file available locally i will look for the load click on the slideshow find my file and load okay the upload is successful i can go next you can see that the first rows of my file has been loaded here the table name is destination what the loader needs now is the primary key so pay attention here the partition key is the galaxy we would like to be able to retrieve all the planets in the same galaxy with the single query okay but the galaxy does not ensure the unicity of the record by itself you need something else and the something else will be here the name i don't want to put the name as a partition key so i really really need to select as a clustering column here so now i put the name and i'm good to go galaxy partition key name clustering and i will move on i will select workshop and my key space target and click next so dataloo bulk loading could take a lot of time so instead of having you waiting in front of the screen the operation will be done asynchronously so as of now my work is is uh in queue and as soon as the work is complete i will receive an email so what i'll do is i will open my inbox but not in front of you you know who knows who can send me an email right now so okay let's see nothing happening yet i will go on the sql console i will go back to this stargate space and i will select the values in the destinations table like that it's better as of now my table is empty but as soon as i will have my couple of emails stating that the data has been loaded i'm good to go waiting music i can turn it on no that's that's okay it's not that long and uh martin martin asked uh can i take this workshop next week the station is recorded will be available at the same link right after the the workshop um everything is free so you can take the workshop wherever you like uh you won't get the interactivity as uh you would have with the live station but still as is free everything is on github go for it yep next week we are going to have next workshop with the next topic by the way i forgot what's our topic for next week do you remember that's a good question you know i should have a look that astax.com workshops because even i i'm not sure i will check i will check so tomorrow how to build your tik tok clone uh okay and next week go back to how to build your first application javascript with javascript and node.js see it's not java so i'm not aware that makes sense very much okay so 11 rows have been abated as stated by gigan exactly 11 rows this is what is expected okay it's not a big file it's just to show you how to do it okay but still in that file you notice that you do have the chulac planet so let's try to find together a good select query to retrieve the coordinate of two like planet because this is exactly what we tried to do right so chevron one chevron two three okay from destination okay where so we need the partition key so galaxy is mandatory i will put you there galaxy equal milky way um meanwhile there is a question from shailesh singh are we going to create any indexes like lci and gci in dynamed ibm dynamodb and short answer is i believe no i'm not sure for this exact workshop but our general recommendation for cassandra is to prefer uh primary indexes over secondary indexes that means use denormalization and that means properly defined partitions and tables and for this we also have a special workshop because if you want to success with cassandra then you are going to need some knowledge about proper data modeling um that's true um but it's possible you can create a secondary index in a table to be able to query on just the name and it's uh the standard is really create custom index on table and provide the provide provide the column name and this is exactly what i'm trying to look create custom index uh sample because i'm lazy i will probably fail 30 times before uh make it correct so let's see and meanwhile adventure house asks what was the purpose of choosing the cloud platform aws azure edc uh answer is uh we don't want to run our own data centers so we manage apache cassandra over the infrastructure delivered by aws or gcp why so answer is very simple you need is no what you need is not only database usually you have some application if you have your application deployed in amazon web services then obviously it makes sense to keep your data in amazon web services and then have a direct link from your application to so your database so you won't be build it for cross cloud traffic for example and we have your data extremely fast in reliable way and the direct access with the direct link uh from your application servers to your database servers and if i still have a moment uh pravirgosh asks what's the purpose of a key space very simple it's like database in relational database management systems it's just a group of tables sharing some settings yes exactly uh okay select stuff from destination where name equal oh and now it's working because i create this secondary index that we just uh discussed uh so long ago um yeah it's it's it can be it can be useful and fast as long as the cardinality is not that high meaning there is not a lot of planet named chulac in this table yep and rahul depp chaka labarti asks can i install cassandra on premises yes absolutely moreover you can have your cassandra cluster deployed simultaneously on aws gcpe azure whatever any another cloud and on premises and still work as a single cluster that's one of the best benefits you are vendor agnostic you don't depend on only aws or only gcp like you would depend with uh google bigtable for example yes so and select see here is there any performance you see with secondary index yes yes it will be slower than having a secondary table so you should try if it's fast enough for you i mean this is the best benchmark i kind of for you based on your use case create the index and measure how much slower it is and you know if it's too slow to you create the new table with the exact key you need okay right and just to prevent some questions from coming uh take a look cassandra was designed to handle petabytes of data over thousands of servers uh basically that means what uh there are some limitations if you want to be ready to handle data of these sites like for example cassandra is a primary database for apple and apple handles hundreds petabytes of data with cassandra obviously you need to think through the deployment which will require a lot of servers and data spread over multiple servers therefore indexes are very hard in this case as your data is spreaded or partitioned over multiple servers or we call them nodes exactly we have dedicated session exactly on that yeah mastering the data model on cassandra it's it's not the easiest but it's really rewarded you know be able to do some real-time queries on petabyte of data it's not any database could do okay um next we do have the tables we do have the data the only missing piece uh would be to create some credentials to connect to the database with uh java so to connect to cassandra you will know the user username password in the astra platform those are materialized as a token so let's create one together so to create a token i go to organizations settings token management and i will create a token let's say database administrator because we would like to have all the permissions okay i'm probably lazy based on exactly what you would like to do you will pick exactly the role you would like you can also create your own role with exactly the permission you would like for each database but here i'm using database administrator let's do it and here is my token okay so client id client secret and my token this token will be presented to you only once on this screen so that's better to save that token so generate token uh ttt just for me to know it's it's here um but i will still is i will let this um screen open so i will right click open in a new tab just to go back to the home page so remember to access the token page go to organization settings and tokens management you do have here in the description some walkthrough on the four a steps so each time we try to put little uh video animation on the instruction for you not to be lost and with that okay the database is ready uh the only missing part is the code of course so we will open a new the id by clicking on opening git pod so again what i like to do is right click open in a new tab and here i do have my git pod opening and during the time it will open i will wait for you a bit asking for thumb up in the youtube and when i feel we are ready i will simply go back for a couple of slides before jumping into the code and just to mention meanwhile gitpod is one of the best projects we are using for our online workshops i love it oh yeah it's great quick question from kartik i will let the work fall for the helpers uh but you know kartik with bifkassandra the data is replicated on multiple node and there is no master so that mean you can lose any of the node the database is still available and so of course when that happened the node goes down there are some administration procedure to go through one stronger than the other but in last resort you will simply reintroduce a fresh node to the cluster and it will uh catch up with the with the old one so that's really really in database think to be always on yep uh on a developer day in paris we introduced at once an amazing demon having cassandra in multiple multi-data center multi-cloud deployment and destroyed one of the data centers during it and what happened next uh well basically nothing application cassandra driver within the application using this data center simply gracefully switch it to next available data centers with users simply not even noticing that of course latency was a little bit higher but come on you have a wall data center down and application is still operational that's yeah data transfer may be costly but reputation costs much more yes uh how can i s get the sample data file upload locate the green big button download data set and you right click save file as save link as how the partition key related to node that's a very good question so um you know the the val a partition key can have multiple values those values will be ashed using an algorithm called memory 3 and you will get an integer and it's called a token and then cassandra will allocate a token range to each node so now if you come with the new data totally new data insert into my table values x y z we will hash the partition key let's say its value x we will hash x and get a number and every node is token aware every node is able to to to evaluate where are the data based on the tokens and this is how it sticks the token range are defined per table yes that is automatically partitions using the murmur 3 algorithm you can define your own partition ning by providing the partitioning class to cassandra but that's really some use case to the edge but yeah that's possible you can have the data from the egr of the asian data center for instance yes you can encrypt data at rest you can compress the data address with customer but that does not prevent you to uh connect to cassandra using ssl and even a strong certificate and what we will do today connecting to astra we will use a strong authentication using a 509 503 certificate okay keep moving uh yeah looking at the clock the database is set let's move on uh what is spring so i've used spring since 15 years uh at that time it was still called interface 21. i use spring 1.2 which is crazy so at the beginning spring was very useful to um to completely stop using the application server like the big web logic or web sphere it was fat ev application to run and multiple application will be hosted in the same picture server and you know when you share some resource you can go out of memory always the the settings would not be the same so with spring the nice thing it was okay um it's lighter and uh it can run on uh open source stuff like tomcat still the still the the king in the application server world i guess so that's the first big improvement the second was to introduce or reintroduce the inversion of control principle you define an interface but no implementation like here on screen greeting service i define say hello this is what i present to my clients and i i can have one or multiple implementations and the use the most use the most important use case is to create some mock uh you provide a service that will provide some on a response even if they are always the same and you know you can try implementing on top of this service even if the service has not been completely implemented yet so loose it introduced some loose coupling between the clients and the people providing the service which is true for client uh server has been also applied to the the layer architecture now in between layers you would also to introduce some loose coupling in between dr and service in between service and controllers this is what i i will show you in the code uh right after the slides but now spring is just huge just huge dozens and thousands of components covering a lot of text technologies and use case it's probably the most used framework in the java world right now and still the most used among all is probably a spring boot which is the runtime to create some microservice the one that we will use today we also have some session regarding reactive serverless cloud in this channel so you can have a look and search the keyword spring in the channel and if you like the content consider to subscribe okay so if you focus on spring boot spring boot is is really providing everything you need when you start to create a new micro service it's not only the runtime but also using something called starters you will add features technical features out of the box without you to create any any code so you don't have the starter to add monitoring you do have starter to add the security you have starter to add any third-party tool and this is i think what makes the most success of spring boot it's really just add what you need like a lego tools and it will work as you expect so in a spring boot you still have the multi-layered architecture persistent business and presentation layer and so for today the persistence layer will be done with spring data the business layer it will you know business layer is there to do some aggregation composition apply some business rules but here is really really simple just list the chevron in the database so we don't have business layer and for the presentation layer in the sample app you will have not only a rest api but also a web controller because this is a web application i'm hold i'm still using spring and java to do some web apps you know i did not jump really in the javascript react viewing view angular yet okay in spring boot two stacks the regular one synchronous and the new one the reactive i've implemented the pet clinic app in reactive so i have some notion on the webflux it's cool it's powerful it's pretty close from what we are used to do and now as soon as you introduce some reactive component in uh in the stack everybody would should should be reactive so wet flux need spring data reactive and would need everything to be reactive if you introduce some blocking code in your app sometimes spring won't even start and will say hey no there is some blocking code i'm not able to initialize your spring boot context so for today astra old cassandra here you do have a three note cluster in astra just to mention everything we are doing today with astra we do just to simplify the deployment and not make you deploying something on your laptop if you want you are completely fine to do this workshop with your own cassandra deployment so and i think i also i think i provided a docker compose at the roof of the repo just for that yes um so to connect to cassandra in java there is probably one way is to use the drivers if data stacks is famous for something is probably for providing all the drivers for cassandra open source and enterprise and spring data make no exception spring data is an abstraction layer on top of the drivers so spring data 3 use cassandra drivers version 4. yeah just for you to know and on top of that we do have the service layer so nothing much to say and the controller layer using spring web and spring web mvc i did not use spring data rest because personally i do not like to expose every single method on internet like find all find by id i would like to create my own controller and only expose what i would like to to be available and in my controller i will be there to do some validation uh and all the security checks that you would like uh so that's the driver i won't leave the i won't read this slide you do have the slide in the github repo so the driver is doing a lot for you alex just told you a few minutes about the usc that if in your cassandra cluster you do have multiple data centers if you lose one of those uh the drivers are clever enough to do the load balancing for you uh in silent mode that's something yeah well actually driver is much smarter than just that but if we would start to speak about the driver features it will take just a couple of hours uh only to show the driver features because well we'll be at data stacks and community of course as well put a great effort developing drivers for cassandra exactly we do have a course season the drivers and i think it's five days okay um blah blah blah yes so we do have the database ready to go all the credentials we have github git pod open so let's jump into git pod and the code and see what's happening there okay hands on from five to nine okay okay so git git pod open okay uh i create in the repo you do have a gitpod.tml file that we'll do a couple of steps before you to to to to do anything and uh here you can see i've do the maven clean packaging style to have everything ready to go before moving so the code is already there but if you start from scratch what you want to do is could is to go to start.spring.io define the gdk you would like the spring boot version you would like so let's say maven java latest spring boot gdk11 i keep the the the default group id artifact id artifact name description package name and here let's say oh so what we would like to do is to use spring data cassandra okay so this one uh we also would like to use a long box or lombok is a library to avoid you to do some boiling plate code getters and setters gone that guy will do it for you um spring web to have the rest and the webview to have a web ui you would like some time leave okay so spring book data start spring boot data cassandra starter spring boot web starter spring boot timely starter no security and you should you just download the zip and you have a working app uh that that you know just download the zip and start the app i've done that for you okay so now if you look at the code the first things you you need to understand if the the spring boot starter will use something called auto configuration they will scan your class pass and if they found some uh dedicated class they will start to create to create some bins so the spring data cassandra package will scan and look for the class sql session which is the cassandra connection if the class is there uh spring data cassandra will try to instantiate the this bin by looking at the single configuration file in a spring boot application which is application.yaml you can also use properties application.properties and because it's spring you will see here spring data cassandra you will have dedicated keys that are provided to you but hey we are working with astra and if you look at the poke at the pom sorry you can see that here you find all the starters that i just introduced you spring data cassandra spring uh time leaf web dev tool is there to restart each time you do a modification in your code lombok and astra springboot starter so i created a bunch of class to help you start a spring boot application with astra so not only you will have the connectivity to cassandra but everything that astra should provide to you and now instead of providing keys for spring data cassandra you're providing keys for the astra starter client id claim secret application if you provide the proper value here this astra starter will create the sql session and sprint data cassandra will reuse the sql session to build everything else it's pretty neat you know it's lego one embedded into the the other one so let's do step six i guess yes or six easily know your git pod so what you do is you do gp url 8080 that will give you the url where your application will run later as of now nothing working because the app is not starting but hey let's keep this tab open because we will come back there soon okay what else okay let's move to step seven set up the app so what i will need is to provide client id secret app token db region dbid and uh those steps are provided as a walkthrough in 7b but let me do that in front of you okay so client id remember i do have my client screen here copy client id paste client id okay this one is done client secret same done application token one two three done okay this is my credential next database version database id so this is the home page of astra what you want to do is click on the application we are running today and here you do have the cluster id which is your database id and the database region is on the same screen here region okay and if i have if i did my job properly i should be able now to run the unit test number one so if i go to the code open unit test number one i'm initializing the spring boot context i inject the secure session so here i would like to prove that just by providing this couple of keys the sql session is ready and then use this sql session to execute select staff from the table so if this uni if this uni stat is successful my app is set up and i can connect to my database pretty cool right not a lot of uh parameter to provide okay where is uh my instruction okay so let's copy that maven test command okay downloading internet hey look at that i do have the output so the test is successful if you look at the log initializing astra client this is the single object to know when you interact with astra you load environment variables build parameters and astra provide multiple apis devops to create databases uh cql so the one we just uh use now but also rest graphql and documentary indeed like you would like to use uh mongodb we will show you this api in the end but as of today let's stick to this sql okay um what about step number what about use case um test number two so test number two now we would like to use spring data okay go back to the spring world uh we know that there is a beam called sql session and we know that if spring data recognize that bin it will start all its magic so what magic let's have a look the first things to do with string data is to create an object that will map your table we have two tables chevron and destination and if you look at the code you have two package chevron and destination so let's use chevron first both are the same in this code you created the object chevrons it's a pojo plain old java object you will use the first annotation add table to map the table name to the to the class okay done then for each attribute you will map the column name and the cassandra type but both are optional here the attribute the field is a string and the finn name is name just with that spring data is clever enough to map this attribute to the proper column in the table if names match that's pretty cool but you can always override and this is why we put the overriding options here just as a demo now if you look at the primary key it's a composite primary key with partition key and clustering colon and instead of just using primary key we need another object called here chevron primary key so if i open here chevron primary key now it's annotate with primary key class and i detail what is my primary key so area is the partition key code is the clustering column and um my recommendation here is please go in that direction start with the data model and only then click some object and not the other way if you create the object first yeah spring data would be able to create the table for you but then if you need the same data for another query cassandra way of doing things create a new table and if you think with the spring data mindset you will try to reuse the same object for the new query and this is not what you should do here's the next question maybe oh well there is a bunch of questions uh for example i was answering but maybe we can call it live sunil agarwal asks in the unit test code did you actually connect to a db i think in unit tests we use mock data isn't it that's totally correct anil let's call it an integration test yeah so in short you are perfectly right in both cases yes it does connect to a db just for the simplification and no it's not the best practice in short yes for a unit test you obviously need to use mocks right uh yes so let's yeah let's you know yeah i think next time i will rename the class and say integration test sure guilty as blamed uh no but you know that's a good question now if you want to do unit tests with cassandra um you know like there is no database and you still want to to do some some some some unit tests castle high unit is a framework you can use and now if you want to do some integration tests not using astra you can look at testcontainers.org or docker 4g unit 5 i could also make you start a container for your unit test but it's pretty slow and why not using asthma to be honest no it's it's free so you know it's and you can come back and see what happened in your db uh without killing the the container to be honest this container for test absolutely testcontainers.org have a look not only for cassandra for any database uh what use case shoot for cassandra not really these these uh this session we have multiple session on how to uh you know intro to cassandra the good use case uh this session is really to build uh micro service on top of it but i'm sure uh you know alex and david will give you some links with exactly a session exactly on what is a good use case yeah so uh sherish asks for these use cases for cassandra and i do recommend to take our introduction to apache cassandra workshop that's all about how it works when it works at the best and what are the use cases and it's a two hours workshop but it does worth your time to be better in what you are doing to try to get better jobs in the bigger companies and so on and so forth yeah so really the okay so i got the question twice so i i must i must give two minutes to answer it so what are the the good use case for cassandra so cassandra is distributed scale scale out if you need more capacity you add new node if you need no more throughput you add new node that's the first uh attribute the god is the data is replicated and there is no master node making that you can lose any of the node is not a big deal so the use case are anything that when you deal with a super high capacity super high volume and you still want to execute some real time queries use case is you have some distributed data like apple uber netflix you have some data center distributed across the world you do an edit somewhere in the world cassandra will replicate that for you and when i told you multiple data center in the world that could also be multiple data center in clouds you can have one dc in amazon one dc in azure and it's the same cassandra cluster and now you have a single data layer across multi-cloud and that's customer that copy the data for you so that's second range of use case cassandra is well known for super fast rights so anything that iot related even streaming analytics work with customer second and last because there is no master and data is replicated it's very unlikely that you will use data you know what we called fto and you know how much time you lose if you lose a note that does not exist in kasundra cassandra is always on and you if you feel that you will likely lose way more notes then you will simply increase the replication factor in kasana so really customer is really designed not to lose any data and so that's for critical business when you cannot afford to be offline all right and um indeed uh pandharikar is absolutely right cassandra is a good feed for time series data but of course not only the time series data but personally i would mentioned or to say so highlight because cedric mentioned that but i want to make it more visible with other databases for example like mongodb you can scale a lot in the read so your amount of reads to your application grows and grows and grows and you can run more secondary servers read-only replicas and you will be able to scale up on reading but if you are having more and more and more rights then it may be a serious problem like a very big problem because doesn't scale for right so good and quite opposite cassandra scales perfectly for both rights and both reads today you have one gigabyte of data and 1000 operations per second it's not a big deal tomorrow you have hundreds petabytes and million separations per second it's again not a big deal as long as you put enough servers into your cassandra cluster that's what other databases cannot compete for for real yes david sharing some good use case also we gave some but a lot a lot of documentation on the datasets websites yep and people keep asking questions what are really out of scope for this workshop so once again i invite you to our introduction to apache cassandra workshop yes exactly we should do it once again i guess you know yeah question we should schedule one of it uh you know beginning of next month well it's a great topic it's my favorite topic i know it's the data modeling i know i know i know it's coming uh okay so back to spring data casana or spring data and especially spring data cassandra first you create the object mapping the table then you create something called a repository extending cassandra repository with two parameters two generics one is the bin and the second is the key the the primary key and with that spring data will provide for you all the create read update delete method so find by id find all delete all delete by id save update it's there and if you need some new function that's not there by design you can create new method and um just with the method name spring data will analyze and we say oh find buy okay so this is a select key okay so key area you are looking for the attribute area in the primary key and just by defining this method this is the query that will be executed under the hood and you did not code a single line i mean just a line this one and now at the controller level you can totally invoke that and it will be it will work pretty cool okay uh right so now the rest controller the last piece is an api working on top of the spring data and here if you go to slash ap servon we should be able to list the chevron in the database okay and i think without further ado because we explained the secret session spring data and the controller we should start the app right maybe run step 8b just to see if spring data is ape is happy okay let's see that's the number two initiating the context initiating this the cql oh maybe of course uh what i did blah blah blah test where it is shovel controller test fat finger okay now it will be happy auto auto save auto okay success and now for number three uh [Music] there is no reason i got an error and i will it can move to step number nine and start the app and you will start the app and you will have this nice spinning wheel now okay running the demo you know what i will make you long you know i won't go to the home page i will do slash api slash chevrons because this is the controller we just saw all together and see i can have the chevron in um select stuff from the table if i provide the milky way i will have the chevron of the milky way see so spring web does have the rest controller layer but also the web view and now i will ask time leaf to render a web view that is available in src main resource i can go there if you want and i will load values from the database in my controller here they are and i can redo the same quickly so i click chulac so now here is planet shulac in the url so planet 2 like destination coordinates have been dialed dial and here we go again and this time you go looks like we are going through space hey i love this demo yeah it's definitely not the hello world oh no indeed indeed it's not hello world but maybe you would like hello world who knows um okay so the app uh run uh i've shown you sql spring data and the full app running what do we have next uh yeah blah blah blah blah you know what i will wait for you just a few minutes just sum up because i would like you to strive to travel okay there is a question from tilak1233 i believe tilak here is a good guest so uh how to play mobile ah you already answered at oh man i was slow okay manish jane has issue constructor destination primary key in class com data stacks demo stargate destination yes the issue is really the the the primary key of the destination table when you did the astra data loader you probably provided name and galaxy as partition key both partition key and you really need to do galaxy as partition key and name as clustering column it's not a big deal you can go back do drop table destination on sql console to remove that table and redo step three to re-import the destination and you know you will be fine and after that yeah here we go so the app is running we have the full app uh with the cassandra drivers so what can we do next in astra there is not only a way to interact with cassandra using the drivers but also some apis and so on top of cassandra there is something called stargate it's an open source product available on stargate.io and the idea behind this is as a developer maybe you do not want to learn sql or any new kind of language dedicated to database you don't care about how the data is stored and you do not want to run the database locally if you're working with nice and funny database administrator if you know some give me the names you know that database administrator do not like to allow developers to execute all the queries they would like against the database it's dangerous it's hazardous um you do not like to open the range of port it's not safe uh you do not like to create a dedicated project and hire people just for new apis and each time you have a new database technology you have to maintain it so overall it's a mess and the best of that if when developers and dba just met before the the pre-production and all this seems to like each other but in reality we know what it means did you do did you do your test it's not working but it's working on my machine yeah all that you know right i believe stargate's idea was came from actually laziness and laziness it's actually a great value uh for a good engineer great great engineers are lazy enough to do everything in the right way so we don't have to fix it afterwards and from my point of view the story started when some people just okay for the next project we will need one database with some kind of a flexible document api for the next database for the next project we don't need to have any database at all we would like just to have rest api to store the data and so on and so forth and again and again and of course people who are supposed to maintain all those database so administrators were like okay now we are going to maintain four different projects for those developer jerks we don't want to do it and now we have one single database which is apache cassandra and four different apis above these to fulfill all the developer dreams while allowing administrators to maintain only one database not four but another point is the business requirements again uh business projects managers and other tea other people like ctos they don't want to waste a team time on learning a new database let's learn let's learn another database let's learn cassandra and so on and so forth we better build something we better do some great projects so using this approach your team only once needs to use how to use for example a rest api or document api and then use stargate to store this data cassandra in cassandra without even knowing what there is cassandra behind stargate exactly okay um so stargate is really a proxy okay you can plug stargate on multiple distribution of cassandra and it will expose a rest api a graphql api still sql of course and document api to interact with cassandra as it was a document oriented database so until now we have done our project to cassandra and now we will use a little bit of stargate just to see what it can do for you maybe you will you can you can you may find it useful in your project and we will do ends on from 10 to 12 and it will be the end of the n-word and on the end zone and we will do the game and you will win some swag and everybody will be happy and you know let's do it go back to exercise mode step 10 start using stargate so in astra you can go to connect and see all the information to use document graphql rest api and the apis expose some swagger ui over here by the way what i would like to do is to open the swagger ui from gitpod because why not so here i do have a little script that will pass your application.tml file and will open the swagger up front i think that's pretty cool okay so now let's see what you can do with this swagger so we will uh we will step 10a done 10b list the shove wrong okay so let's go let's find data v1 key space key space name table if you want key spaces keep on retrieve all rows okay here we go and each time it will be the same try it out provide a token so fortunately oops ah i do have my token somewhere so application.dml for sure so oh and also i make sure that the script paste the token you need to use it's like i knew what i'm doing right okay stargate the table name is chevrons the patch size i don't need it all right maybe [Music] 10. okay and here we go we can list the chevron over here it's another way to list the values in the table using the data api okay i provided it all i can move so you can see in the data that you can insert rows delete rows updates find by id so the purpose of the data api is really reproduce the operation that you can use on cql as a rest api but the document api is a bit more advanced than that it's uh it stated that a when you need to work with cassandra you always need a schema i mean you need to insert exactly what expected in the way i expected you need to provide the proper column in the where clause and so on and so forth document api is there to cope with that and to help you so let's say let's create a document so here i will go v2 namespace timespace id collection collection id create new document okay so let's see create a new document it's a green one here so try it out i will again pass the token namespace id let's reuse target no need to create a new one collection id we can do whatever you like what does this uh dock look like off like kind of video here in the instruction sample dock is proposed so let's use sample dock and for the value ready you can put any valid json okay so here i put video id so we can see that the json is nested you can have up to 49 nested level in your json it's just great and you execute and you have 201 which is the http status for created and here is your id so let me drop let me copy this id somewhere okay this is my id maybe i will need it later okay that's it oh just it was just a just a single one very simple very easy okay okay uh maybe should i retrieve my documents now let's go search document in collection yeah try it out let's see let's put back my token here is my token name space id stargate collection id sample dock i think i put no clothes where patch size let's say 10 so just that okay i do have my guy but maybe hey i do not want to retrieve all the fields so let's see maybe i only want the emails can i do that filter not to retrieve everything just my email he's not happy he needs to be an array so let's put an array execute and blah blah blah okay where is the response did i click just a data blah blah blah page id blah blah blah email is not the valid field oh yeah there is there is no s so of course it's better if i provide a field that exists and you can have also some where clause here and you can do somewhere close on any field so that's pretty cool okay um the last portion is a kind of a bonus i think we are doing good on time so i can yeah i can show you the bonus then um so i've told you about the astra spring boot starter that will initialize everything for you so um you can check now with the sdk devops api that's test number four so let's have a look at the code too many tab open sounds familiar okay so what the ass what does the astra client really is is i mean the the astra spring boot starter is ready to create that astra client and their in astra client you have okay whenever you like you have everything you need like api devops to create a new api uh that stargate data to use the data rest api start a document to use the document api a graphql to use the graphql api i did not show you but same in astra you can use graphql go there you go the graphql playground and you can start interact with uh with the graphql you simply need to provide your token so if i go back to here get my token put my token here no copy paste execute and you know you can you can start working with the the with the graphql api as well and interact so that's pretty cool so if you look at the code for exercise number four i look at the devops database and i search for all the database active so if i run that i expect to have two records workshops and work workshop with the s and workshop without the s and you will get only workshop with the s because it is the one that is asked in the instruction so let's do it copy clear paste okay look at that so workshop id region key space id region key space oh by the way at the end when we will give you some voucher to to pass the cassandra certification for free instead of 145 bucks we you will be asked to provide your database id so now it's probably a good time to copy paste it but you can find it industrial user interface as well no no problem with that okay so uh that's 12a 12b is really now using the rest api so if you look at the code now i keep using the same astra client but now i'm going with astra stargate data i use the key space target and the table chevron so the way we have designed this uh starter is really to be fluent api okay and as soon as you do have the table if you you click uh so with the table you can delete the table find the definition create some index list the index search update upset uh and you know um all the create rhythm they delete that you like so here what i'm doing i'm creating a search everything and i provide a mapper so now if you are familiar with gdbc spring gdbc or any spring which is not gpa you execute something with gdbc templates maybe ibn template and you get a row and you are asked to provide the role mapper so here is exactly the same you provide the row mapper and you help the framework to marshal the response exactly in the object you like okay so let's try to execute this guy almost there rest api nope clear let's do it and what i would like to do here is really listing all the values in chevron and yes here this is what i did okay can do the same with the dock api uh so we've created a dock together so i guess i will have a single doc as long as i've used the proper collection name i think i did okay document here the document has been retrieved as expected if you look at the code again no magic so if the key space does not exist i will tell you if the uh collection does not exist i will tell you by the way it's a good introduction to this api document namespace exist just to see if something exists and if everything is okay go to the api document go to the namespace go to sample doc search with no where clause and map the result as video bin and if you look at video bin there is no annotation i created the the marshalling so moving from the response to the object using jackson so for the java folks there i'm simply uh reusing the the tool that everybody used to move from an object to json and json to an object and like that you don't have to provide a mapper done automatically but if you want to provide a mapper guess what you can and with that i think we have complete all the steps for today we are good on time we will have plenty of time to play the game to answer your question and to do the giveaways right and uh but i have to disagree with you cedric in one and only one point uh we so cedric and me have completed all steps but you have one more uh you have to complete the work if you are doing it with us today or maybe you want to do a practical steps later then make the screenshots and submit them as a part of our homework process and then get your well-deserved page so that's what you still have to do you can do it right now but i believe better focus on the little game and submit your homework after the um little game with the prizes if you are interested to get your stargate plus spring workshop page then put the attention on the section 13 homeworks of the workshop materials and then enjoy our game so cedric is going to ask some questions yes i will yes i will you keep seeing mentimeter each time i switch screen so it's coming um you know waiting oh so everybody uh can you tell me if you are ready uh can you just everybody go back to mentee and let's play the game together what about that be on time right okay so i moved to waiting for player screen okay oh look at that everybody's already in the game that's good so we have quite a competition today quite a lot of people oh yeah oh yeah i can see on the youtube stream right now we are still uh more than 100 folks and so yeah that's a lot of people there and meanwhile there is a question of uh from sunil agarwal uh do we have any other database relational or no relational with apis exposed on top of it like what stargate is doing frankly speaking i don't know uh because well uh stargate is an open source project uh for apache cassandra mostly and so far it supports only uh cassandra yeah so any every database has its own interface the way to interact with outside some database choose chose http upfront right away and http is the only way to interact with them and i'm thinking about elastic to entire with elastic it's http only um but some audi i mean some gdbc odbc out of the box uh i don't think so probably there are some tools uh i'm thinking about strappy i'm thinking about uh you know even jeep stuff that we generate for you some kind of rest api on top of uh database but not part of the database product itself i think okay uh just uh so sorry just one point cherish asks it's not clear how to uh complete the homework uh it's all explained in the uh step 13 uh basically you need to do all the steps explain it above uh there is a wrong description as described below it's actually as described above make screenshots alongside your steps and publish it um there is a link on how to publish it in the end when you will be ready uh swatch by step 13 of the workshop documentation submit your homework here you will push for button you will get to the submission page so you will be able to put those screenshots and things over them okay i think we can go let's do it everybody let's have fun together can you play the music of course already doing that okay my bad i i'm the only one can i hear the music right now or i will have an echo so no echo let's do it all right eight question which is not part of the spring ecosystem spring boot spring web spring colorado spring data oh which is not a part of a spring ecosystem time is over good job indeed the good answer was spring colorado is not part of the spring ecosystem good job so who was the fastest and who wants work correctly because it's not enough to be the specific picture of the proper hey ransomware looks like some heat was the fastest and that's a great job circuit congratulations great way to go question number two okay press enter to start all correct answers give maximum points what can you see on the screen a computer an iso it's coming so why do i put this question you might say yeah because we noticed that now folks among you you are using but and see too so now bots are eliminated and we can still going as humans all right well maybe not bots but someone who was too much in a hurry but we indeed uh have met some boats already and we want this game to be honest and fair to every one of you exactly yeah we improve our ideas week after week what is the name of the tilt planet chewbacca atlantis abildos chulac that's not a simple one it's not technical it's it was the exactly what you did in the first place then it was the planet you enter into exercise then it was the one i used for the demo yes chulac so here we would like to reword people that stay with us among the two hours [Music] you know this is this is how we are okay so who was the fastest with the proper response nice sneak no and tanat was the fastest that was enough to bring him on the sixth place which is a very good result uh it's close it's pretty close you know look at vss 88 and dw 880 so that's pretty close yeah okay question number four what does sdk mean software development kit self developer knowledge server direction kubernetes save the queen save the queen don't make a mistake you know what to choose okay so your time is up and most of you gave a right answer how come okay this one is too easy next time i will skip it yeah no one wants to save the queen come on that's not nice everybody will like the swag it's serious now alex okay let the battle commence and the fastest answer was given by pubar which gets to the seventh place but that's not enough to get to the top three and so he like is a five points below vivek who is on the third place yeah not sure that fuba was there before but you know maybe maybe okay question number five and for fast to get more points all right what is astra well we discussed yeah speed question we discussed memory version of cassandra manage cassandra with apis and tools cloud-based ide it's a movie with leonardo dicaprio by the way i would notice what the right name would be ask for db because there is also astro streaming in case you need some string yeah okay it's indeed a managed uh cassandra database as a service and it's not a local in-memory version of cassandra and definitely not an ide yes so cloud-based maybe that trick you id is really the tool where you develop so like kit pod in that case right no mistake from the leaders good job and foobar was the fastest again jumping to the second place that's the good job yeah good job so let's see question number six so answer fast to get more points what spring data used to connect to astra the rest data api the rest document api the drivers the graphql api or the wi-fi okay i would avoid putting wi-fi between my application servers and data servers looks like you are with me on that and the right answer was cql drivers yes so really it was spring data so it was really really all the first part of the workshop not the last 30 minutes right so who was dedicated for people who the two hours you know well it's hard they're tired already and anish gives the fastest answer getting to a sixth place which is great saheed makes a trim fall return to the top three with his second place now and very minor difference to vss which still holds the first place okay now is the last question suspense to the you know i cannot i cannot hold anymore that's suspense let's do it yeah answer fast to get more points which features is introduced by the document api in stargate schema less serverless paper shredding or paymentless well astra will stay paymentless for you as long as you don't use it for the production like workloads and coverage with data stocks 25 dollars per month which is quite a lot but most of you gave you the right answer it's schemeless indeed okay so now with the big moment who are our winners i believe we still have one more question do we oh really i think it was the number eight maybe oh maybe you're right bullbar was the fastest again but it looks like eddie or cheap did a mistake somewhere so vss you have a question it seems yeah yeah but the third the place it's no yeah it's keep higher it could be higher and higher you know yeah how many chevrons did we insert uh in the milky way in the table for the milky way galaxy the first select count that we did in the beginning 7 35 39 or 42. yeah okay 39 yes most of you made it correct that's cool you know always reward people who work with us oh yes it's uh yeah oh no there's space before vss okay so vss is our uh winner for today but so three winners vss jose and no so please uh take a screenshot that you really are the one the who win and send an email to jack dot friars data sucks.com to get your swag and be passion we are pretty late with the swag but we are catching it okay so please be kind it's coming yep i've put jack pryor's email uh in the youtube chat so if you have a winner make a screenshot send an email on jack and we have got some delays on swag dispatching so sorry if it doesn't get to you in the next uh every week we will be very soon okay so uh okay okay okay i just come back to uh hear the screen if you are i do the screenshot because we have a a cheater here mr david gillardy part of datastax isn't third okay so no won't get his price because he's getting kill his salary but i with this a ghost i can make a so contact jack fryer with the email i sent on the youtube chat okay um so to get this nice badge do the homework the link is ready at the bottom of the of the repo today we just wanted you to do a screenshot and upload the screenshot the link is here submit your homework here you can go there and start drag and drop your screenshot super easy just complete the step and do uh this katakura scenario which is to know a little bit more about spring boots and doing a rest api this time claim your free certification voucher so because you were you were with us today uh we offer you a voucher to try the certification uh but you know there is no point to go now and try the certification please do the courses before on academy.net.com and datastax.com dev just to pass the courses before going after the certification okay and here you have the link the link will be open for let's what five minutes okay it's free for you not for us we need to pay for you each time you try so we cannot let that open indefinitely all right keep moving so three certification developer admin and uh cassandra kubernetes and each time two courses to to to take before having the certification okay and everything's come to an end and this stream is no different if you enjoy the experience please subscribe to the channel leave a like because this is with more and more subscribers that we can keep coming back every week for new content new format and you know if you enjoyed it please uh tell us you know in the mentee i will have an open question what did you like what did you not like what can we do better and i will leave that open to have your uh honest feedback right and there is a question what should we improve for future workshops which kinda expect some negative feedback but i don't want you to focus on this question just if you did like the something the most then please put it here as well we are open for positive feedback of course too yeah please no no yeah you know we we always liked the the it was good and and thank you you know it's kind of a comment um okay so subscribe uh we also have the discord channel you know if you complete that homework of after the live if you are regarding the recording right now uh we are here to help you on the discord so here is the link come and come with the question we will be there to answer them uh subscribe to this channel i didn't i i did that already but here look at this when you already have a a a glimpse of uh what copy what kind of topic do we cover and with that uh no more content for me today i simply would like to thank you all for attending this session absolutely you did a great job and thank you everyone there are hundreds of people who stay till the very end and that's incredible because well you are the best and okay thank you very much have a great day have a great day and let us play some music for you in the end [Music] been through a couple of shipwrecks so glad it's over with my ex but we stay a cause you're my index seeing clearly now don't need windex zooming in what's important i don't need the context [Music] [Music] index i found someone okay people require a stimulus so let's have it [Music] on the same page [Music] cool [Music] foreign [Music]
Info
Channel: DataStax Developers
Views: 1,451
Rating: 4.9175258 out of 5
Keywords:
Id: Cz4sP667QaY
Channel Id: undefined
Length: 120min 8sec (7208 seconds)
Published: Thu Sep 02 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.