3 ms·
edit: Sorry, I missed the "1 sentence" guideline. I have a lot of Oracle commentary in my post history, but I would still like to chime in again with a specifi
by ibejoeb 11y ago
edit: Sorry, I missed the "1 sentence" guideline.
I have a lot of Oracle commentary in my post history, but I would still like to chime in again with a specific case that may be interesting to some people here. I'm totally unaffiliated with Oracle, so if it sounds like a pitch, it's just because I've had a long, positive experience with their technology.
There is absolutely nothing on the market, commercial or OSS, that can touch Oracle Database. If you really take advantage of it, it'll be clear.
I wrote a couple of big financial software applications, and reporting is a huge component. One of the key differentiators in my product vs the competition is that all of the reporting is ad-hoc, whereas theirs is batch. This is important to my customers, because they typically have planning and modeling work to do, and waiting around for batches just won't fly.
There are a few ways to get this kind of ad-hoc reporting experience, but the easiest is by directly issuing queries against the data. For this to be viable, though, you need two things: An expressive data manipulation language and the ability to exercise the hardware.
Oracle is the only database that delivers. Oracle's support for modern SQL and its proprietary extensions (e.g., [1]) are incredibly powerful, but they're expensive CPU-wise. However, Oracle will parallelize these, effectively running a single query over n cores.
Without those features, I'd have been building change monitors, data diffing algorithms, solvers, and all of that stuff to support background partial recomputation. Job runners, queuing, cache invalidation... man, just thinking about all that stuff again makes me realize just how nearly impossible it would have been to get this company off the ground.
Also, a note on pricing: it's expensive if you need these features, and licensing truly is arcane, but their are some pretty good options now. Several others have pointed to Oracle's free and cheap offerings, like XE and SE1, but Oracle is available on RDS with licensing included. You can quite literally amortize the licensing cost by the hour and quit anytime, and it's nothing more than an option when you provision your instance.
All that said, if you really need it, buying a $40k license is an awful lot cheaper than buying a couple $150k engineers to make it work on some other platform.
This has really informed my philosophy, especially when doing things on a startup budget. Get the best tools you can and use the hell out of them for all they're worth. There are thousands of engineer-years behind Oracle, and they've tackled a lot of hard problems for you. It's always a shame when I look at an operation and see people doing suboptimal reimplementations (you did you own materialized view?) because nobody read the docs...
[1] http://docs.oracle.com/cd/B19306_01/server.102/b14223/sqlmodel.htm http://docs.oracle.com/cd/B19306_01/server.102/b14223/sqlmod...