Which database Should I use?
Heppoko

Heppoko @heppoko

Joined:
Apr 4, 2025

Which database Should I use?

Publish Date: Jun 7
3 3

“I have no idea which database I should use…”

You want to build a web app, so you start doing some research—MySQL, MongoDB, Redis…
There are so many options and your brain starts to melt a little.


I’ve been there.

Back when I was just starting out as a developer, I faced the same exact problem.
I thought, “Well, I guess I’ll just use the most popular one?”
Only to realize later that I’d picked a database that didn’t fit my use case at all.

Maybe you’re just trying to store user profiles, but get lost in SQL table design.
Or maybe you picked a flexible NoSQL solution, then found yourself struggling to maintain data consistency in business-critical transactions.

I remember thinking, “If only someone had laid out the differences clearly from the start…”


That’s exactly what this article is for.

We’ll walk through the 6 most commonly used types of databases—Relational, Object-Oriented, XML, Key-Value, Document, and Hierarchical—and break down their:

  • Key features
  • Strengths & weaknesses
  • Common use cases
  • Who they’re best suited for

By the end, you’ll know which one fits your project best.


✨ Why This Matters

Picking the wrong database can make your project harder to build, scale, and maintain.
But when you choose the right one, everything—from development to performance—gets smoother.

Let’s take the guesswork out of it.


🔍 The 6 Main Types of Databases and When to Use Each


1. Relational Database (RDB)

  • What it is: Stores data in structured tables using SQL.
  • Strengths:

    • High data consistency (ACID compliance)
    • Powerful for complex queries (JOINs, aggregations)
  • Weaknesses:

    • Rigid schema; not great for evolving data structures
  • Best for: Accounting systems, inventory tracking, business apps

  • Great if you…: Need reliability and complex query power for structured data.


2. Object-Oriented Database (OODB)

  • What it is: Stores entire objects (like classes) natively.
  • Strengths:

    • Works seamlessly with OOP languages (e.g. Java, C++)
    • Can handle complex nested structures naturally
  • Weaknesses:

    • Rarely used today; limited documentation and support
  • Best for: CAD tools, simulation engines, games

  • Great if you…: Want to store objects directly as they are in your code.


3. XML Database

  • What it is: Stores data as XML documents in a tree structure.
  • Strengths:

    • Excellent for managing structured documents
    • Integrates well with legacy systems (SOAP, etc.)
  • Weaknesses:

    • Slow performance compared to JSON-based systems
  • Best for: Legal documents, government forms, standards-compliant systems

  • Great if you…: Must work with XML data directly.


4. Key-Value Store

  • What it is: Stores data as simple "key: value" pairs.
  • Strengths:

    • Extremely fast and lightweight
    • Ideal for lookups and session management
  • Weaknesses:

    • Can’t query or filter based on values
  • Best for: Session data, caching, language dictionaries, app settings

  • Great if you…: Just need to store and retrieve simple values super quickly.


5. Document Database

  • What it is: Stores data as structured JSON-like documents.
  • Strengths:

    • Handles nested and variable data easily
    • Supports partial updates and flexible schemas
  • Weaknesses:

    • Poor at complex joins or strict consistency enforcement
  • Best for: CMS, blogs, product catalogs, user profiles

  • Great if you…: Want flexibility and easy handling of semi-structured data.


6. Hierarchical Database

  • What it is: Uses a strict tree structure (like folders in a file system).
  • Strengths:

    • Fast when structure is fixed and well-defined
  • Weaknesses:

    • Not flexible; hard to evolve over time
  • Best for: Organization charts, directory trees, legacy enterprise apps

  • Great if you…: Have a static hierarchy and need predictable performance.


✅ Summary: The Right Database Depends on Your Goal

Here’s a quick cheat sheet:

Your Goal Recommended DB Type
High consistency, complex queries Relational DB
Store complex OOP structures directly Object-Oriented DB
Work with XML documents XML DB
Fast, simple key-based access Key-Value Store
Flexible nested data (e.g. JSON) Document DB
Fixed parent-child tree structure Hierarchical DB

📩 Final Thoughts

Don’t just pick a database because it’s popular.
Choose the one that fits your project’s data and goals.

That simple shift in mindset can save you from technical debt, improve your app’s performance, and make development so much smoother.

Now that you know the options, the next time someone says “Just use MongoDB,” you can confidently ask:

“Is that really the best fit for what we’re building?”

Good luck—and happy building! 🚀

Comments 3 total

  • John R
    John RJun 7, 2025

    PostgreSQL can have JSON and also has the ability to query on the contained JSON as part of the Relational DB query (SQL). Not yet had chance to test it out to do a pros/cons.
    Hmmm, maybe I will soon tho :)

    • Heppoko
      HeppokoJun 7, 2025

      Thank you for your reaction!
      You're the first person to react to my blog since I started posting here. Thanks a ton!
      This is for beginners :)
      I have used JSON with PostgreSQL, but it was horrible because data type was not defined.

      • John R
        John RJun 7, 2025

        Yeah need that datatype set or it would be fiddly lots of extra and probably unnecessary code.
        I recon it is something that needs to be put in place at initial development. A pre-thought thing.

Add comment