Hacker News new | ask | show | jobs
by lkrubner 2613 days ago
About this:

"A database is not comparable to SOA or ESB."

It feels like you are deliberately misreading what I wrote. SOA and ESB and the unified log architecture that Jay Kreps wrote about are 3 different approaches to deal with the problem of "In large Enterprises, you will inevitably be trying to get multiple services and databases to work together."

That may not be the only reason for SOA and ESB and unified logs, but multiple services with multiple databases is clearly a very large reason for the rise of these 3 different architectures. It is trivial to find articles in which "multiple services and databases" are mentioned as the impetus giving rise to each of these 3 architectures.

Is that more clear?

1 comments

You're repeating the same thing. SOA is an architectural style where the entire business domain functions as independent components talking to each other. ESB is one type of communication between those components. A unified log is a way to persist those communications. A database is a data persistence system.

None of these things replace anything else, they are all separate layers of solving a problem. They are not "3 different architectures" and can all be used at the same time even. Talking about a unified log and SOA to say that MongoDB is the best database for everything only shows a poor understanding of the underlying technical concepts.

You seem to be committed to disagreeing with me for the mere sake of disagreeing with me.

About this:

"and can all be used at the same time even"

Obviously. I've worked at many companies that use multiple architectures. Nothing I said implied these were mutually exclusive. But you must be aware that a system needs to know what its canonical data is, or it will get into trouble? That is the caveat. I've seen multiple architectures in use at large companies, but this is typically seen as a red flag, and indeed, I'm often hired to help solve exactly that problem.

About this:

"SOA is an architectural style where the entire business domain functions as independent components talking to each other. ESB is one type of communication between those components. A unified log is a way to persist those communications. A database is a data persistence system."

Finally, we agree about something. But you are simply describing what things are. Did you have some point you were trying to make?

About this:

"None of these things replace anything else, they are all separate layers of solving a problem."

At large companies I'd expect to see different architectures presiding over different parts of a system, but if I arrive at the company and I'm told it is using SOA and ESB and a unified log and I ask the CTO "Which of these systems is responsible for maintaining the canonical version of your data?" and the CTO responds "All of them" then I know I'm dealing with a company that is in deep trouble.

You said MongoDB is best at everything and relational databases are useless. I disagree. The point of the descriptions was to show concepts that you conflated, which you're now doing by talking about canonical data.

None of these topics (canonical data, SOA, ESB, unified log, event sourcing, kafka, caching) have anything to do with MongoDB and why it's the best database for every situation. You have not made any arguments for this. You're just talking about other things and then following up with patronizing comments about me being confused or disagreeing just to disagree.

Unfortunately at this point I don't think you have any arguments forthcoming. Let's end it here.

EDIT: Replying to your email here:

"I am assume you are reasonably intelligent, so I'm not clear why you wrote this.... Obviously, my point was that MongoDB was flexible enough that it worked well for different architectures. Since that seemed to confuse you, I repeated this point, over and over again, in different ways, hoping you would understand me. I am puzzled why you are having so much trouble understanding what should be a fairly straightforward idea? "

Again, not confused, please stop assuming that especially if you're going to have such an outrageous assertion to begin with. Other databases like Postgres are also flexible enough to work for different architectures. You should actually describe different architectures (not random concepts) and WHY you think MongoDB is better than everything else in that scenario. That would be an actual argument.