Need advice about which tool to choose?Ask the StackShare community!
MySQL vs SQLite: What are the differences?
What is MySQL? The world's most popular open source database. The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
What is SQLite? A software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.
MySQL and SQLite can be categorized as "Databases" tools.
"Sql", "Free" and "Easy" are the key factors why developers consider MySQL; whereas "Lightweight", "Portable" and "Simple" are the primary reasons why SQLite is favored.
MySQL is an open source tool with 3.97K GitHub stars and 1.56K GitHub forks. Here's a link to MySQL's open source repository on GitHub.
According to the StackShare community, MySQL has a broader approval, being mentioned in 2991 company stacks & 3049 developers stacks; compared to SQLite, which is listed in 314 company stacks and 477 developer stacks.
Backend:
- Considering that our main app functionality involves data processing, we chose
Python
as the programming language because it offers many powerful math libraries for data-related tasks. We will useFlask
for the server due to its good integration with Python. We will use a relational database because it has good performance and we are mostly dealing with CSV files that have a fixed structure. We originally choseSQLite
, but after realizing the limitations of file-based databases, we decided to switch toPostgreSQL
, which has better compatibility with our hosting service,Heroku
.
We were looking at several alternative databases that would support following architectural requirements: - very quick prototyping for an unknown domain - ability to support large amounts of data - native ability to replicate and fail over - full stack approach for Node.js development After careful consideration MongoDB came on top, and 3 years later we are still very happy with that decision. Currently we keep almost 2TB of data in our cluster, and start thinking about sharding.
MySQL has a lot of strengths working for it. It's simple and easy to set up and use. It's JSON engine is also really good these days. Mongo is also simple to setup and use, and it's speed as a document-object storage engine is first class.
Where Postgres has both beat is in it's combining of all of the features that make both MySQL and Mongo great, while adding on enterprise grade level scalability and replication. It's Postgres' stability and robustness, while still fulfilling the roles of it's contemporaries extremely well that edge Postgre for me.
Pros of MySQL
- Sql789
- Free674
- Easy557
- Widely used527
- Open source485
- High availability180
- Cross-platform support158
- Great community103
- Secure77
- Full-text indexing and searching75
- Fast, open, available25
- SSL support14
- Robust13
- Reliable13
- Enterprise Version8
- Easy to set up on all platforms7
- Easy, light, scalable1
- Relational database1
- NoSQL access to JSON data type1
- Sequel Pro (best SQL GUI)1
- Replica Support1
Pros of SQLite
- Lightweight160
- Portable134
- Simple121
- Sql80
- Preinstalled on iOS and Android28
- Free1
- Telefon1
- Tcl integration1
- Portable A database on my USB 'love it'1
Sign up to add or upvote prosMake informed product decisions
Cons of MySQL
- Owned by a company with their own agenda13
- Can't roll back schema changes1
Cons of SQLite
- Not for multi-process of multithreaded apps2
- Needs different binaries for each platform1