Comment by BinaryIdiot
9 years ago
As far as I can tell Oracle can store empty strings they just happen to be treated exactly like NULL. That's at least marginally better. Still, it's hard to imagine people being willing to use Oracle nowadays.
9 years ago
As far as I can tell Oracle can store empty strings they just happen to be treated exactly like NULL. That's at least marginally better. Still, it's hard to imagine people being willing to use Oracle nowadays.
Why? Because you think sql is not good or because you think there are better relational databases?
I'd say that Oracle delivers quite much value for your money for many applications.
I have worked with all other relevant relational databases and also with a few nosql databases, in distributed systems and monoliths.
It's hard to make a recommendation that can be applied generically. The best answer is "It depends, and it's complicated"
One thing is sure. Nosql is not the future (quite the opposite) although sometimes -in rather special circumstances- the right solution. Graph databases are perhaps more interesting, and perhaps event sourcing, but the promises are way larger than the deliveries.
Edit. I forgot the obvious reason. You try to stay clear of the Dark Side.
Know any graph databases that you like? I recently tried arangodb and it consumes a crazy amount of memory for even a relatively small dataset (several million ~20 character strings)
Try Postgres. I'm serious. For a dataset that should easily fit in memory, doing graph queries CTE's in Postgres can work very well.
It's mostly because of the money. Relational is still a great type of database and I'm sure Oracle is great. But I haven't worked with many companies that could afford Oracle very easily if at all.
I also wouldn't make a generic database recommendation :)
Not necessarily a choice, but everywhere I've ever worked used Oracle. Including my last 2 <500-person Valley-based tech companies I've been employed at used it.
For all its drawbacks (and I'm not a DBA or developer) at least I don't have to participate in HN threads where people discuss the 10 buzzwordy-DB-but-not-a-DB trends-of-the-week to migrate your data to.. which will all be forgotten next week :)
> Still, it's hard to imagine people being willing to use Oracle nowadays.
I use Oracle every day, because that is one of the options for our customers rely on to run their critical Fortune 500 infrastructure. The other being SQL Server.
Does that mean that two empty strings won't compare equal to each other?
This rears its head when you want to make a string column nullable. If you do that, you can't store empty strings in it. Really broken IMHO.
Postgresql is pretty good, however Oracle still can do some crazy things, at the cost of a correspondingly insane amount (IMHO) of database admin / sysadmin overhead.
An empty string has a length. That length is zero. NULL does not have a length.
The length of a string shouldn't matter to anybody.
Really? I can think of at least a couple of good reasons it matters (i/o related).
3 replies →
The length of your comment is 51 characters.
> it's hard to imagine people being willing to use Oracle nowadays.
Only when it's the lesser of the super-evils you have to pick from. I'd pick Oracle over Progress(OpenEdge), but not much else :)