GoldenGate is for multi-master replication and shares a lot of the challenges you'll find with any multi-master replication solution.
No, I was referring to Oracle RAC, which does away the need for sharding. All of your nodes see a complete and comprehensive picture of the data on a shared set of disks.
> I guess I'm just biased towards solving scalability problems at the application level.
That's a totally valid strategy, and indeed, an option that many companies go for. But you're just shifting complexity from one place to another. Either you're going to be building in complexity to make your application aware of data distribution, movement, sharding, and so on - or you're going to use a more complex data storage platform like Oracle.
And SQL tuning is a skillset, much like writing good code. If you are good at SQL tuning, it's not that hard.
My point is just that it depends on your business requirements. I personally think Oracle's price point is so high that I would never use it. But if money were no object, and I was designing an application, why would I want to have my application have to think about where the data lives?
Wouldn't it be a lot simpler to just say, "go here for your data", and let the dedicated application deal with that?
Or put another way, in the same way it seems insane to shove 100k lines of business logic into the database layer, why doesn't it seem insane to shove 100k lines of data management logic into the application tier?
No, I was referring to Oracle RAC, which does away the need for sharding. All of your nodes see a complete and comprehensive picture of the data on a shared set of disks.
> I guess I'm just biased towards solving scalability problems at the application level.
That's a totally valid strategy, and indeed, an option that many companies go for. But you're just shifting complexity from one place to another. Either you're going to be building in complexity to make your application aware of data distribution, movement, sharding, and so on - or you're going to use a more complex data storage platform like Oracle.
And SQL tuning is a skillset, much like writing good code. If you are good at SQL tuning, it's not that hard.
My point is just that it depends on your business requirements. I personally think Oracle's price point is so high that I would never use it. But if money were no object, and I was designing an application, why would I want to have my application have to think about where the data lives?
Wouldn't it be a lot simpler to just say, "go here for your data", and let the dedicated application deal with that?
Or put another way, in the same way it seems insane to shove 100k lines of business logic into the database layer, why doesn't it seem insane to shove 100k lines of data management logic into the application tier?