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

---
title: Best Database posts — January 2025 | daily.dev
description: The most upvoted Database posts from January 2025, curated by the daily.dev community.
canonical: https://daily.dev/tags/database/best-of/2025/01
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/database/best-of/2025/01
og:type: website
og:site_name: daily.dev
og:title: Best Database posts — January 2025 | daily.dev
og:description: The most upvoted Database posts from January 2025, 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 — January 2025

1. 1  
[](https://daily.dev/posts/backend-developer-roadmap-2025-the-complete-guide-kjemqdqhb "Backend Developer Roadmap 2025: The Complete Guide")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected·2y  
Backend Developer Roadmap 2025: The Complete Guide  
This guide outlines the essential skills and timelines needed to become a proficient backend developer by 2025\. It covers core topics such as programming languages (with a focus on Node.js), databases, APIs, version control, web servers, authentication, and deployment. The guide includes a free roadmap template with project ideas and a progress tracker to help you stay on course.

2.8K  
64
2. 2  
[](https://daily.dev/posts/bati-fwkc8byxq "Bati")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·2y  
Bati  
A comprehensive guide to building a full-stack application with data fetching, authentication, database integration, and server setup.  
227  
12
3. 3  
[](https://daily.dev/posts/next-js-tutorial-2025---build-a-full-stack-social-app-with-react-next-js-ce3gvfb1l "Next.js Tutorial 2025 - Build a Full Stack Social App with React & Next.js")  
Video  
![Avatar of asaprogrammer](https://media.daily.dev/image/upload/s--Yj15Yt3x--/f_auto/v1736752915/logos/asaprogrammer)As a Programmer·2y  
Next.js Tutorial 2025 - Build a Full Stack Social App with React & Next.js  
Learn to build a full stack social media application using React and Next.js. This detailed guide covers implementing core features like user authentication with Clerk, post creation, comments, likes, and notifications. The project also includes updating profiles, enabling dark mode, and ensuring a responsive UI design with Tailwind CSS. You will also integrate a PostgreSQL database using Prisma ORM and Neon, demonstrating key functionalities step-by-step.  
208
4. 4  
[](https://daily.dev/posts/why-you-should-use-compact-table-columns-mlygjrab2 "Why you should use compact table columns")  
Article  
![Avatar of vladmihalcea](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5dd0066095304e2ea086956d3ed96c1b)Vlad Mihalcea·2y  
Why you should use compact table columns  
Using compact table columns can significantly enhance database performance by allowing more records and index entries to be stored in memory, thus speeding up SQL queries. This practice is effectively demonstrated by StackOverflow, which uses a highly efficient schema to serve millions of queries per second with minimal hardware. Tips include using smaller data types for keys and enforcing column length limits for VARCHAR fields.  
127  
2
5. 5  
[](https://daily.dev/posts/visualizing-a-sql-query-zsrsy7tf7 "Visualizing a SQL query")  
Article  
![Avatar of databasedaily](https://media.daily.dev/image/upload/s--TW3sNqre--/f_auto/v1722780023/squads/d831aea7-eb82-4002-a808-aeaa1a1a5d52)Database Daily·2y  
Visualizing a SQL query  
122  
1
6. 6  
[](https://daily.dev/posts/database-sharding-planetscale-wpypvctab "Database Sharding — PlanetScale")  
Article  
![Avatar of planetscale](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/09515c29cafc45618b3f117eab4fccf8)PlanetScale·2y  
Database Sharding — PlanetScale  
Sharding is the process of improving database scalability by distributing data across multiple servers, known as shards. This technique is widely used by large companies like Uber and Slack. Effective sharding involves choosing the right sharding strategy and shard key to optimize performance and avoid issues like cross-shard queries. PlanetScale, built on Vitess, provides tools to simplify sharding implementation and management. Additionally, sharding can help with data durability, high availability, and faster backups by using replicas.  
108
7. 7  
[](https://daily.dev/posts/fixing-javascript-timezone-issues-cfokydjef "Fixing JavaScript Timezone Issues")  
Article  
![Avatar of neontech](https://media.daily.dev/image/upload/s--65EDghou--/f_auto/v1724339118/logos/neontech)Neon·2y  
Fixing JavaScript Timezone Issues  
Navigating timezone issues in JavaScript can be tricky. In a recent project, timezone metadata caused conflicts when booking parking slots. By removing timezone metadata and storing plain date-time strings, the team ensured consistent date and time storage across different timezones. Additionally, Neon’s easy connectivity and scalability proved beneficial for the project.  
95  
8
8. 8  
[](https://daily.dev/posts/aurijs-jason-slash-database-complexity-away-with-jason--sn01dtvio "aurijs/jason: Slash database complexity away with jason.")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·2y  
aurijs/jason: Slash database complexity away with jason.  
jason is a lightweight, embeddable JSON database designed for Bun projects. It features schema validation, concurrency control, and built-in caching. The simple API allows easy CRUD operations and custom queries. Jason supports versioning to track document changes and offers different concurrency strategies. Contributions to the project are welcome.  
82  
2
9. 9  
[](https://daily.dev/posts/next-js-multi-tenant-local-first-apps-are-easy-now-bvtmigfzo "Next.js Multi-Tenant & Local-First Apps Are Easy Now")  
Video  
![Avatar of bytegrad](https://media.daily.dev/image/upload/s--UnJ6vKLR--/f_auto/v1732552127/logos/bytegrad)ByteGrad·2y  
Next.js Multi-Tenant & Local-First Apps Are Easy Now  
SQLite can be challenging to use in production, but Turo, a sponsor of the video, simplifies the process by allowing easy setup of multi-tenant and local-first apps. Turo can manage numerous databases, create embedded replicas for low latency, and even integrate AI capabilities like storing vector embeddings. In a demo, the post shows creating a Next.js app with Turo's database management, showcasing benefits like simple database replication, creating multi-database schemas, and enabling point-in-time recovery.  
78
10. 10  
[](https://daily.dev/posts/why-knowing-toast-in-postgresql-is-necessary-for-backend-devs--z4w40uq4a "Why Knowing TOAST in PostgreSQL is necessary for Backend Devs!")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected·2y  
Why Knowing TOAST in PostgreSQL is necessary for Backend Devs!  
TOAST (The Oversized-Attribute Storage Technique) in PostgreSQL helps manage large data values exceeding the 8kB page size limit using compression and out-of-line storage. It supports various data types and uses four storage strategies: PLAIN, EXTERNAL, EXTENDED, and MAIN, each with different methods for managing oversized data. Understanding TOAST strategies can help optimize database performance.  
65  
1
11. 11  
[](https://daily.dev/posts/build-an-end-to-end-rag-pipeline-entirely-in-psql-using-pgrag-and-deepseek-err6oidun "Build an end-to-end RAG pipeline entirely in psql using pgrag and DeepSeek")  
Article  
![Avatar of neontech](https://media.daily.dev/image/upload/s--65EDghou--/f_auto/v1724339118/logos/neontech)Neon·2y  
Build an end-to-end RAG pipeline entirely in psql using pgrag and DeepSeek  
Retrieval-Augmented Generation (RAG) pipelines can be built entirely within psql using the pgrag extension, which works alongside the pgvector extension to enable efficient semantic searches within Postgres. The pgrag extension simplifies both the preparation of document embeddings and the handling of questions to retrieve relevant information. Users can extract text, generate embeddings, rerank results, and prompt AI chat models like DeepSeek directly within their database environment.  
60
12. 12  
[](https://daily.dev/posts/realfakenerd-jason-simple-fast-lightweight-json-database--npc1k7gk5 "realfakenerd/jason: simple, fast, lightweight JSON Database.")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·2y  
realfakenerd/jason: simple, fast, lightweight JSON Database.  
jason is a lightweight and embeddable JSON database designed for Bun projects, offering a simple API for CRUD operations and query functionalities. Features include schema validation, concurrency control, versioning support, built-in caching, and a flexible query system. The database can be easily integrated and used with minimal code, ensuring data integrity and preventing update conflicts.  
57  
5
13. 13  
[](https://daily.dev/posts/make-an-mmo-with-godot-4-golang-database-setup-for-persistent-game-world-xkce8s95u "Make an MMO with Godot 4 + Golang: Database setup for persistent game world")  
Video  
![Avatar of awego](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/awego)Awesome Go·2y  
Make an MMO with Godot 4 + Golang: Database setup for persistent game world  
Learn how to set up a SQLite database for a Godot 4 MMO using Golang. This guide covers establishing a connection, handling user registration and login, and writing SQL queries without using an ORM. Follow along to implement a secure and persistent game world. By the end of this tutorial, you'll have a functioning login system and the groundwork for more complex game logic.  
55
14. 14  
[](https://daily.dev/posts/great-idea-lets-implement-it--jwl5b6au4 "Great Idea! Lets implement it...")  
Article  
![Avatar of lonely_programmer](https://media.daily.dev/image/upload/s--7C6FGA_I--/f_auto/v1767629153/squads/3521c3b7-3bd8-4c65-9fc7-d8c17a55fcce?_a=BAMAK+ZW0)Lonely Programmer·2y  
Great Idea! Lets implement it...  
46  
10
15. 15  
[](https://daily.dev/posts/sqlite4-sqlite4-ynjuhkozb "SQLite4: SQLite4")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters·2y  
SQLite4: SQLite4  
SQLite4 was an experimental project from 2012 to 2014, aimed at rewriting SQLite. The project was discontinued, and its lessons were incorporated into SQLite3\. SQLite4 was never released or maintained and should not be used. The repository exists purely for historical reference.  
22  
1
16. 16  
[](https://daily.dev/posts/my-2024-web-development-journey-a-16-year-old-s-perspective-hnpxm3khq "My 2024 Web Development Journey: A 16-Year-Old's Perspective")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·2y  
My 2024 Web Development Journey: A 16-Year-Old's Perspective  
A 16-year-old web developer reflects on their journey in 2024, starting with mastering Next.js 14 and Sanity CMS. They share their experiences with learning PostgreSQL and Prisma, building real-world projects, balancing academic life with coding, landing their first freelance client, and starting an internship. The post highlights their continuous learning efforts and investments in personal branding and professional growth.  
20
17. 17  
[](https://daily.dev/posts/74-golang---postgresql-with-pgx-in-go-step-by-step-tutorial-catgrjcnt "#74 Golang - PostgreSQL with PGX in Go: Step-by-Step Tutorial")  
Video  
![Avatar of codeheim](https://media.daily.dev/image/upload/s--DSlJJUu6--/f_auto/v1710002834/logos/codeheim)codeHeim·2y  
#74 Golang - PostgreSQL with PGX in Go: Step-by-Step Tutorial  
Learn to use the PGX package to interact with PostgreSQL in Go. This tutorial covers installation, setting up connections, creating tables, inserting data, handling transactions, querying data, and updating and deleting records efficiently using PGX.  
15
18. 18  
[](https://daily.dev/posts/forget-sql-vs-nosql---get-the-best-of-both-worlds-with-json-in-postgresql-lic4fzrla "Forget SQL vs NoSQL - Get the Best of Both Worlds with JSON in PostgreSQL")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·2y  
Forget SQL vs NoSQL - Get the Best of Both Worlds with JSON in PostgreSQL  
The post explains how to leverage JSON within PostgreSQL to combine the benefits of both SQL and NoSQL databases. It details the evolution of JSON support in PostgreSQL, from the introduction of the JSON data type to more advanced features like JSONB and JSONPath. Additionally, it covers how to create and query JSON data, the importance of indexing for performance, and common anti-patterns to avoid. The post concludes by comparing JSON in PostgreSQL with traditional NoSQL databases and outlines when it's best to use each approach.  
15  
2
19. 19  
[](https://daily.dev/posts/event-sourcing-notes--5i34jaxcr "Event sourcing (notes)")  
Article  
![Avatar of tigerabrodi](https://media.daily.dev/image/upload/s--YHA5dYl8--/f_auto/v1718349472/logos/tigerabrodi)Tiger's Place·2y  
Event sourcing (notes)  
Event sourcing transforms events into the source of truth, providing perfect audit trails, time travel capabilities, and business insights. Snapshots optimize performance by saving system states, aiding in fast recovery and reducing replay load. Ideal for financial, legal, and complex business processes, event sourcing is distinguished from CDC by focusing on business decisions rather than database changes. Effective partitioning of data ensures efficient storage and retrieval.  
14  
1
20. 20  
[](https://daily.dev/posts/the-new-way-to-seed-your-database-in-net-9-baeujtrwj "The New Way to Seed Your Database in .NET 9")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas·2y  
The New Way to Seed Your Database in .NET 9  
Learn about the new database seeding approach introduced in .NET 9 using EF Core 99\. The post includes a step-by-step guide, highlights the importance of managing the seed process to avoid concurrency issues, and addresses the use of synchronization methods for effective data seeding.  
14
21. 21  
[](https://daily.dev/posts/testing-database-connectivity-with-ef-core-dwfog27ms "Testing Database Connectivity with EF Core")  
Article  
![Avatar of codemaze](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5004eb44be854b11bc10517031b0ad88)Code Maze·2y  
Testing Database Connectivity with EF Core  
Verifying database connectivity is crucial for application reliability and user experience. This post outlines two approaches to test database availability with EF Core: using the CanConnectAsync() method for application-level checks and the DbContext check with ASP.NET Core health checks framework for infrastructure-level monitoring. It also includes setup instructions for using a SQL Server Test Container and Docker.  
13
22. 22  
[](https://daily.dev/posts/duck-db-query-processing-is-king-hvqqbhfzo "Duck DB: Query Processing Is King")  
Article  
![Avatar of newstack](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/newstack)The New Stack·2y  
Duck DB: Query Processing Is King  
DuckDB is an in-process database that simplifies query processing without focusing on data persistence. It supports multiple programming languages and is efficient for testing scenarios and on-the-fly data transformations. DuckDB is especially useful for gaining SQL query support without the need for a full database system.  
13
23. 23  
[](https://daily.dev/posts/database-indexing-in-django-pvqtfaybk "Database Indexing in Django")  
Article  
![Avatar of testdriven](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/24e3f6d975684866ac5de786f0ce08dc)TestDriven.io·2y  
Database Indexing in Django  
Database indexing improves data retrieval speed and optimizes query performance in relational databases. In Django applications, using indexes can enhance responsiveness, crucial for managing large datasets. This guide covers the fundamentals of indexing, its pros and cons, and its practical application in Django, showcasing examples with primary, unique, composite, and full-text indexes. The included sample project demonstrates the impact of indexes on query performance, highlighting best practices for implementation.  
11

[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/2025/01#page","url":"https://daily.dev/tags/database/best-of/2025/01","name":"Best Database Posts — January 2025","description":"The most upvoted Database posts from January 2025, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/database/best-of/2025/01#items","numberOfItems":23,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/backend-developer-roadmap-2025-the-complete-guide-kjemqdqhb","name":"Backend Developer Roadmap 2025: The Complete Guide"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/bati-fwkc8byxq","name":"Bati"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/next-js-tutorial-2025---build-a-full-stack-social-app-with-react-next-js-ce3gvfb1l","name":"Next.js Tutorial 2025 - Build a Full Stack Social App with React & Next.js"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/why-you-should-use-compact-table-columns-mlygjrab2","name":"Why you should use compact table columns"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/visualizing-a-sql-query-zsrsy7tf7","name":"Visualizing a SQL query"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/database-sharding-planetscale-wpypvctab","name":"Database Sharding — PlanetScale"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/fixing-javascript-timezone-issues-cfokydjef","name":"Fixing JavaScript Timezone Issues"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/aurijs-jason-slash-database-complexity-away-with-jason--sn01dtvio","name":"aurijs/jason: Slash database complexity away with jason."},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/next-js-multi-tenant-local-first-apps-are-easy-now-bvtmigfzo","name":"Next.js Multi-Tenant & Local-First Apps Are Easy Now"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/why-knowing-toast-in-postgresql-is-necessary-for-backend-devs--z4w40uq4a","name":"Why Knowing TOAST in PostgreSQL is necessary for Backend Devs!"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/build-an-end-to-end-rag-pipeline-entirely-in-psql-using-pgrag-and-deepseek-err6oidun","name":"Build an end-to-end RAG pipeline entirely in psql using pgrag and DeepSeek"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/realfakenerd-jason-simple-fast-lightweight-json-database--npc1k7gk5","name":"realfakenerd/jason: simple, fast, lightweight JSON Database."},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/make-an-mmo-with-godot-4-golang-database-setup-for-persistent-game-world-xkce8s95u","name":"Make an MMO with Godot 4 + Golang: Database setup for persistent game world"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/great-idea-lets-implement-it--jwl5b6au4","name":"Great Idea! Lets implement it..."},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/sqlite4-sqlite4-ynjuhkozb","name":"SQLite4: SQLite4"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/my-2024-web-development-journey-a-16-year-old-s-perspective-hnpxm3khq","name":"My 2024 Web Development Journey: A 16-Year-Old's Perspective"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/74-golang---postgresql-with-pgx-in-go-step-by-step-tutorial-catgrjcnt","name":"#74 Golang - PostgreSQL with PGX in Go: Step-by-Step Tutorial"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/forget-sql-vs-nosql---get-the-best-of-both-worlds-with-json-in-postgresql-lic4fzrla","name":"Forget SQL vs NoSQL - Get the Best of Both Worlds with JSON in PostgreSQL"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/event-sourcing-notes--5i34jaxcr","name":"Event sourcing (notes)"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/the-new-way-to-seed-your-database-in-net-9-baeujtrwj","name":"The New Way to Seed Your Database in .NET 9"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/testing-database-connectivity-with-ef-core-dwfog27ms","name":"Testing Database Connectivity with EF Core"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/duck-db-query-processing-is-king-hvqqbhfzo","name":"Duck DB: Query Processing Is King"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/database-indexing-in-django-pvqtfaybk","name":"Database Indexing in Django"}]},{"@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":"January 2025"}]}]}
```

