zlacker

[parent] [thread] 2 comments
1. crazyg+(OP)[view] [source] 2021-06-12 16:56:57
Can you explain exactly what doesn't scale well?

Databases scale well in general, it's one of the things they're built for.

A single database server with an indexed table (b-tree) and an SSD is extremely performant. (And yes there are other indexes that could be even more performant, but b-trees are already extremely fast.)

But the huge advantage of putting a queue in your database is being able to create transactions across both the queue and data in other tables that needs to change at the same time.

Not to mention one less extra tool to maintain, existing database tools for backups replication etc. automatically include the queue as well, etc.

As well as the fact that it's incredibly easy to make your queue behave according to whatever kind of custom business logic you might need. (Which is where additional indexes and b-trees can turn out to be necessary, and which is precisely what databases are great at.)

So to the contrary -- unless you're at Facebook-level scale, using modern databases for queues generally seems like an excellent choice. (And in the special cases where it's not, that's usually quite obvious.)

replies(2): >>Rapzid+jN >>sh87+q21
2. Rapzid+jN[view] [source] 2021-06-13 00:53:35
>>crazyg+(OP)
I believe most people simply have no concept of how performant modern RDBMS are. "Joins are slow" and all that.
3. sh87+q21[view] [source] 2021-06-13 04:22:24
>>crazyg+(OP)
I very strongly agree to the idea of using the tools you already have and know to solve the problem at hand and release it. Then observe where it could use help, then seek options on specific products solving those problems and only then can we get to real good questions that can pierce the veil of marketing and the comfort of herd mentality.
[go to top]