<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/database/best-of/2024" -->

---
title: Best Database posts of 2024 | daily.dev
description: The most upvoted Database posts of 2024, curated by the daily.dev community.
canonical: https://daily.dev/tags/database/best-of/2024
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/database/best-of/2024
og:type: website
og:site_name: daily.dev
og:title: Best Database posts of 2024 | daily.dev
og:description: The most upvoted Database posts of 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Database — 2024

1. 1  
[](/posts/learn-sql-while-solving-crimes-sql-police-department-fzejwrwjv "Learn SQL while solving crimes! SQL Police Department")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Learn SQL while solving crimes! SQL Police Department  
Structured Query Language (SQL) is a powerful language used to access and manipulate data in tables. Key operations include selecting all or specific columns, filtering and sorting rows, eliminating duplicates, and using conditional statements to refine data queries. Understanding these basics enables effective data management and retrieval.

2.6K  
114
2. 2  
[](/posts/system-design-how-to-scale-a-database-i2uidupks "System Design: How to Scale a Database")  
Article  
![Avatar of substack](https://media.daily.dev/image/upload/s--KFqxX_OL--/f_auto,t_logo/v1698154293/logos/substack.jpg)Substack · 2y  
System Design: How to Scale a Database  
Scaling a database is essential as an application grows to maintain optimal performance. Strategies include: vertical scaling, adding resources to one server; indexing, creating indexes on frequently queried columns; sharding, splitting data across different servers; vertical partitioning, separating columns into smaller tables; caching, storing frequently accessed data in a faster storage layer; replication, creating copies of the database in different regions; materialized views, pre-computing and storing complex query results; and data denormalization, introducing redundancy to optimize reads by combining tables. Each method has trade-offs and can be combined based on application needs.

1.3K  
26
3. 3  
[](/posts/we-made-daily-dev-faster-see-how-we-did-it-uzorvcrrs "We made daily.dev faster ⚡️ See how we did it")  
Article  
![Avatar of dailydevworld](https://media.daily.dev/image/upload/s--Nz8m8vMZ--/f_auto,q_auto/v1/squads/a1f0092b-0ee1-414b-82e6-f2c92d7335e4)daily.dev World · 2y  
We made daily.dev faster ⚡️ See how we did it  
Over the last two weeks, daily.dev optimized its performance, focusing on improvements for low-end mobile devices, upgrading infrastructure with newer CPUs and spot nodes, and refining content pipelines and ML models. Enhancements included reducing JavaScript bundle sizes, optimizing image loading, and reducing fields in feed requests. These changes resulted in up to 50% faster page load times, especially on mobile devices.  
827  
77
4. 4  
[](/posts/stop-using-count-id-to-count-rows-vlrnmqlzw "Stop using COUNT(id) to count rows")  
Video  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Stop using COUNT(id) to count rows  
Counting rows using COUNT(\*) in MySQL is not slow as often believed. It is actually optimized to be the fastest way to count rows.  
789  
27
5. 5  
[](/posts/mysql-visual-explain-bb9s4esqc "MySQL Visual Explain")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
MySQL Visual Explain  
Investigate slow query performance through a simple visualization tool instead of deciphering MySQL's complex EXPLAIN output. Most developers find EXPLAIN difficult to read because it was designed for internal use by MySQL developers to debug and tune query execution.  
561  
13
6. 6  
[](/posts/stop-using-uuids-in-your-database-g7al89qis "Stop Using UUIDs in Your Database")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Stop Using UUIDs in Your Database  
This post discusses the performance issues and storage impact of using UUIDs as keys in a database.  
551  
72
7. 7  
[](/posts/mastering-sql-joins-jahppabsg "🐼 Mastering SQL Joins")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 3y  
🐼 Mastering SQL Joins  
This post explores the concept of table joins in SQL, covering different join types such as inner join, left join, and right join. It also discusses how to identify and handle orphan records in a database.  
445  
5
8. 8  
[](/posts/sql-playground---powerful-online-sql-sandbox-j0i61l2wa "SQL Playground - Powerful online SQL sandbox")  
Article  
![Avatar of ph](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ph)Product Hunt · 2y  
SQL Playground - Powerful online SQL sandbox  
SQL Playground is a powerful online SQL sandbox that was launched on June 10th, 2024\. It is an educational tool and developer tool in the database category. The platform has not been rated yet.  
445  
19
9. 9  
[](/posts/announcing-an-open-source-monitoring-extension--yp2emuefd "Announcing an Open Source Monitoring Extension...")  
Article  
![Avatar of crunchydata](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/689da8cf2d2a4fa4b09736e4f4b18fce)Crunchy Data · 2y  
Announcing an Open Source Monitoring Extension...  
Crunchy Data has introduced a new open-source pgMonitor extension aimed at improving PostgreSQL monitoring. The extension enhances query performance and simplifies metric collection by leveraging materialized views and background workers. It offers broad compatibility with various monitoring systems, ensures consistent metric updates, and adapts easily to changes in PostgreSQL versions. Users can also define custom metrics and refresh intervals to meet specific needs.  
426  
11
10. 10  
[](/posts/improve-your-sql-skills-x2-in-5-minutes-y4kbl9kze "Improve your SQL skills X2 in 5 minutes")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Improve your SQL skills X2 in 5 minutes  
Learn how to advance your SQL skills by working with CTEs and window functions. Discover the importance of SQL for managers and how it can help answer business questions and assist with technical designs. Explore the different types of window functions available in SQL.  
419  
9
11. 11  
[](/posts/making-a-postgres-query-1-000-times-faster-x2eh9cpkk "Making a Postgres query 1,000 times faster")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Making a Postgres query 1,000 times faster  
The author shares their journey of optimizing a Postgres query to make it 1,000 times faster. They discovered that the query was taking longer and longer each time it was executed due to processing all rows in the table and the use of a filter instead of an index condition. By using row constructor comparisons, they were able to significantly improve the query performance.  
384  
10
12. 12  
[](/posts/chartdb-chartdb-free-and-open-source-database-diagrams-editor-visualize-and-design-your-db-with-a--kkmpsuqq3 "chartdb/chartdb: Free and Open-source database diagrams editor, visualize and design your DB with a single query.")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
chartdb/chartdb: Free and Open-source database diagrams editor, visualize and design your DB with a single query.  
ChartDB is a web-based, open-source database diagramming editor that allows you to instantly visualize and customize your database schema using a single query. It features AI-powered export for easy database migrations, supports interactive schema editing, and requires no installations or database passwords. Currently in public beta, it supports PostgreSQL, MySQL, SQL Server, MariaDB, and SQLite.  
378  
20
13. 13  
[](/posts/optimizing-web-backends-tb8l8dffu "Optimizing Web Backends")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Optimizing Web Backends  
The post discusses common techniques for optimizing web backend performance, focusing on issues related to high response times. It categorizes optimization strategies into three main layers: Application, Database, and Infrastructure. Key methods include optimizing algorithms, using asynchronous functions, leveraging concurrency, indexing databases, scaling databases, data compression, using CDNs, upgrading to HTTP/2 or HTTP/3, and replicating infrastructure. Continuous measurement and testing are emphasized to ensure effectiveness.  
343  
5
14. 14  
[](/posts/chartdb-jdsi3ker8 "ChartDB")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
ChartDB  
ChartDB is a free and open-source database design editor that simplifies the creation of database diagrams. It allows users to import, edit, and export database schemas using a single query, supporting popular relational DBMS like MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQL Lite. Features include a visual query editor, the ability to add tables and notes, and exporting diagrams as SQL scripts or images.  
335  
12
15. 15  
[](/posts/chartdb-from-zero-to-1-5k-github-stars-in-3-days---here-s-how--wjx2e6vo1 "ChartDB: From Zero to 1.5K GitHub Stars in 3 Days - Here’s How 🚀⭐️")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
ChartDB: From Zero to 1.5K GitHub Stars in 3 Days - Here’s How 🚀⭐️  
ChartDB, a revolutionary tool in database design, received 1.5K GitHub stars within 3 days of its launch. Created by Guy Ben-Aharon and his co-founder, its goal is to simplify database visualization for developers. Built in just three weeks, the project highlights the future of coding with tools like Code Cursor and Claude 3.5 Sonnet. Future plans include AI integration, community collaboration, and feature expansion.  
321  
14
16. 16  
[](/posts/ep118-what-are-the-differences-among-database-locks--eyw9hww4t "EP118: What are the differences among database locks?")  
Article  
![Avatar of bytebytego](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/35be29234ee14d01a9cd049c52e12753)ByteByteGo · 2y  
EP118: What are the differences among database locks?  
Database locks are mechanisms to ensure data integrity and consistency by preventing concurrent access. Common types include Shared Lock, Exclusive Lock, Update Lock, Schema Lock, Bulk Update Lock, Key-Range Lock, Row-Level Lock, Page-Level Lock, and Table-Level Lock. Pagination in API design addresses large datasets with techniques like offset-based, cursor-based, page-based, keyset-based, time-based, and hybrid pagination. Further highlights cover architecture patterns (MVC, MVP, MVVM, MVVM-C, VIPER) and web browsing process from typing a URL to loading a webpage.  
319  
5
17. 17  
[](/posts/in-search-of-improving-database-performance-a-comprehensive-guide-with-8-key-strategies-pwgeklk4h "In Search of Improving Database Performance: A Comprehensive Guide with 8 Key Strategies")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 2y  
In Search of Improving Database Performance: A Comprehensive Guide with 8 Key Strategies  
The post explores eight key strategies to boost database performance. It covers query optimization techniques, avoiding correlated subqueries, batching operations, leveraging materialized views, utilizing indexes, and analyzing query execution plans. Additional strategies include configuring database settings, employing caching strategies, employing database partitioning, sharding, and replication methods to enhance read/write speeds and manage large datasets efficiently.  
301  
6
18. 18  
[](/posts/system-design-interview-design-twitter-x--25drc6u1i "System Design Interview: Design Twitter (X)")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 2y  
System Design Interview: Design Twitter (X)  
This post discusses the design of a Twitter-like app, covering functional and non-functional requirements, API endpoints for key features like tweeting and user interactions, and strategies for scalable, read-heavy systems. Key components include client apps, load balancers, API servers, relational databases, caching solutions, object storage, and CDNs. The post also explores techniques for database scaling through read replicas and sharding, and the use of message queues for handling peak loads.  
297  
8
19. 19  
[](/posts/instantdb-instant-the-realtime-client-side-database-vxn8vqyn0 "instantdb/instant: The realtime client-side database")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
instantdb/instant: The realtime client-side database  
Instant is a client-side database designed to simplify the creation of real-time and collaborative applications. It allows you to write relational queries, handles data fetching, permission checking, offline caching, optimistic updates, and rollbacks. It features multiplayer queries by default and supports ephemeral updates. SDKs are available for Javascript, React, and React Native. Instant uses a Postgres backend with a sync server written in Clojure and offers a free tier for quick startups.  
277  
9
20. 20  
[](/posts/dokploy-dokploy-open-source-alternative-to-vercel-netlify-and-heroku--heqbiiryp "Dokploy/dokploy: Open Source Alternative to Vercel, Netlify and Heroku.")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Dokploy/dokploy: Open Source Alternative to Vercel, Netlify and Heroku.  
Dokploy is a self-hostable PaaS that simplifies deployment and management of applications and databases using Docker and Traefik. It supports various types of applications and databases, integrates with Traefik for routing and load balancing, offers real-time monitoring and automated database backups.  
275  
15
21. 21  
[](/posts/design-a-robust-school-bus-tracker-system-mo9exxpas "Design a Robust School Bus Tracker System")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Design a Robust School Bus Tracker System  
This post discusses the architecture for a school bus tracker system, focusing on real-time monitoring and parental notifications. Key functional requirements include frequent location updates, real-time map visualization, proximity notifications, and data isolation between schools. Non-functional requirements involve scalability, high availability, reliability, security, and privacy. The post elaborates on various technical aspects such as API design, geohashing for location indexing, and using Redis for real-time updates. It also covers the system’s read/write ratio, proposing DynamoDB, and explores various scalability strategies using AWS managed services.  
267  
11
22. 22  
[](/posts/database-sharding-47ztjmcaj "Database Sharding")  
Article  
![Avatar of systemdesigncodex](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/0df89304c19443509ec91a6ccb707853)System Design Codex · 2y  
Database Sharding  
Sharding is a method for horizontally scaling databases by partitioning data into smaller, manageable pieces, known as shards. It can be implemented logically within the same server or physically across different servers. Key-based, range-based, and directory-based sharding are some strategies used depending on the needs. Each has its benefits and drawbacks, and the choice depends on whether read or write optimization is prioritized. Sharding can help improve performance by reducing the quantity of data each query needs to handle but also introduces complexity and potential hotspots.  
240  
3
23. 23  
[](/posts/databases-in-depth-complete-course-od3twuyvn "Databases In-Depth – Complete Course")  
Article  
![Avatar of collections](https://media.daily.dev/image/upload/s--fk_6ycEi--/f_auto,q_auto/v1780996001/logos/collections?_a=BAMAMiWQ0)Collections · 2y  
Databases In-Depth – Complete Course  
A comprehensive course on database architecture and optimization, designed by Keerti Purswani and available on freeCodeCamp.org's YouTube channel. It covers transaction management, storage engines, advanced indexing techniques, an in-depth look at SQLite, and understanding MongoDB and PostgreSQL. Suitable for both beginners and experienced engineers, the course aims to equip learners with the skills to manage and optimize data systems efficiently.  
236  
2
24. 24  
[](/posts/system-design-interview-question-design-url-shortener-npflelqw9 "System Design Interview Question: Design URL Shortener")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 2y  
System Design Interview Question: Design URL Shortener  
Designing a URL shortener tool requires considering functional and non-functional requirements, estimating the number of unique URLs needed, and implementing key components like users, load balancer, web servers, URL shortener service, and database. The API design includes creating a short URL and redirecting to the long URL. The database should be optimized for fast read and write operations, and the URL shortener service can use methods like hashing, auto-increment IDs, or custom algorithms. Caching and database scaling strategies are important for high availability and low latency. Security considerations include input validation, rate limiting, monitoring and logging, obfuscation, and link expiration.  
233  
8
25. 25  
[](/posts/the-ultimate-open-source-starter-kit-7jejxwqs3 "The Ultimate Open Source Starter Kit")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
The Ultimate Open Source Starter Kit  
The Ultimate Open Source Starter Kit provides a modern stack using Neon.tech for a serverless PostgreSQL database, Next.js, Lucia Auth, Bun, Vercel, ShadCN, Tailwind CSS, and Typescript. Designed for rapid SaaS deployment, the kit includes light/dark mode, and a blog feature with MDX for content management. It offers a robust and scalable foundation easily customizable for your specific needs.  
214  
6

[See all Database archives](/tags/database/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/database/best-of/2024#page","url":"https://daily.dev/tags/database/best-of/2024","name":"Best Database Posts of 2024","description":"The most upvoted Database posts of 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/database/best-of/2024#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/learn-sql-while-solving-crimes-sql-police-department-fzejwrwjv","name":"Learn SQL while solving crimes! SQL Police Department"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/system-design-how-to-scale-a-database-i2uidupks","name":"System Design: How to Scale a Database"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/we-made-daily-dev-faster-see-how-we-did-it-uzorvcrrs","name":"We made daily.dev faster ⚡️ See how we did it"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/stop-using-count-id-to-count-rows-vlrnmqlzw","name":"Stop using COUNT(id) to count rows"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/mysql-visual-explain-bb9s4esqc","name":"MySQL Visual Explain"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/stop-using-uuids-in-your-database-g7al89qis","name":"Stop Using UUIDs in Your Database"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/mastering-sql-joins-jahppabsg","name":"🐼 Mastering SQL Joins"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/sql-playground---powerful-online-sql-sandbox-j0i61l2wa","name":"SQL Playground - Powerful online SQL sandbox"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/announcing-an-open-source-monitoring-extension--yp2emuefd","name":"Announcing an Open Source Monitoring Extension..."},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/improve-your-sql-skills-x2-in-5-minutes-y4kbl9kze","name":"Improve your SQL skills X2 in 5 minutes"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/making-a-postgres-query-1-000-times-faster-x2eh9cpkk","name":"Making a Postgres query 1,000 times faster"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/chartdb-chartdb-free-and-open-source-database-diagrams-editor-visualize-and-design-your-db-with-a--kkmpsuqq3","name":"chartdb/chartdb: Free and Open-source database diagrams editor, visualize and design your DB with a single query."},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/optimizing-web-backends-tb8l8dffu","name":"Optimizing Web Backends"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/chartdb-jdsi3ker8","name":"ChartDB"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/chartdb-from-zero-to-1-5k-github-stars-in-3-days---here-s-how--wjx2e6vo1","name":"ChartDB: From Zero to 1.5K GitHub Stars in 3 Days - Here’s How 🚀⭐️"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/ep118-what-are-the-differences-among-database-locks--eyw9hww4t","name":"EP118: What are the differences among database locks?"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/in-search-of-improving-database-performance-a-comprehensive-guide-with-8-key-strategies-pwgeklk4h","name":"In Search of Improving Database Performance: A Comprehensive Guide with 8 Key Strategies"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/system-design-interview-design-twitter-x--25drc6u1i","name":"System Design Interview: Design Twitter (X)"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/instantdb-instant-the-realtime-client-side-database-vxn8vqyn0","name":"instantdb/instant: The realtime client-side database"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/dokploy-dokploy-open-source-alternative-to-vercel-netlify-and-heroku--heqbiiryp","name":"Dokploy/dokploy: Open Source Alternative to Vercel, Netlify and Heroku."},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/design-a-robust-school-bus-tracker-system-mo9exxpas","name":"Design a Robust School Bus Tracker System"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/database-sharding-47ztjmcaj","name":"Database Sharding"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/databases-in-depth-complete-course-od3twuyvn","name":"Databases In-Depth – Complete Course"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/system-design-interview-question-design-url-shortener-npflelqw9","name":"System Design Interview Question: Design URL Shortener"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/the-ultimate-open-source-starter-kit-7jejxwqs3","name":"The Ultimate Open Source Starter Kit"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Database","item":"https://daily.dev/tags/database"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/database/best-of"},{"@type":"ListItem","position":5,"name":"2024"}]}]}
```

