←back to thread

73 points ajhool | 1 comments | | HN request time: 0.233s | source

It's common to see here that Postgres hosted in RDS can handle 99% of workloads up to millions of users. I'm building an IoT app with a plan to ingest the IoT traffic into dynamo partitioned on user id (I'm quite familiar with the tradeoffs) and everything else be in Postgres. A few services but not microservice (basically: core service, identity service, IoT data service, notification service). Ingesting and monitoring about 1,000,000 IoT devices daily (1 packer per device per day) and about 1,000,000 users with only 5,000 active users per day (basically we monitor user IoT devices 24/7 but only some 5,000 users will have anomalous results and log in).

In the database posts & discussions here I sometimes find that the opinions are strong but the numbers are missing. Obviously applications have wide variation in traffic and query complexity so apples to apples comparisons are hard. Still, I would greatly benefit from hearing some real world experiences with numbers.

Rough approximation database questions for current or prior applications:

1. How many customers do you have?

2. What's expected daily traffic? Peak traffic?

3. What database engine or engines do you use?

4. How many rows or how much storage does your db have?

5. What else about your application is relevant for database load?

6. Microservice, Service, or monolith. Happy with it?

Show context
Delomomonl ◴[] No.43367839[source]
This sounds just wrong.

Why would you use micro service? You are not having teams.

Btw. Your data structure/ bytes per row is missing

replies(1): >>43371103 #
quinnirill ◴[] No.43371103[source]
Having teams is exactly the wrong reason to have micro services, having endpoints with different traffic patterns and resource/scaling constraints is exactly the correct reason.
replies(1): >>43371746 #
brewmarche ◴[] No.43371746[source]
Do you really need to jump to micro services when you need scaling? You can also start multiple instances of monoliths/bigger services.
replies(1): >>43372145 #
1. quinnirill ◴[] No.43372145[source]
If all the endpoints share the same resource constraints and traffic patterns, sure you can just scale up the monolith.

Even otherwise, yes, you sure still can, just like you can write the service in bash if that’s how you want to spend money.