Ask Me Anything about PostgreSQL on AWS

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
um so happy to start anywhere who wants to give us the first question okay there you go so what's the equivalent of DPMS job for Postgres so I think all that Dennis Lussier to help answer pretty good so this peak this PG agent and version four of that is actually pretty good in modern we are working my own personal favorite is PG cron so PG underbar cron we're actually in our roadmap so for later this year we're gonna try to incorporate a derivative that into Aurora Postgres that fixes some security stuff and some so there's a little bit of engineering that we need to do without using that directly but you can use PG agent PG cron looks separately if you are running Postgres by itself and we're interested in that as well separately where we're working on another feature which is integration with what do you call them the serverless stuff with lambda functions right so that from PL sequel you can call lambda functions so a lot of the kind of things that you're doing with these scheduled jobs and stuff like that if you had a trigger that you could kick off something in lambda you wouldn't need to do that as much and other people who are using you know application server schedule or stuff like that so to kind of do that out of the tier so scheduling in the long run I don't really like doing in the database but we are adding PG cron and there those are the other options as far as I know agent is not on AWS now so those are the two community options for doing that BG agent and PG cron they're probably a couple more but those are the two that that have my attention that's so to be clear you could use PG a mpg cron if you're running self-managed Postgres on ec2 that we haven't incorporated equivalence into RDS for Rory yet yes but we will soon how do you handle connections greater than 200 meaning number of connections greater than 200 so you can throw hardware at it and just scale up to a bigger instance which is kind of the flip answer so for those of you don't know Postgres has a process per connection model all right so every connection to a post for instance whether it's self-managed RDS Aurora or on-premise every connection causes the post res instance to spawn a separate OS process on the the database host which takes up CPU and memory and other resources you can control how much memory each connection takes with various parameters like work them for example and in some cases you won't work them to be bigger because you might be doing big sorts you might have quarries that or building indexes or do it you know I'm doing queries on large tables with group eyes etc but if you set the memory parameters big then that means that you're gonna run out of memory when you have a larger number of connections you can set the memory parameters smaller and you'll fit more connections at the cost of whether you know it might be cost a performance based upon what that memory might be used for a lot of customers when they want to support thousands of connections to a postgrads instance will usually put a Pooler in front of of either PG pool or PG bouncer or the ones we typically see today and RDS and Aurora you need to setup your own connection pooling meaning a lot of customers they'll set up a separate ec2 instance with PG pool on it point their apps at PG pool and then point that configuration at the actual running instance that means you have to run your own puller and so we've gotten lots of customer requests to build some sort of managed connection pooling into our managed Postgres instances and we are looking at that we have some ideas on how we can solve that problem was not solved today having said all that we do have customers or hardware at it the biggest instance we support in the r4 class has almost half a terabyte of main memory we're adding support now for the r5 that's already available in some regions the r5 24 Excel has three-quarters of terabytes of main memory so the question is that with Aurora already yes both well RTS runs everywhere on our 5s already our 5s are being rolled out through the Aurora post gracefully now you'll see it in some regions already but like I said you can throw hardware at it if you really need the memory and the CPU to support you know hundreds or thousands of connections you can certainly do it works a little better in Aurora just because we've done some tweaks to make it scale better yeah hi I'll say that again I'm David wine I work with Kevin I'm a principal engineer and director of engine development for or Postgres what Kevin said is absolutely correct connections in Postgres use a lot of memory I will throw a plugin for Aurora we did some work inside the Postgres engine around areas where Postgres bottlenecks with large number of connections and even if you run benchmarks with Postgres you'll see as you keep adding more concurrent workers you actually start getting less throughput so it doesn't even Plateau it really hits a knee and drops off because the contention points becomes so severe that as you at work it just makes everything slower we don't have that with Aurora you we in our benchmarks can run up to 4,000 connections that's not actually a limit that's just how high I've run them in the benchmark and we don't hit that knee you know you'll plateau it throughput at some point but in summary we've done a lot of things inside the engine to remove the contention points with a high number of concurrent users so Aurora does better with large number of connections than RDS Postgres all right who's next great so the question is does performance insights come with a starter template or best practices on how to tweak or tune Postgres so today performance insights you turn it on for your instance and you start looking at the display and it'll show you just the top sequel I think by default it sorts by sequel statement by load and there's different ways you can resort and redisplay the data today it doesn't give any recommendations it doesn't tell you gee it looks like this query is kind of going sideways you should add an index or you know it doesn't tell you anything on the next steps so out of the box it will just show you the things that are consuming the most resources the team that built performance insights has all kinds of interesting plans for ways that we might be able to make recommendations and give advice on what performance insights is seeing but you know today that's that's the the baseline now you know there's lots of blog posts that we put out on things related to say Oracle to Postgres or Oracle to R or post res migrations and I think there are some on performance tuning in general but there's nothing built into the performance insights tool is that what you're asking is there something built into the tool itself right so the metrics are still in cloud watch which metrics are you thinking of transaction repre yeah those metrics are more instance level because P I really looks at it the way P works as it samples your instance and looks at what's running every second and so it just sees what queries are running what they're waiting on and then it builds up this time model view of your instance over time and it's only recently that recently that they added counter based metric so it actually looks at how many times something has happened like commits for example so P I now start is starting to show counter based stuff as well but the original implementation was all about just sample the instance just see what's look what's happening and then build up this graphical view of what's happening in the instance over time you can also see why it's easy for piata store that data just as these one-second samples just stores it for seven day seven day rolling window but the counter based metrics is probably going to give more of what you're looking for so you should take a look because I think we only launched that the kind of a stuff like last week so it's all brand-new stuff in performance insights for counter based metrics it does everything for performance insights go in the cloud watch I don't think everything from P I goes into cloud watch enhance monitoring the OS stats does P I does not VI does have an API you can pull it out yourself and do whatever you want with it but it doesn't automatically flow in the cloud watch so some of some of the metrics but not the individual sequel statement data right the brand new counter base metrics may they flow okay thanks so the question is about Active Directory Integration which exists now in redshift why doesn't exist in RDS post Crescent or Postgres just because the calendar hasn't moved forward far enough yet it is it is it is in our in our roadmap for later this year you saw if you saw me this morning you know I talked a little bit about the integration we did with I am auth identity access management authentication which we launched for both the word over and RDS earlier this year that was a step along the path of making it easy for customers to integrate with their existing on typically on-premises Active Directory domains and so we are adding we are planning to add that capability later this year for both our DSN aurora and if you look more broadly at the other RDS engines as well depending on the engine the status of multi master we could spend the next 45 hours talking about that huh so I'll ask a question back first what do you mean by multi master so bi-directional replication that's one way to implement multi master what what problem are you trying to solve with multi master okay well I'll tell you what kinds of problems customers other customers have told us they're trying to solve and really depends there's kind of two types of multi-master or two phases of multi-master we're working on so one is what we call multi master in region where you you know think of the aurora architecture you have the shared storage volume across multiple AZ's and you have a read/write instance and a bunch of read-only instances all sharing full access to the same database on storage well what if you could make those instances all of them readwrite and so just one of them so that's multi master in region multiple masters one database how do you make them play nice so that you can do full-on OLTP transactions to the whole database from any master and not corrupt things and not make you know confuse yourself and your users in your code so that's the multi master in region project now that started first with the roar of my sequel something we announced but more than a year ago and so where my sequel has been running a preview they have plans to go GA sometime this year with multi master in region or postgrads we started the whole project more than two years after Aurora my sequel so we're behind them in terms of timeline for delivering big features like multi master not an easy thing to implement so our target right now is sometime next year for multi master in region the other multi master is multi master multi region which by definition is not one one copy of the database it's copy in this region and a copy in another region and now I've got reads and writes going on in both places how do you make sure that they don't step on each other when you have much higher latency all right deletes it between regions and so really the first phase of that project is what we call global database you can see that already there for R or my sequel and global database this first phase is simply cross region replication where the Aurora storage nodes will replicate or copy their their log changes from the source regions to the target region and there was an Aurora storage cluster in the target that receives the log changes and applies them to database pages and keeps a copy hydrated for read traffic initially it'll be cross region read replicas that's project that's coming sometime this year for Postgres as well but you know the the next phase where it's full-on read/write access from both sides is something that's you know generally on the plans for next year for both overall my sequin or Postgres a lot of details to work out on how you manage conflict resolution in it in that kind of multi master multi-region environment now the use cases that we see for multi master in region are typically high availability I want to just keep writing to my database if a node fails and you know high availability or even fast failover isn't fast enough I just want to be connected to and write to one and if it fails want to keep writing to the other and if it's truly it's segmented like that we're one of them isn't really being used and there's not a lot of conflicts to worry about the other is where our customers want to scale writes beyond the limits of even the biggest head node we can give them beyond an r5 24 XL with 96 V CPUs that said or they that we have a workload that just has to scale bigger than that then they need multiple head nodes multiple big head notes banging on the same database and then they need to worry about segmenting their workloads so it doesn't attack the same data at the same time because if you do that if you have too much contention between knows it will not scale because you're just gonna thrash sending the data back and forth there's no de updates the data isn't that one than this one in that one so you always need to partition your access in these multi master environments so that's kind of the workloads we see for multi master in region multi master multi-region you know it's it's usually about latency low latency for customer access so those workloads really need to be segmented as well but it might be wary of customers who you know want to access their data in Europe and I want to have one big database and customers in the u.s. want to access their data as well it can usually be segmented well so they're not going to step on each other if I go travel in Europe and I log on to a system there maybe my data will do them you know it'll be replicated over so it'll be available in the European copy as well but most of the time there won't be conflict so multi-master multi-region makes sense for use cases like that or also they happen to be a dr too after recovery fail over target it's like I said we could talk for a lot longer about multi-master but that's just kind of a high level state of the world for multi-master you know or other questions yeah so a very specific question is there a date for performance insights and gov cloud for Aurora Postgres there probably is I don't know what the date is guess it's sometime this year but I only want to promise that I'd have to check with the team more generally we are rolling out performance insights beyond or or Postgres where it started to the other RDS and Aurora engines and so it's available in RDS for post-grad starting with post res 10 and now post goes 11 I don't think we've launched it for or my sequel RDS my sequel etc so we're rolling out across the engines and across the regions including gov cloud eventually but I don't know specific dates for for what when it will become available in gov cloud yep question is about all the RDS engines there's technically seven of them which are the top ones what's the adoption rates etc so you know we don't disclose specific numbers about those I can't say that they're all growing healthy businesses some people think that I got this question earlier today so how do you convince people to move off of Oracle to postgrads and I said we don't if you want to run Oracle in AWS we'd love to have you we have a very healthy RDS Oracle business very healthy RDS sequel server business it's yes when customers come to us and say I want to get off of Oracle then we can help them but we don't go out there campaigning to convince them they should move off of Oracle so they're all healthy growing businesses what I can say is that Aurora is the fastest growing service in the history of Amazon or a history of AWS and that was before we launched a world Postgres aurora my sequel by itself launched in July of 2015 and over the next couple years became the fastest growing thing we ever launched now it's not fair to measure in the first month of growth of course after you know gets up to his you know a sizable level it's been the fastest growing or where postgrads has accelerated to growth let's put it that way but they're all growing businesses and like I said growing in healthy businesses where if you just look at what we launched for each of the those engines we you know we continue to accelerate the number of services we launch for each engine that's because we keep on getting more customer demand for new features in each of the seven engines so we're not slowing down we're speeding up pretty much for all seven engines more questions trying to think what questions you didn't ask that you should be asking me you should be asking me about outbound replication for Aurora Postgres hi hi Dave well let me tell you Dave let me tell you about a Ponting replication first we've talked about it multiple times today you know standard Postgres supports lots of ways to replicate how to the postcards instance RDS postcards we added support for replication slots a standard postcards feature several years ago and database migration service sits on top of that feature when we launched or postcards we launched it without any support group on replication primarily because we rewrote the logging and storage layers and that meant that we took away replication slots and we had to reimplemented on't want to wait to get that done to launch it or Postgres so we launched without it and we've been working to catch up and add support for replication slots to enable app on replication ever since and you know our target is to launch that this year I can say it's coming pretty soon now but I can't give you a specific date but it's coming soon and it will behave just like it does an RDS for Postgres support for replication slots with the same logical decoders that you see in RDS Postgres and of course support for DNS database migration service so DMS will be able to use Aurora Postgres as a source to replicate from Aurora Postgres to wherever DMS met can replicate to which is a whole bunch of different kinds of targets including things like redshift or another post quiz instance or Oracle on-premises which a lot of customers want to do as a fallback when they migrate from Oracle 2 or postcards they want to replicate back just in case they think they have they find a need to fall back and and you know cancel their migration so you know the launch of outbound replication will enable all of those scenarios and others that our customers will think of that we haven't thought of yet so that's coming soon the other feature well it's a 4pg logical not in the first release but in a subsequent release it will support PG logical so the initial goal is to support replication slots in round one and then add PG logical in round two the other feature lots of customers ask about is feature I've already mentioned a little bit global what we call global database but the way customers asked for it typically is I want to implement cross region replication so I can have an instance in a different region to protect myself against disaster recovery or to provide disaster recovery and you know again that feature is is coming it's what we call global database it's based upon Aurora storage based replication now you might say wait a minute couldn't I use that outbound replication thing you just told me about to keep an instance in another region hydrated yeah we're not going to block you from doing that we just pretty sure that the performance won't be as good as the storage based replication that we're working on and you might find that the lag in your your instance in another region the lag for that instance when being hydrated by the alpine replication that we're going to launch soon the lag might not be acceptable for what you need at least for our po4 recovery point objective for that disaster recovery copy now it might be fine maybe your RPO is not really stringent in the case of Aurora storage based replication we expect the the lag to be very very small what we're seeing with the same type of replication for Aurora my sequel is lags typically of a second or less for regions that aren't too far apart like say Northern Virginia to Oregon which is still 3,000 miles but the lag is pretty short so you know if you have RPO of seconds or minutes over a storage based replication will easily fit within within your rbo requirements yes right so the question is the document documentation seems to imply that PG logical is supported now that's true for RDS Postgres if it implies that supportive 4r or Postgres and that's a mistake in the documentation since we know logical replication isn't supported at all yet when it is it will be initially replication slots not the new pub/sub capability that you might be referring to publication SUBSCRIBE capability the there is kind of one exception so if you're using the new pops up style logical replication you can't use that to replicate into or or Postgres yet because you actually have to support have support for that new capability in the target instance not just in the source the way it works in Postgres and we do plan to add enough support so that you'll be able to use that replication to replicate into a riposte grows when we do this initial launch so that's a little nuance that that it's hard to get across you're clearly in documentation especially since we haven't launched it at all yet if you follow with PG logical I think you can replicate into RDS PO I know you can replicate an RDS Postgres I don't think you can replicate into Aurora Postgres now right see Richards gonna correct me okay so engineers have tested and confirmed it works so I just need to make sure the documentation clarifies that then yeah yeah some of you pointed out rightly so that we have a lot of documentation on how to migrate from Oracle on premises to RDS in a row of Postgres we have a 350 plus page manual on how to do that and other blog posts etc we don't have the equivalent for how to get from postcards on-premises into a were already s we have smaller pieces but it's not nearly as well organized with coherent and that's what Dennis is referring to you know based upon that feedback today we're organizing some people to work on that and and make that much easier any more questions yes you first when do we expect compatibility post goes 11 well we already did that for RDS postcards last week we just launched postcodes 11.1 and it's coming soon for aurora Postgres slightly more generally our goal is to catch up to community releases a lot quicker than we have been both for RDS posters in Aurora Postgres you know we are working on getting I think I mentioned this this morning getting post grows 12 into the RDS preview environment when it makes sense when there's you know beta drop that we can work with so you know that's typically in the spring from the community Spring is three days away so it's coming soon you know so we do have ideas on how we can do that for Aurora Postgres in the preview environment as well this will let you start testing post gras' twelve features for your applications for your environments before its production from the community you won't have to spin up your own manually managed beta instance in ec2 or on-premises you'll be able to go to the RDS preview environment just push a couple buttons spin up an instance and start testing we did that with postcodes 11 in the preview environment for hard es Postgres we planning to do it for both RDS and Aurora in the preview environment for Postgres 12 and then when PG 12 actually goes yeah but from the community this fall our goal is to catch up as quickly as we can it's easier in RDS Postgres we don't have so much of a merge burden or just tooling and upgrade work but so our goal is really to be within 30 to 60 days of the community so sometime late this year now we don't always meet those goals sometimes things slip but that's that's what we're targeting for major version support Welty Dave so Dave's question is when we launch Aurora Postgres 11 will we support major version upgrade from previous versions of or Postgres because those of you who are active users know that if you have an Aurora Postgres 9.6 instance today you can't do a major version upgrade or Postgres 10 which is kind of not not a great experience you have post res 10 waiting for you there but to get there you have to do a dump and load and take downtime and it's painful and you can't even do outbound replication yet to shorten that and so we are working on adding support for me mvu as we call it major version upgrade I believe the timing right now is we'll have mvu before we have or Postgres 11 if not they'll be about in sync so yeah you know these are somewhat moving targets but I think they'll happen at the same time but we're not gonna hold one for the other as Denis points out because customers will independently benefit from each so when each is ready we're gonna launch each one right the man at the red shirt Aurora post-grad service so what is that project well it's just it's functionally the same as a row of my sequel server this which is GA and there's a whole bunch of dock and you know blogs etc whatever you read about or or my sequel service is roughly equivalent to what you'll see with or a post gross surplus or a postcode serverless is in public preview you can actually sign up if you literally just google for or Postgres service preview you'll find the signup page you know and we're busy white listing more customers into that preview but what is service what is there or Postgres herbalist basically gives you an order posters end point where you don't provision a server you don't say hey I won an r4 dot for Excel and you know and provision all the details of that of that instance you basically just get an endpoint that you start you know creating tables inserting rows doing transactions on and you specify a lower and an upper bound on aurora compute units which is really a combination of CPUs and and memory and we will scale up and down between your upper and lower bounds based upon how busy you make your endpoint and so you don't have to think about you know like I said provisioning and then oh wait my workloads gonna scale up spike you know tomorrow so I need to manually scale up we also maintain a a proxy in front of your instances so that that proxy holds your connection state while we actually scale underneath your those connections so when those scaling up and down happens you don't lose your connections to the instance so the idea with serverless is it's ideal for workloads that have lots of variability whether it's predictable variability like you know you know that people are going to be busy on your systems during the day and but you want them to kind of when when you developer stop working at 8:00 or 9:00 or 10:00 at night you want it to scale down to a lower level that costs you less and then scale back up when people get busy the next morning or you might have a you know production system that has unpredictable variability it might be based upon news cycles and it's an ad server for media and so you don't know when there's gonna be spikes in both cases server lists will provide a more cost-effective experience than provisioning for peak in the traditional what we call provisioned model because in the provision world either have to provision for peak or you have to plan scaling operations which cause disruption to your application environments to users who are connected and so server list is designed for those unpredictable workloads and so it's a really cool technology to play around with in the preview again you can see some of the more developed documentation if you look at they were my sequel server lists documentation and and blocks any follow-on questions if we ready when we go GA which is sometime later this year yes so you're asking if applications need to be modified for service no they don't even know it's a service instance it's still Postgres or my sequel anymore my sequel case it still looks just like your normal database end point it just so happens that under the covers we're automatically scaling up and down the compute resources computer memory resources behind that end point but you don't need to change anything it's not like it's a limited version of postcards that doesn't support all the sequel dialect it's just a row of postcards where we're doing some you know control plane stuff to scale it up and down and the proxy of course to keep your connection state but know there's nothing you need to change yeah yeah good point today or where our service is just one instance it's not it does not have support for read replicas in the the provisioned Aurora model thanks for the reminder Richard doesn't change how your application works functionally but it does change how you think about scaling because it currently doesn't have a scale out to model it only has a scale up and down model now one other little quirk and servlets you can set your lower limit to zero which means when your instance goes idle under the covers we're going to scale down to zero we'll still hold on to your connections and of course your storage is there but what happens is the next time you you touch the instance we have to go provision we have to we have to grab an instance out of the warm pool and connect it in there's a little bit of extra latency for that first touch you might not want to have that wait and see so you might set your lowest level to the to the to the lowest nonzero level and so the difference in cost there all right but depends on your workload requirements do you care about that first touch slowness or not if you don't care then you just let it scale down to zero if you do carry you scale down to the lowest level and on the upper limit of course you don't have said to the max because you may not want to spend the amount of money it cost to run at the Mac might know that you have spikes where it's okay for the spikes to get a little bit higher latency because you're not going to scale up to to the largest size right well we did launch per second billing for all of our DS recently so but yeah it's billed by second but it's also not billed in the same way for instance and the wide-eyed idealistic the wide idealistic crazy people say that service is the only way people will use databases in a few years and the whole provision model is going to go away so well for those of you don't know you know in standard provisioned RDS and Aurora you pay for instance hours or instance seconds now but you know you pay per for how much you use but then you turn your instance off and you stop paying but most customers don't turn the databases off you leave your database up and running generally 24/7 365 and so if you know you're gonna do that you can buy a reserved instance which is a billing mechanism that will give you a discount of up to roughly two-thirds off if you buy a three-year upfront reserved instance which means you pay us for three years upfront right so pay it all upfront will give you two-thirds off roughly if you look at the pricing on our webpage and so that's what rich is referring to the cost of running provisioned with a three-year upfront reserved instances pretty low the pricing for service is of course designed to be very different and if you look at it if you have a steady-state workload and you run it on server list it's gonna be a lot more expensive than running it on on provision with our eyes it's only when you have this really variable workload we run provision you have to provision for the peak or else you not servicing your customers well for all those peak times and if your provision for peak and by our eyes it's it's still going to be more expensive than service so that the pricing of service is designed to the cost-effective for those really variable workloads even in the face of the maxed out our eyes yeah so a good question we do have a feature called start stop start for RDS instances where you can stop the instance and we want to leave the storage because it used to be if you stopped your instance we automatically deleted your database part of the reason that we didn't just on make it easy for you to leave the storage around is because we're always you know worried about upgrades and patches and things like that that's why we don't let you do a stock stop of your newest instance for more than seven days because we want you to start up the instance so that we can do whatever maintenance we might need to do under the covers right so that's why the limit on stopping your ideas instance of seven days now you could stop your instance and then start it up for an hour and then shut it down again but if you can do that long term out question while you're doing that at all that's that's where you take a snapshot and just keep the snapshot lying around but stop start is is a different way to do it's kind of like poor man's service we have to do it manually your connection state is not maintained across the stop but you might just stop your instances on Friday night and start about Monday morning so you're not paying for them over the weekend that's the typical use case for our data stop start but it is kind of like a stepping stone to service when you think it through it's it's kind of designed for those those the similar scenarios other questions well it is after 5:00 on the Monday we've had a long day of lots of content not just in this room I know in other rooms I know we've all been bouncing back and forth you know we're we're here all week and got a bunch of sessions from a Tobias people the rest of the week scattered through the through the regular conference agenda as well yes there's a question oh they're sorry so question is which ec2 instance types we run so in RDS for Postgres we support TSM's and ours teaser the smaller or less capable the more cost-effective and last customers will run their tests of QA stuff on T's M's have more CPU less memory per CPU so they're good for CPU intensive workloads and then the ours are where we typically see customers run the biggest database workloads because they've more memory and databases like memory that's for RDS Postgres and Aurora today we run on the are fours and our 5s our 5s in some regions it's rolling out to the other regions it you know on an ongoing basis sorry our 5 is available for world plus squares in some regions not in the ones you care about I know that yeah yeah I know it's coming and you know so because Aurora itself has some extra components on the database host that use memory it's more work for us to make overall fit on instances with less memory we are working on adding support for Aurora 2 down in the T class instances because customers still want to run test fqa on the smallest instance they can find for Aurora as well and so we know that you know that's a big ask from customers and so it's coming it's just it's a lot of work to put or a Postgres on a memory diet to make it fit in and behave well so you can still get you know your workloads to work on the smaller T T class instances the other more exotic ones you know you know the extremely high memory instances are challenges for most databases because they're typically for socket Numa machines that means non-uniform memory access which means that the latency to access memory that's owned by another socket in that four socket machine is much higher than my local memory and it gets complicated to make high contention workloads like database workloads work well in those big memory for Saka machines so we haven't seen a need to go that big because the are 524 XL is a to socket machine that scales pretty well so you know we're kind of waiting and seeing whether there's real customer demand for the really really big memory instances okay well maybe tapped out well thanks thanks for coming to the last session this has been great set of questions and we look forward to seeing you all week at least some of you all week at the rest of our sessions
Info
Channel: Amazon Web Services
Views: 1,583
Rating: 5 out of 5
Keywords: AWS, Amazon Web Services, Cloud, cloud computing, AWS Cloud, PostgreSQL, Amazon, Aurora, RDS
Id: O_79Ba4Ym3k
Channel Id: undefined
Length: 44min 13sec (2653 seconds)
Published: Thu Apr 11 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.