Hey everyone! I'm looking for some guidance on selecting the right database for a project I'm working on. Here are the specifics:
- I have around 1,000 users, each managing their own warehouses.
- Some warehouses can hold up to 1 million products.
- Data is received from suppliers every 2 to 4 hours, and I need the database to update quickly.
- Each product has details like warehouse ID, type (like car parts or screws), price, quantity, last update timestamp, tags, labels, etc.
- Users will need to filter dynamically across about 80% of these fields, including tags and labels.
Key requirements include:
1. Fast insert/update speeds for both bulk uploads (over 1000 records) and single records.
2. Efficient filtering across numerous fields.
3. No transaction requirements since data can be overwritten.
Considering this, which NoSQL database would be the best fit for my needs? Would something like OpenSearch or MongoDB work, or am I better off with a different solution? Thanks!
3 Answers
For your specific scale and querying needs, I really think a relational setup like Postgres would be better. It comfortably handles millions of records every hour, which it’s designed for.
Why opt for a non-relational database? Your data appears to have inherent relationships. Using Postgres along with a proper ETL pipeline could make the most sense for your situation.
Honestly, I’m puzzled about why you’d even consider NoSQL. The scale you’re presenting seems manageable by any standard relational database, no problem at all. NoSQL systems are great for specific use cases but from what you described, your data access patterns don't seem constrained enough to need one. MongoDB even comes to mind as a poor choice based on my experiences with scaling challenges over the years.

Related Questions
Biggest Problem With Suno AI Audio
Ethernet Signal Loss Calculator
Sports Team Randomizer
10 Uses For An Old Smartphone
Midjourney Launches An Exciting New Feature for Their Image AI
ShortlyAI Review