[00:00.000 --> 00:13.720] Okay, well some of you may be here for my first presentation, this one is going to be different [00:13.720 --> 00:18.800] in much more technology focused, if you will. [00:18.800 --> 00:25.120] And we will talk about their distributed storage in the cloud, right? [00:25.120 --> 00:34.440] And my goal of this presentation is kind of provide you a very general overview of options [00:34.440 --> 00:35.440] which exist. [00:35.440 --> 00:39.080] I am not an expert, right? [00:39.080 --> 00:42.040] And probably something I'm going to say is I'm going to be wrong, right? [00:42.040 --> 00:47.280] So if it is, then say, say like, this is fucking wrong, Peter, you know, so I can fix my slides [00:47.280 --> 00:50.400] when I talk next time, I have the wrong stuff, right? [00:50.400 --> 00:51.400] So don't be shy. [00:51.400 --> 00:58.640] Be engaged and that's going to be more fun for all of us. [00:58.640 --> 01:05.560] So the thing I would say to start with, we discussed about, as I believe there are different [01:05.560 --> 01:08.280] ways you can approach your cloud, right? [01:08.280 --> 01:15.000] One is where you really kind of lock in with the cloud provider and then another one is [01:15.000 --> 01:24.880] what you really use, one of the really there open source solutions out there. [01:24.880 --> 01:33.360] And as I spoke in my previous presentation, we can see what, well, like I would imagine [01:33.360 --> 01:36.560] that is how the cloud was originally taken. [01:36.560 --> 01:41.040] Well, I won't spend too much time on this because I already had a presentation, but [01:41.040 --> 01:45.280] and also because we are not have too much time. [01:45.280 --> 01:54.560] Now one thing what I often have people asking me is about their, the open source, right? [01:54.560 --> 01:58.640] Which I think this conference is about. [01:58.640 --> 02:05.560] And if you are thinking in the open source from, from the business standpoint, right? [02:05.560 --> 02:13.960] We often see a lot of those different companies, right, which promote themselves as open source [02:13.960 --> 02:17.120] or somewhere around open source. [02:17.120 --> 02:21.200] But how do you know if it is, if it is for real, right? [02:21.200 --> 02:25.960] And of course, one of those you can look at the, like open source, you know, license [02:25.960 --> 02:28.320] and, and so on, right? [02:28.320 --> 02:29.840] And this is all there. [02:29.840 --> 02:30.840] Good stuff. [02:30.840 --> 02:34.080] Another is also to make sure what you ask yourself, right? [02:34.080 --> 02:37.600] So maybe even kind of company representative some of the questions, right, about how things [02:37.600 --> 02:39.280] look, right? [02:39.280 --> 02:46.840] One is you always think about how you can deploy that kind of solution product, right, [02:46.840 --> 02:51.840] on your own without getting any additional cost, right? [02:51.840 --> 02:55.400] Because software may be kind of open source, but they can, right? [02:55.400 --> 03:00.800] And the source is available, but well, actually maybe their, you know, binaries are provided [03:00.800 --> 03:03.600] only to four people who have a commercial subscription. [03:03.600 --> 03:08.440] Well, in this case, it's maybe technically open source, but on the practical side, there [03:08.440 --> 03:13.720] is some of those, some of those problems, right? [03:13.720 --> 03:19.760] And especially I have seen some open source projects, which would essentially, you know, [03:19.760 --> 03:23.000] withhold details about the build process, right? [03:23.000 --> 03:28.560] So it's not easy, right, to, to do that, right? [03:28.560 --> 03:32.680] Then another question I always like to look at is a choice of vendors. [03:32.680 --> 03:36.600] If you need any help, right? [03:36.600 --> 03:44.440] For many, for many companies, just saying, hey, we're just doing to go ourself is not [03:44.440 --> 03:48.440] going to work, to work, I want to hire somebody. [03:48.440 --> 03:54.160] And in some of them, you kind of license this around open source, there have been kind of [03:54.160 --> 03:55.160] some restrictions. [03:55.160 --> 03:56.160] Well, you know what? [03:56.160 --> 04:04.080] You cannot, well, you know, provide the consultant services around the software, right, or something [04:04.080 --> 04:06.000] like that as a license, right? [04:06.000 --> 04:11.600] And I think the third very valuable thing about the open source is to see wherever you [04:11.600 --> 04:16.160] can improve the software for your purpose. [04:16.160 --> 04:20.160] If something in an open source doesn't really fit, right, can you contribute to that? [04:20.160 --> 04:27.760] And again, that I think is another very interesting property of open source software where, where [04:27.760 --> 04:30.520] maybe different shades, right? [04:30.520 --> 04:39.240] Sometimes open source vendors maybe, well, maybe more or less open to that kind of things. [04:39.240 --> 04:46.000] Well, now with that, maybe open source public service announcement, I would touch briefly [04:46.000 --> 04:47.000] about open source. [04:47.000 --> 04:51.840] I think I spoke about that, the previous speaker spoke about that as well, that is a fantastic [04:51.840 --> 05:01.480] API, right, and that is something we are going to focus on here, right? [05:01.480 --> 05:08.160] And why I mentioned Kubernetes here, right, as we're going to talk about the open source [05:08.160 --> 05:14.120] storage in the cloud, I will focus a lot about, hey, what exactly choices you have in the [05:14.120 --> 05:22.760] Kubernetes environment, right, because if you're really speaking about the cloud, right, [05:22.760 --> 05:32.280] modern large-scale application, a lot of that is now being built around Kubernetes, okay. [05:32.280 --> 05:38.640] Now this storage in the cloud, what does that really correspond to? [05:38.640 --> 05:44.320] Well, there are a lot of different storage types we really can consider those days, right, [05:44.320 --> 05:51.720] and here is the list which ranges from the simple stuff as a node local storage all the [05:51.720 --> 05:53.880] way to the databases, right. [05:53.880 --> 05:58.160] I define storage myself in a very general way in this case, hey, you need to store the [05:58.160 --> 06:01.560] data somewhere, well, that is a storage, right. [06:01.560 --> 06:06.760] Now there are some of those things like a node local storage is relatively simple, right, [06:06.760 --> 06:11.640] they are, you know, direct replacement from like a, well, file systems we have on our [06:11.640 --> 06:20.480] operating system for a long time, the others, such as databases, can be very complicated. [06:20.480 --> 06:26.640] It is not just well, a database, right, but we can see databases being different by data [06:26.640 --> 06:33.080] model query language, like a virus internal design decisions and so on and so forth, right. [06:33.080 --> 06:37.680] Even if you look at the data model, right, these are some of the most common data models [06:37.680 --> 06:46.560] which you would see and what is interesting, over the last, I think, like maybe 10 years [06:46.560 --> 06:54.400] by now we see really this explosion of the different special purpose databases versus [06:54.400 --> 07:00.560] approach before where we, I think, had like relational databases absolutely dominating [07:00.560 --> 07:03.800] in the dominating ecosystem. [07:03.800 --> 07:09.560] What is also interesting in this regard is what we are having the databases right now [07:09.560 --> 07:21.240] not just being, you know, focused on a single data model, but many databases are able to [07:21.240 --> 07:28.160] support multiple data models, right, which is, I think, is a big trend and even potentially [07:28.160 --> 07:34.320] speak multiple, multiple protocols, right, like here are some examples, right, if you [07:34.320 --> 07:41.680] look at the ClickHouse, which is data analytical database, it is able to talk ClickHouse but [07:41.680 --> 07:47.680] as well as PostgreSQL and MySQL protocol, right, so their ideas, hey, you know, wherever [07:47.680 --> 07:53.440] programming language and libraries you already use, you can just connect to us and, you know, [07:53.440 --> 07:58.560] find your queries, you know, fantastic idea, right, or the time series database, Victoria [07:58.560 --> 08:07.120] Matrix also is able, is implementing things like in FluxDB and Graphite API for data ingest, [08:07.120 --> 08:10.960] again, I think, very, very smart. [08:10.960 --> 08:18.240] We also see some frameworks which allow us to do some of conversion and translation, [08:18.240 --> 08:25.480] for example, FerroDB, the projects allow you to use PostgreSQL back end with MongoDB [08:25.480 --> 08:33.040] front end, right, or Amazon released recently Babylfish, which turns your PostgreSQL in [08:33.040 --> 08:42.520] Microsoft SQL comparable database, right, so a lot of this, I think, you know, interesting [08:42.520 --> 08:46.720] integration is going on those days. [08:46.720 --> 08:55.320] If you look at their databases, we also see a lot of difference in the databases for a [08:55.320 --> 09:03.520] purpose and design, right, like we are speaking about operational analytical, how is it used, [09:03.520 --> 09:10.400] how it's internally structured and so on and so forth, right, and why am I listing that [09:10.400 --> 09:18.560] is because if you look at their, at the complicated environments, right, with a lot of complicated [09:18.560 --> 09:24.160] database, it's very unlikely you will be limited only to one database, right, of course, as [09:24.160 --> 09:28.920] the previous speaker mentioned, well, you know, you probably don't want to have 50 because [09:28.920 --> 09:35.800] that is way too, too much complexity, right, and you want to be very mindful about how [09:35.800 --> 09:44.120] you introduce them to you, to your environment, but it's probably going to be more than one, [09:44.120 --> 09:46.920] than one of those days. [09:46.920 --> 09:55.800] Now we also speak about besides storage, about distributed storage, like why is that important? [09:55.800 --> 10:05.040] Well, if you think about this, that is all of redundancy performance and scale, right, [10:05.040 --> 10:10.400] I mean, saying if I just have a storage which is not distributed, right, which is the kind [10:10.400 --> 10:19.080] of really sort of one device only, I will be limited and all of those. [10:19.080 --> 10:26.080] I think this is even more important in the cloud, right, because if you look at the age [10:26.080 --> 10:32.880] before the cloud, often we would be in a case where we have some one very powerful, very [10:32.880 --> 10:38.720] redundant server, right, maybe with a hot swap rate and redundant power supplies, right, [10:38.720 --> 10:44.600] and we expect that beast is never going to go down, right, well, that is not how we operate [10:44.600 --> 10:50.360] in the cloud anymore, right, we assume any company in the cloud is going to die, right, [10:50.360 --> 10:56.440] and they actually do die more frequently, right, if you look at the stats within like [10:56.440 --> 11:02.160] a meantime within failures, let's say for VMs compared to what you could get with some, [11:02.160 --> 11:08.000] you know, beast from the past, well, it's going to be different, right, but that means [11:08.000 --> 11:15.480] we need things distributed at least from a higher ability standpoint. [11:15.480 --> 11:24.200] Okay, the fact, let's look a little bit about the storage types as promised. [11:24.200 --> 11:30.680] One is our commodity storage types, right, and this comments to the previous talk I did, [11:30.680 --> 11:36.840] this commodity storage types, they are pretty much the same in every cloud, there are minor [11:36.840 --> 11:43.840] differences but they are, I would say, like a commodity building blocks, right, they have [11:43.840 --> 11:49.800] a relatively simple interface and usually it is relatively easy to migrate, so the lock [11:49.800 --> 11:58.200] in, right, the word we don't like on this track, right, is going to be relatively low [11:58.200 --> 12:08.000] with them, one is node local storage, I mentioned, hey, well, it's pretty much every major [12:08.000 --> 12:16.160] and even your second tier cloud typically offer you some kind of local storage, right, [12:16.160 --> 12:22.440] and it can vary in terms of, you know, performance it offers and so on and so forth, but that [12:22.440 --> 12:31.120] is pretty much the same, right, from what that gives you, right, and that is fantastic, [12:31.120 --> 12:37.480] right, but again, that is where I would, if you are looking from that, I would focus on [12:37.480 --> 12:42.880] the performance because that is where surprises can await you, right, and saying, hey, this [12:42.880 --> 12:50.440] cloud vendor and that both have a storage, right, one of them has its, you know, implemented [12:50.440 --> 12:57.440] as a very fast NVMe flash storage, other something not so fast, well, that may have a very big [12:57.440 --> 13:01.640] difference for your application. [13:01.640 --> 13:07.560] The second most common one would be the network block storage, right, that's typically how [13:07.560 --> 13:14.760] we store the data so that can, in the cloud, so it can survive their depth of instance [13:14.760 --> 13:21.960] and Amazon would be EBS, right, and all the other cloud has something similar. [13:21.960 --> 13:28.240] We also have some additional solutions in this case coming from the proprietary vendors, [13:28.240 --> 13:40.600] right, like from those vendors, right, which, you know, provide you some additional features [13:40.600 --> 13:46.800] and there is actually quite a lot of different solutions which exist if you want to roll [13:46.800 --> 13:55.560] out their block storage in the open source, right, and I think this is kind of very cool [13:55.560 --> 14:05.280] and that shows how things are evolving in the open source space, right, we had sort of [14:05.280 --> 14:10.720] this block storage idea for a long time, so a lot of projects evolved, right, and they [14:10.720 --> 14:15.560] have a lot of choices. [14:15.560 --> 14:21.720] The next type of storage in the cloud would be your file storage, right, like when you [14:21.720 --> 14:29.400] can say, hey, I can mount something locally, not as a block device, but as a file system, [14:29.400 --> 14:37.800] in many cases that would be your NFS or SMB compatible file system, or both, right, again, [14:37.800 --> 14:44.520] all the cloud will support something other file systems, there are a number of major [14:44.520 --> 14:50.640] proprietary cloud vendors, they support sort of solution in this case, and again, in open [14:50.640 --> 14:56.880] source there are also solutions in this case, right, and you can see there is like some [14:56.880 --> 15:02.800] connections, right, so many open source protocols which just say, hey, we are focusing on the [15:02.800 --> 15:10.520] storage, right, they may provide different interfaces, right, and well, and that kind [15:10.520 --> 15:15.320] of makes sense. [15:15.320 --> 15:21.800] The next one would be the object store, right, and that is I think a very important component [15:21.800 --> 15:27.400] which appeared in the cloud, and that is interesting in the new commodity storage, right, because [15:27.400 --> 15:32.640] if you think about the age before the cloud, we always had that, you know, local files [15:32.640 --> 15:39.240] system, we had like, you know, network servers, right, with your remote file systems for very [15:39.240 --> 15:45.800] long time, but we didn't really have anything like S3, right, until the, like at least kind [15:45.800 --> 15:54.960] of in a common use, right, and that has appeared and used a lot those days as a building block [15:54.960 --> 16:00.040] for many applications, because it's actually very cool, right, it's kind of bottomless, [16:00.040 --> 16:06.560] right, you can access it on HTTP directly so you don't have to, you know, process the [16:06.560 --> 16:13.440] pass data through your application all the time, right, it's very scalable and so on [16:13.440 --> 16:21.200] and so forth, even many databases those days, again, like both proprietary and open source [16:21.200 --> 16:28.240] are now starting to be built by using object store as a back end instead of your conventional [16:28.240 --> 16:30.680] file system. [16:30.680 --> 16:38.400] I think what is interesting in this case is what there are a lot of also object store [16:38.400 --> 16:46.320] cloud vendors which exist, right, so it's not just Amazon, like, or even kind of major [16:46.320 --> 16:55.280] cloud anymore, right, and here you can see like two types of commercial vendors, right, [16:55.280 --> 17:03.160] our usual suspects, NetApp and Portworx, they do have a solution for S3 compatibility, right, [17:03.160 --> 17:09.920] but also we have solutions like Wasabi or BlackBase, right, which are offering you S3 [17:09.920 --> 17:17.560] which you can, compatible services which we can use as less costly replacement or kind [17:17.560 --> 17:21.520] of like a supplemental to your main cloud, right, for example, you may say, well, you [17:21.520 --> 17:27.120] know what, I have my stuff in Amazon but I want to make sure also back up somewhere [17:27.120 --> 17:34.640] else, you know, just so well, there are numbers of vendors out there, and then if you want [17:34.640 --> 17:48.840] to like run the storage in your, in your, well, locally, right, there are also now number [17:48.840 --> 17:54.480] of vendors, and I specifically wanted to flag the Minio in this case because I think they [17:54.480 --> 18:06.720] have been the most successful, right, as providing S3 compatible interface in their, for private [18:06.720 --> 18:11.840] cloud in those days, okay. [18:11.840 --> 18:15.440] Now let's look at the databases and data stores. [18:15.440 --> 18:20.080] I think the interesting thing about the database and data stores is what unlike the previous [18:20.080 --> 18:26.640] storage types which are kind of relatively commoditized, right, have a relatively simple [18:26.640 --> 18:33.440] interfaces and relatively simple to, to replace, like if you store data in S3, right, and now [18:33.440 --> 18:40.040] want to store it in Minio, well, guess what, right, you have a different endpoint, maybe [18:40.040 --> 18:45.600] have some, you know, little configuration differences, but that is not a big deal. [18:45.600 --> 18:53.160] It's a very, very different, right, and even so-called, I would say, like a similar offerings [18:53.160 --> 19:04.080] actually often end up to be very, very distant because of their, well, of a lot of complexity [19:04.080 --> 19:09.240] which can, which exist in a database space, right, so that is, I think, where using some [19:09.240 --> 19:12.880] open source solution is especially important. [19:12.880 --> 19:15.760] So let's look at some of the databases in this case. [19:15.760 --> 19:21.600] One, what I would call Q stream data pipelines, right, wherever we want to call it, right, [19:21.600 --> 19:28.040] that is increasingly is a very important component of modern, you know, data-driven architectures, [19:28.040 --> 19:29.040] right. [19:29.040 --> 19:32.920] You often want to say, hey, we have a data comes in, right, and maybe it kind of flows [19:32.920 --> 19:40.000] to a number of, you know, consumers being maybe, you know, processed alone, along the [19:40.000 --> 19:47.680] way, it's kind of your data plumbing, right, it's not conventional database, but it's [19:47.680 --> 19:48.680] very important. [19:48.680 --> 19:54.360] What I think is interesting in this case, right, is what we are actually a lot of options. [19:54.360 --> 20:00.880] Well, you see at the Amazon AWS, right, and they probably would have more services than [20:00.880 --> 20:06.760] that, right, we have a huge amount of solutions in this case, some of that is because they [20:06.760 --> 20:13.840] kind of started first, right, maybe implement something, and then open source solution exists, [20:13.840 --> 20:20.440] right, and in general, right, because Amazon has a huge number of different services those [20:20.440 --> 20:26.200] days, I think it's like more than 200. [20:26.200 --> 20:36.880] If you look at the proprietary solutions, in this case, you can see Kafka is being, I [20:36.880 --> 20:46.000] think, the most common solution these days for building your plumbing, and then additionally [20:46.000 --> 20:50.520] we can see this technology, right, Panda coming up, which is saying, hey, we are providing [20:50.520 --> 20:55.680] to you something which is Kafka compatible, remember, I mentioned earlier, right, what [20:55.680 --> 21:02.480] those days, people are often building comparability of existing protocols, but it is faster, [21:02.480 --> 21:11.560] simpler, yada, yada, right, I put them in the proprietary side, like specifically right [21:11.560 --> 21:17.200] Panda, because they are one of those companies which started as an open source and then later [21:17.200 --> 21:27.360] changed the license to, you know, something not quite open source, we do have a lot of [21:27.360 --> 21:36.840] solutions in open source, it's good to point out what Kafka instead, right, is Apache open [21:36.840 --> 21:42.760] source project, right, Confluent has a commercial offerings build on Kafka, but Kafka itself [21:42.760 --> 21:50.040] is an open source as well as actually many other open source solutions in this space, [21:50.040 --> 21:55.480] what I think is interesting in terms of like Qs, there is also often certain solutions [21:55.480 --> 22:02.200] which exist in the given programming language ecosystem, right, so you will find what often, [22:02.200 --> 22:07.440] you know, go long people will have their own choices compared to the Java people, right, [22:07.440 --> 22:16.920] and so on and so forth, if you look at relational databases, well in the cloud we have a lot [22:16.920 --> 22:26.480] of choices often ranging from providing you wrapped and extended open source databases [22:26.480 --> 22:31.960] to also proprietary database available in the cloud, right, if you want Oracle or Microsoft [22:31.960 --> 22:39.320] SQL, typically that also is available on most of the cloud. [22:39.320 --> 22:49.080] What you also see in this case, there are a lot of proprietary solutions in this case, [22:49.080 --> 22:58.880] right, which exist, right, and in many cases you will find those coming from your proprietary [22:58.880 --> 23:09.920] vendor or you see a lot of companies those days which are providing the proprietary management [23:09.920 --> 23:19.880] service right around open source databases, so for example you will find Avent here, right, [23:19.880 --> 23:26.560] which is on like one extended provide the management services for a lot of open source [23:26.560 --> 23:32.600] databases, but I still put them as proprietary vendor because if you can say, hey, you know, [23:32.600 --> 23:38.360] is there this open source version of your kind of fancy GUI, right, so instead of paying [23:38.360 --> 23:45.000] you can I take it around in my own data center, well the answer would be no, right, well, [23:45.000 --> 23:51.640] so foundation like its solution includes open source data components as a core database [23:51.640 --> 23:59.760] but as a whole it is not, right, and that applies to many vendors in those case. [23:59.760 --> 24:08.280] Now, if you look at the open source, there are actually a lot of databases available [24:08.280 --> 24:14.720] both from like an old guard like MySQL, Postgres, MariaDB, right, as well as the new folks [24:14.720 --> 24:25.480] in the block like Ugabyte, TyDB, Percon also provides our own version for MySQL and Postgres [24:25.480 --> 24:34.320] but typically that requires more of, I would say like manual work to deploy, right, compared [24:34.320 --> 24:41.880] to databases as a service which exists in a proprietary space. [24:41.880 --> 24:45.960] Here are some choices in the analytical spaces, right, that is I would think one of the big [24:45.960 --> 24:53.400] decisions for relational databases because of kind of building database which optimizes [24:53.400 --> 24:58.280] for transactional work load and analytical work load is kind of quite different, right, [24:58.280 --> 25:07.400] they're designed and shownly very, very different, right, and so there are typically different [25:07.400 --> 25:13.720] choices out there. There is a little bit of overlap those days, right, some database position [25:13.720 --> 25:22.520] themselves as HDAB, Hybrid Transaction Analytical Databases but you know, typically the databases [25:22.520 --> 25:33.320] are good one thing or for another. Here are some relational and analytical databases [25:33.320 --> 25:43.000] proprietary, right, you can see number of very common solution here and then you also [25:43.000 --> 25:50.160] have a number of open-source solutions in this case as well, right, I think what is very [25:50.160 --> 25:55.920] interesting is what as you look at the analytical standpoint, right, they are, it's also like [25:55.920 --> 26:04.320] a very big focus, right, if you know, very large amount of needs, right, so for example [26:04.320 --> 26:10.400] if you look some databases mentions here like you know, Preston, Trina, right, and saying [26:10.400 --> 26:14.560] hey we want you to provide information so you can take a data from all the different [26:14.560 --> 26:19.320] data sources, right, and join and query wherever you directly, right, that's very valid use [26:19.320 --> 26:23.680] case, right, something like you know, click house, focus on saying hey we provide you [26:23.680 --> 26:28.600] sort of like a real-time analytics, right, if you want to insert the data and then have [26:28.600 --> 26:34.680] it available for a query in the next second, well that's something what we focus on, right, [26:34.680 --> 26:48.080] or TIDB as I mentioned they go the HDAB database, okay, I have some sign to speed up, so the [26:48.080 --> 26:54.880] other class of databases which is quite important is the document store, right, I think if you [26:54.880 --> 27:02.680] look at for many, you know, simple applications, some new developers, right, you just say hey [27:02.680 --> 27:07.200] you know what, SQL relational databases, yada yada, too complicated, right, you want just [27:07.200 --> 27:12.440] to stuff our JavaScript objects directly in the database and work with that natively, [27:12.440 --> 27:20.880] not trying to spread them on normalized schema in relational database, but all of the cloud [27:20.880 --> 27:27.760] vendors major one they're offering their property solution in this space as well as we do have [27:27.760 --> 27:34.960] number of property solutions in this case, like I would say MongoDB and Couchbase are [27:34.960 --> 27:44.200] probably the most popular in this regard which come in both cloud and enterprise space. Now [27:44.200 --> 27:49.240] if you look at the open source, that is where I would have to say like both open source and [27:49.240 --> 27:56.320] source available, right, because well frankly the most popular document database is MongoDB [27:56.320 --> 28:05.120] which few years back ditched open source license, right, and well, so it is not open source [28:05.120 --> 28:10.200] solution anymore, right, if you're looking for open source compatible, right, where is an [28:10.200 --> 28:18.640] early stage open source MongoDB comparability, where is early stage project FerretDB which [28:18.640 --> 28:27.280] provides interface for Postgres, right, which I mentioned. One thing I would point out here is [28:27.280 --> 28:34.520] what relational databases, actually the lot of work recently is being much better for document [28:34.520 --> 28:40.640] store, right, specifically in JSON support, where you take MySQL, Postgres, right, or even SQLite, [28:40.640 --> 28:46.680] all of them are also usable, right, so in some cases when you say well you know what I want to [28:46.680 --> 28:53.400] have some document store but I don't really completely hate open relational databases, that [28:53.400 --> 29:02.960] also can be choice. Key value stores, that is another important model, in this case I think [29:02.960 --> 29:07.760] it's interesting what they really can go in a two different buckets, right, one is hey we are [29:07.760 --> 29:13.680] using that for caching, it's kind of in memory, transient, if you lose it we don't care but we [29:13.680 --> 29:20.440] want it to be fast, there is number of solutions here, from a proprietary non-cloud solutions, [29:20.440 --> 29:30.160] I think Redis is a main leader, in this case, right, we have both Redis Enterprise and the [29:30.160 --> 29:37.960] cloud, if you look at the open source key value storage, solutions in my opinion, we also have a [29:37.960 --> 29:44.200] key value, or I would say like a key value plus plus, right, because some of those solutions have a much [29:44.200 --> 29:51.600] more powerful language than key value, would be, you know, DynamoDB, CosmosDB, Bigtable, right, [29:51.600 --> 30:01.000] in a cloud space, Redis cloud and the enterprise versions of open source solutions, that's what [30:01.000 --> 30:10.880] exists here, and here are some examples of open source solutions, right, which have a key value [30:10.880 --> 30:15.400] stores, right, and again like a key value store plus plus, right, I mean, you would find like [30:15.400 --> 30:25.200] especially, I respect mentioned here, they are, well, do much more than, you know, a key value [30:25.200 --> 30:32.240] store, right, Cassandra as well, but they I would say not, don't position themselves as I would say [30:32.240 --> 30:43.880] like powerful as document stores, so yes, we have also time series databases, that is another class [30:43.880 --> 30:53.120] I wanted to cover here, right, again, you can see solutions from a proprietary vendors, from a cloud [30:53.120 --> 30:58.880] vendors, proprietary vendors, and probably what they're most interested here is their open source, [30:58.880 --> 31:06.800] it is also interesting what the time series database is also relatively new in technology, [31:06.800 --> 31:18.200] which has a lot more, I would say, choices those days. Well, let me finish over also mentioned [31:18.200 --> 31:27.800] maybe per corners role, right, in all of this and what we are trying to do, right, what we try to do [31:27.800 --> 31:34.280] is to really see to push boundaries on what possible if specifically open source databases, [31:34.280 --> 31:41.040] like, hey, you know what, if you want to have something which is, you know, totally open source, [31:41.040 --> 31:48.280] our focus is on my school MongoDB and Postgres, right, I mentioned MongoDB is not open source [31:48.280 --> 31:57.840] anymore, well, but that's not our choice, right, but I'm strict choice and we are having as much [31:57.840 --> 32:05.400] of our tooling even for MongoDB open source as possible, and what you build is 100% open [32:05.400 --> 32:12.560] source software around that, right, if you look at our distributions from my school MongoDB and [32:12.560 --> 32:17.800] Postgres, right, generally include a lot of their features with enterprise companies need, [32:17.800 --> 32:23.320] like, you know, auditing, authentication, whatever, but it is completely open source, [32:23.320 --> 32:32.480] and we focus both on your kind of conventional or old deployments on Linux as well as we have [32:32.480 --> 32:42.160] operators for Kubernetes, right, I think you have, like, some of the more advanced databases [32:42.160 --> 32:49.920] out there and all that stuff, again, besides MongoDB is open source, we don't have any [32:49.920 --> 32:57.280] proper resolution, plus we do have per quantum monitoring management, which we position as a [32:57.280 --> 33:05.040] single tooling where you can monitor and manage databases, you know, you can get something similar [33:05.040 --> 33:11.440] to a database as a service experience with Kubernetes backend, and again, that is all, [33:11.440 --> 33:19.000] you know, 100% open source, which you can play with if you choose. So, to finish it up with our [33:19.000 --> 33:25.680] storage in the cloud, right, as you probably have seen me going through that, right, some of you, [33:25.680 --> 33:31.160] I see falling asleep, some of you rolling in your eyes, and that is totally appropriate to [33:31.160 --> 33:37.800] action, right, because there's a lot of shit out there, right, that's like, like, lots of [33:37.800 --> 33:43.880] options out there, so important to know here, hey, there is no one size fits all, right, [33:43.880 --> 33:51.880] you guys can look with fits for your job for what your applications need, but one thing I wanted [33:51.880 --> 33:58.960] you to come out of this case, it's like one last, most important takeaway is what we could see in [33:58.960 --> 34:06.080] the all, like, where we slice and dice it, right, all those areas that have been a choice of more [34:06.080 --> 34:14.520] than one open source solutions available in every single class of storage you may need in the cloud, [34:14.520 --> 34:30.440] so that's all ahead. We have a little time for questions. [34:30.440 --> 34:53.040] Hello, my question is about an interesting tool, which used to exist, and Takane used to have it [34:53.040 --> 35:02.560] in the MySQL package, Handler Socket, so I think it was kind of discontinued, and I don't think it [35:02.560 --> 35:10.120] supports MySQL starting from 5.7, so is there any movement in the direction of supporting this [35:10.120 --> 35:16.800] kind of tool, which enables you to access your relational database both ways in a traditional [35:16.800 --> 35:24.920] SQL way and in a highly available... Well, that's right, so the question is about the Handler Socket [35:24.920 --> 35:32.120] interface for MySQL, right, and yes, and there was this, you know, interface, right, graduate, [35:32.120 --> 35:38.880] it's, I would say, came mostly out of use, right, and we, you know, stopped supporting that, [35:38.880 --> 35:47.040] it's, of your corner as well, there's a couple of replacements, right, one is which I think generally [35:47.040 --> 35:53.560] cover most of the use case of what Handler Socket did, one is MySQL supports memcache protocol, [35:53.560 --> 35:58.640] right, so if you look at for key value store, memcache comparability is out there, and then [35:58.640 --> 36:07.000] there is also something called docstore, right, that is the MongoDB-like protocol, right, [36:07.000 --> 36:13.080] which allows you to store documents, like JSON documents in the MySQL, that is an [36:13.080 --> 36:19.360] other choice, right, so I think within those two, well, it covers most of the Handler Socket use [36:19.360 --> 36:37.400] case as well. Okay, thank you, Peter.