SQLite is enough
Martin Baun Martin Baun
281 subscribers
5,775 views
0

 Published On Feb 13, 2024

SQLite is enough.
You should not use MySQL or Postgres.
And you should definitely not use queues
or other fancy cloud services like that


Here is why

Simplicity

Complexity is coming from everywhere,
and to keep ourselves sane,
we have to pursue simplicity.

At the end of the video
I'll show why SQLite is enough
Benchmarks and shit

SQLite benefits

But first, isn't SQLite just a toy technology?
Not really

SQLite gives a fresh breath of air
It is the sleek database
It is a super duper relational database
but just a file.
There are no servers.
It is incomprehensible what this does to your flow.

Elegant things happen when you just have a file.

1. Setup and permissions
2. Staging environment
3. Wonderful little things like Metabase

Why can you do this?


Standard Traffic

46% of websites received 1,001-15,000 visitors
19.3% received 15,001-50,000 visitors
23.2% received 50,001-250,000 visitors
11% received 250,001-10 million visitors
Only 0.5% of websites received more than 10 million visitors per month

https://blog.hubspot.com/blog/tabid/6...

Performance?

```
Insert 50,000 took 113.7 ms ([NOMUTEX, 1000, 8192, EXCLUSIVE, IMMEDIATE, OFF, TRUNCATE])
Insert 50,000 took 114.3 ms ([NOMUTEX, 1000, 8192, EXCLUSIVE, EXCLUSIVE, OFF, MEMORY])
Insert 50,000 took 114.3 ms ([NOMUTEX, 8000, 8192, EXCLUSIVE, IMMEDIATE, OFF, MEMORY])
Insert 50,000 took 114.8 ms ([NOMUTEX, 4000, 8192, EXCLUSIVE, IMMEDIATE, OFF, TRUNCATE])
Insert 50,000 took 115.0 ms ([NOMUTEX, 1000, 8192, NORMAL, IMMEDIATE, OFF, TRUNCATE])
Insert 50,000 took 115.1 ms ([NOMUTEX, 2000, 8192, EXCLUSIVE, IMMEDIATE, OFF, TRUNCATE])
Insert 50,000 took 115.5 ms ([NOMUTEX, 1000, 8192, NORMAL, IMMEDIATE, OFF, MEMORY])
Insert 50,000 took 116.0 ms ([NOMUTEX, 1000, 8192, NORMAL, EXCLUSIVE, OFF, TRUNCATE])
Insert 50,000 took 116.0 ms ([NOMUTEX, 4000, 8192, NORMAL, EXCLUSIVE, OFF, MEMORY])
Insert 50,000 took 116.2 ms ([NOMUTEX, 4000, 8192, EXCLUSIVE, IMMEDIATE, OFF, MEMORY])
...[snip]...
Insert 50,000 took 307.0 ms ([NOMUTEX, 1000, 8192, NORMAL, EXCLUSIVE, NORMAL, MEMORY])
Insert 50,000 took 316.3 ms ([FULLMUTEX, 1000, 1024, EXCLUSIVE, EXCLUSIVE, NORMAL, MEMORY])
Insert 50,000 took 335.3 ms ([FULLMUTEX, 2000, 4096, NORMAL, EXCLUSIVE, NORMAL, WAL])
Insert 50,000 took 348.9 ms ([NOMUTEX, 2000, 4096, NORMAL, IMMEDIATE, OFF, MEMORY])
Insert 50,000 took 351.4 ms ([NOMUTEX, 1000, 1024, NORMAL, IMMEDIATE, FULL, TRUNCATE])
Insert 50,000 took 355.1 ms ([FULLMUTEX, 2000, 1024, NORMAL, IMMEDIATE, NORMAL, TRUNCATE])
Insert 50,000 took 368.1 ms ([FULLMUTEX, 1000, 1024, NORMAL, EXCLUSIVE, FULL, MEMORY])
Insert 50,000 took 368.1 ms ([FULLMUTEX, 2000, 4096, NORMAL, EXCLUSIVE, NORMAL, MEMORY])
Insert 50,000 took 436.4 ms ([NOMUTEX, 1000, 1024, NORMAL, IMMEDIATE, FULL, WAL])
Insert 50,000 took 541.6 ms ([NOMUTEX, 1000, 4096, EXCLUSIVE, IMMEDIATE, FULL, MEMORY])
```

https://ericdraken.com/sqlite-perform...

How do you use SQLite
Don't forget to subscribe because one of the next video will be how to use SQLite in production

Shorts MSG
Checkout the full video below.
Yes, SQLite is enough

----------------------------

Goleko is the best project management tool with innovative features such as:

1. Screen recording on tasks directly
2. Time management directly built-in
3. Smartboard and our activity app help you to see everything that is going on.

Besides that, Goleko is a swift, simple, and yet powerful project management tool.
Imagine all the complicated features but so simple even your coworker can understand them.

A generous free version helps you get started. Checkout it out

Goleko.com

----------------------------

show more

Share/Embed