filmov
tv
RQLite Tutorial a Distributed SQLite HTTP Server

Показать описание
Alright, this is what we're going to do. We're going to talk about RQLite. If you're ever curious about RQLite or SQLite, it is a relational database.
And in fact, as we're going to learn about it right now, it is the world's largest, most widely used database because it's an embedded database. That means that it can work basically anywhere in any application. They made it really easy to embed it directly in your application.
So even mobile apps can come with it, web browsers, Chrome, Microsoft Edge, Opera, Mozilla, they all have built-in SQLite. Even games have this. It turns out it is the most widely used database for this reason and everyone on the planet has used SQLite.
There is a problem with SQLite if you want to use it the way you would like say MySQL or Postgres. These databases have administrivia baked into them by default. SQLite is just an embedded database.
It lets you access either an in-memory database or you can access a file on disk and it is super fast. You would think, oh, there's no way it could outperform MySQL or Postgres. It actually keeps on par and can defeat in terms of performance these other databases.
Here's the problem though. SQLite, it doesn't come with that administrivia capability. It doesn't have users or permissions or roles.
These other databases have those kinds of administrivia. SQLite doesn't. For example, RQLite brings with it one of the benefits that you get from MySQL or Postgres and that is distributed capabilities which allows you to easily, what do you do?
What do you do with databases? You want to have more than one for fault tolerance and scalability and that is what RQLite allows. I like my databases fault tolerant please with high availability and zero hassle.
Well, almost zero hassle. I was looking through it. It's near zero.
They do a pretty good job. You just have to collect a few things and also I have a, we're going to talk about a thing eventually here that I dislike. It's their algorithm that they use for the fault tolerance and distributed capabilities because I've seen significant failures in this approach.
Good news is though, seems like we've figured out the algorithm. Let's see what else we got here. What is, well actually let's just walk through what is RQLite.
It's quick, little, easy. RQLite is a distributed relational database that combines the simplicity of SQLite. No, it's more than that. They just take, okay, here's SQLite. Now let's make it distributed. We'll be able to throw it on all these servers.
They add an HTTP endpoint, which is my favorite thing. So now you can make HTTP calls to the RQLite server, which is running SQLite underneath and allows you to query your database or insert into it using HTTP, which is amazing. I really like that.
You also have, of course, our traditional mechanism for connecting. The good news is they add a robustness of fault tolerant, highly available system using the RAFT algorithm. It's developer friendly.
It's operations straightforward and designed for reliability with minimal complexity. I agree with this statement. The minimal complexity, it magics.
So if you're a DevOps engineer and you want to manage RQLite, you'll have a good time because it's really easy. This zero hassle, there's some hassle. There's a little bit of hassle, but minimal complexity, sure.
Yeah, that counts. It does deploy in seconds. There's no complex configurations. It's all CLI driven, which is fantastic. They have the HTTP API. I love this. This is so good. This is amazing. I like this part. This makes it very easy for app developers.
Seamlessly integrates with modern cloud infrastructure. They do have, they bring extra. It comes with extra. So it comes with a Docker container, a Helm chart for Kubernetes and a few extras. They do a really good job. It's very built on SQLite.
Well, it is SQLite. Let's take SQLite and then they put operations capabilities on it. It is the world's most popular database because of the fact that it is the most widely used.
It supports everything that the major databases support. Full text search, vector search, the new fancy vector search and JSON documents. See, it's got everything you need, basically. It has access control. I thought it only brought with it the distributed capability. Oh, wow.
RQLite basically turns SQLite into MySQL and Postgres. It does it in a much better, easier way. And encryption for secure deployments. Interesting. That goes above and beyond what I was expecting. That's amazing.
Reliable, rigorous automation testing. Clustering provides high availability and automatic node discovery through the Raft protocol, which is one of the nice features of RAFT.
And in fact, as we're going to learn about it right now, it is the world's largest, most widely used database because it's an embedded database. That means that it can work basically anywhere in any application. They made it really easy to embed it directly in your application.
So even mobile apps can come with it, web browsers, Chrome, Microsoft Edge, Opera, Mozilla, they all have built-in SQLite. Even games have this. It turns out it is the most widely used database for this reason and everyone on the planet has used SQLite.
There is a problem with SQLite if you want to use it the way you would like say MySQL or Postgres. These databases have administrivia baked into them by default. SQLite is just an embedded database.
It lets you access either an in-memory database or you can access a file on disk and it is super fast. You would think, oh, there's no way it could outperform MySQL or Postgres. It actually keeps on par and can defeat in terms of performance these other databases.
Here's the problem though. SQLite, it doesn't come with that administrivia capability. It doesn't have users or permissions or roles.
These other databases have those kinds of administrivia. SQLite doesn't. For example, RQLite brings with it one of the benefits that you get from MySQL or Postgres and that is distributed capabilities which allows you to easily, what do you do?
What do you do with databases? You want to have more than one for fault tolerance and scalability and that is what RQLite allows. I like my databases fault tolerant please with high availability and zero hassle.
Well, almost zero hassle. I was looking through it. It's near zero.
They do a pretty good job. You just have to collect a few things and also I have a, we're going to talk about a thing eventually here that I dislike. It's their algorithm that they use for the fault tolerance and distributed capabilities because I've seen significant failures in this approach.
Good news is though, seems like we've figured out the algorithm. Let's see what else we got here. What is, well actually let's just walk through what is RQLite.
It's quick, little, easy. RQLite is a distributed relational database that combines the simplicity of SQLite. No, it's more than that. They just take, okay, here's SQLite. Now let's make it distributed. We'll be able to throw it on all these servers.
They add an HTTP endpoint, which is my favorite thing. So now you can make HTTP calls to the RQLite server, which is running SQLite underneath and allows you to query your database or insert into it using HTTP, which is amazing. I really like that.
You also have, of course, our traditional mechanism for connecting. The good news is they add a robustness of fault tolerant, highly available system using the RAFT algorithm. It's developer friendly.
It's operations straightforward and designed for reliability with minimal complexity. I agree with this statement. The minimal complexity, it magics.
So if you're a DevOps engineer and you want to manage RQLite, you'll have a good time because it's really easy. This zero hassle, there's some hassle. There's a little bit of hassle, but minimal complexity, sure.
Yeah, that counts. It does deploy in seconds. There's no complex configurations. It's all CLI driven, which is fantastic. They have the HTTP API. I love this. This is so good. This is amazing. I like this part. This makes it very easy for app developers.
Seamlessly integrates with modern cloud infrastructure. They do have, they bring extra. It comes with extra. So it comes with a Docker container, a Helm chart for Kubernetes and a few extras. They do a really good job. It's very built on SQLite.
Well, it is SQLite. Let's take SQLite and then they put operations capabilities on it. It is the world's most popular database because of the fact that it is the most widely used.
It supports everything that the major databases support. Full text search, vector search, the new fancy vector search and JSON documents. See, it's got everything you need, basically. It has access control. I thought it only brought with it the distributed capability. Oh, wow.
RQLite basically turns SQLite into MySQL and Postgres. It does it in a much better, easier way. And encryption for secure deployments. Interesting. That goes above and beyond what I was expecting. That's amazing.
Reliable, rigorous automation testing. Clustering provides high availability and automatic node discovery through the Raft protocol, which is one of the nice features of RAFT.
Комментарии