Skip to content

SQL vs NoSQL: Making the Right Data Choice

3 min read
DatabaseSQLNoSQLFirebaseArchitecture
SQL vs NoSQL: Making the Right Data Choice

SQL vs NoSQL: Making the Right Data Choice

When building an application, the first major decision isn't "What color should the logo be?" It is: "Where do I put the data?"

This leads to the eternal debate in computer science: SQL (Relational) vs NoSQL (Document/Non-Relational).

At g-makris.com, I use Firestore, which is a NoSQL database. But why? And what does that architectural choice actually mean for your business data?

The Metaphor: The Excel Sheet vs. The File Cabinet

To understand the difference, I have to look at how they organize information.

SQL (Relational): The Rigid Excel Sheet Think of a traditional SQL database (like MySQL, PostgreSQL, or Oracle) as a massive, strictly enforced Excel workbook.

  • Structure: You have tables (tabs) with defined columns: Name, Age, Address.
  • Rigidity: Every single row MUST adhere to these columns. You cannot just decide to add a "Favorite Color" to one person without adding that column to every single person in the sheet.
  • The Join: The power of SQL is the "Join." You can have a "Users" sheet and an "Orders" sheet, and you can instantly ask: "Show me all users who bought a hat in 2024 and live in Spain." It connects the dots perfectly.
  • The Cost: It is hard to scale. If you have 100 million rows, the sheet gets slow. To fix it, you usually have to buy a bigger computer (Vertical Scaling).

NoSQL (Document): The Flexible File Cabinet Think of NoSQL (like Firebase, MongoDB, or DynamoDB) as a physical file cabinet.

  • Structure: Inside, you have drawers (Collections). Inside drawers, you have folders (Documents).
  • Flexibility: In John's folder, you might write his Name and Age on a sticky note. In Sarah's folder, you might write her Name, Age, and attach a polaroid photo of her cat. The database doesn't care that Sarah has a photo and John doesn't.
  • Scalability: This scales infinitely. If you need more space, you just buy another file cabinet (Horizontal Scaling). You don't need a bigger cabinet; you just need more of them.

Use Case Scenarios

When to use SQL:

  • Accounting Systems: Where data integrity is paramount. You can't have a transaction without a sender and a receiver. The strict rules of SQL prevent "orphan" data.
  • Complex Analytics: When you need to ask very specific, complex questions across different data sets.

When to use NoSQL (Why I chose it):

  • Content Feeds: A social media feed, a blog, or a user dashboard. I generally pull one "Document" (the user profile) and show it. I don't need to join it with fifty other tables.
  • Rapid Iteration: In modern app development, requirements change daily. Today I store "Email," tomorrow I want to store "TikTok Handle." NoSQL allows me to add that new field instantly without taking the server offline to restructure the entire database schema.

Why I Chose NoSQL for g-makris.com

Speed, Flexibility, and Real-Time Sync.

Firestore (my NoSQL choice) pushes data to the client in real-time. This means when you update your profile on your phone, it updates on your laptop instantly without you refreshing the page. That interactive "app-like" feel is native to modern NoSQL systems.

Best,

Gerasimos Makris Founder of g-makris.com AI Web Developer | Double Master's in MBA & FinTech and Blockchain

Tech Glossary & Concepts

  • SQL (Structured Query Language): The standard language for managing data held in a relational database management system (RDBMS).
  • NoSQL (Not Only SQL): A broad class of database management systems that do not use the tabular schema of rows and columns found in traditional relational systems.
  • Schema: The blueprint or structure of a database (e.g., defining that "Age" must be a number).
  • Vertical Scaling: Increasing power by buying a bigger, stronger server (more RAM/CPU).
  • Horizontal Scaling: Increasing power by adding more servers to the network to share the load.
GM

About the Author

Gerasimos Makris

AI Web Developer & FinTech Specialist

View Resume

Gerasimos Makris is an AI Web Developer with a background in FinTech operations. He specializes in building secure, scalable web applications that solve real-world financial problems. When he's not coding, he enjoys exploring the intersection of technology, finance, and business strategy.

Share:

Valuing Your Privacy

We use cookies to optimize your experience, analyze site usage, and support personalization. By clicking “Accept All”, you consent to our use of cookies. Learn more in our Cookie Policy.