7 ms·
> honest to goodness question, looking to learn. Awesome. I have probably dozens of posts over the years about why one would choose Oracle, so I won't rehash i
by ibejoeb 4y ago
> honest to goodness question, looking to learn.
Awesome. I have probably dozens of posts over the years about why one would choose Oracle, so I won't rehash it all right here, but I'll link some relevant ones. Briefly though:
> in 2022 when we have equally capable or even superior open source alternatives
This isn't really true. Postgres is a truly excellent RDBMS, but most people compare it at a rather superficial level, because many use only very superficial features. If you need to insert, select, update, and delete, you have a lot of compelling options. (This can easily veer off in another direction, but I astounds me how many people shun the database and chose to reimplement innate features in procedural code outside of the database.) For example: Oracle has an extremely richly featured, powerful, and stable data warehousing feature set that has no open source analog.
A lot boils down to build vs buy. Some places build because it's exciting. Some don't even know that the thing being built has existed for three decades. This applies equally to open source. It's entirely possible that a materialized view will obviate your whole external caching infrastructure.
https://news.ycombinator.com/item?id=23068341 https://news.ycombinator.com/item?id=23068341
https://news.ycombinator.com/item?id=32246208 https://news.ycombinator.com/item?id=32246208
- oneplane 4y agoI imagine that some of the choices to lean into the RDBMS specifics also come from application architectures and data complexities. If you have a few large monolithic applications that share multiple schemas (so no single-owner), and you then need to do classic OLAP, OLTP and cubing, you're essentially stuck with database solutions from the same era. Same goes for record-oriented software and mainframes or low level rtos software that requires real mode. The requirements never stand on their own (which is pretty much what you wrote anyway ;-) If a BI solution can do gRPC to a few specific services that contain the datasources for the dimensions you need, then nearly all OLAP-native features are irrelevant. It also means that the dynamic resource usage means that your overall cost in terms of energy and money are significantly lower. The big 'if' in all of those is going to be 'does the organisation have the skills and the willpower', and often the answer is no. Because hiring some MSP to do your BI, data management and have some single vendor do your ERP, EHRM, ESB on top of some RDBMS "sounds" good and means it's their responsibility, and when a user then sends them a support ticket about how crappy their UX is and how much the workflow sucks, they will get ignored and somewhere in some expensive place, old grey men shake hands on yet another successful quarter ;-)
- olivermuty 4y agoDiplomatic preface: I think Oracle is a pretty darn good database just so thats said. Opinion: Why would you say there is no open source analog to the Oracle DWH setup? CitusDB has been able to replicate the mix and match of OLAP and OLTP for quite a while now. In my time as an architect in MSFT we were competing (and successfully too) with CitusDB and Postgres against bespoke complex Exadata setups already a few years ago, and CitusDB just keeps getting better as they integrate more and more options for working with columnar data. Oracle just straight up ignores all the goodness that has come out of modern operating systems and still tries to peddle Exadata setups with custom hardware nodes and whatnot when a large swathe of those problems can be solved horizontally instead of vertically. If your business is a thin layer around a finely tuned Oracle setup then ofc it becomes pretty stupid to suggest moving off that and into Postgres in any kind of less-than-five-years project. I would say though that for new projects it is most likely cheaper to either hire postgres experts to replace your oracle experts or just let your Oracle gurus forget all the vendor specific tuning you don't really focus that much on in Postgres than it is to pay for Oracle.
- ibejoeb 4y agoSorry for the late response. Citus certainly does keep getting better. Its parallelization is a little different but given a system designed to use it, I'm sure it'd be just as good as Oracle. Its tenant sharding is a killer feature. My argument never has been that it's purely a feature play; in fact, I think RDS made Oracle far more compelling, because I got to offload the majority of the day-to-day. Now, with citus on azure, yeah, it's pretty compelling on the operating cost side. > If your business is a thin layer around a finely tuned Oracle setup then ofc it becomes pretty stupid to suggest moving off that Right. It's really and end-to-end thing. Oracle serves pretty much every significant business problem. It has a giant API and huge function library that I can use to implement pretty much whatever I want. Then, I can turn it over to the auditors, who know it and understand its operations, so compliance is relatively easy when it comes to things like HIPAA/PCI/FERC or whatever. It's not just about tech. It make a lot of sense for a lot of businesses. Now that I'm not as heavy in regulatory environments and more in science, I think I'd be very happy with the offering. (In fact, I am actively using postrges, and not actively using oracle right now.) I might miss some of the in-built reporting functionality that Oracle has, but I'd have to have a look at the very latest offerings in that area from citus.
- Tsarbomb 4y agoNot to poop all over what you said, but I went through the history of some the previous comments you made to communicate the power and features of Oracle and I have simple question to ask you: Is it possible you are unfamiliar with the full features and capabilities of Postgresql?
- ibejoeb 4y agoLike what?
- bobkazamakis 4y agoYou seem to be talking about what Postgres doesn't have as an argument for choosing Oracle. This hasn't really shown why postgres was a poor choice or why Oracle was the better one.
- Tsarbomb 4y agoPicking one of your previous comments at random where you use the examples of pattern matching and analytic functions... yea postgresql does that too.
- ibejoeb 4y agoWhy did you leave out the thing it doesn't have? That's what we're talking about, after all. https://docs.oracle.com/database/121/DWHSG/sqlmodel.htm#DWHSG8762 https://docs.oracle.com/database/121/DWHSG/sqlmodel.htm#DWHS...
- vgt 4y agoCan you help us understand why one would use a data warehouse from Oracle as opposed to a plethora of arguably far better options like snowflake, BigQuery, and so on.
- anshumankmr 4y agoBigQuery can cost a fortune. Our data engineer messed up once by not time partioning the DB and it racked up a ~10K USD bill in a month due to the high number of queries that were running on it.
- vgt 4y agoAs a former PM on BigQuery, I'll offer my perspective: - I agree that, by default, the on-demand pricing model is pure consumption, and folks can and do mess up sometimes. - I had a habit of refunding folks when they asked, and if they made obvious mistakes, even though it took me an average of 3-4 hours to process each refund. - BigQuery has cost controls to prevent runaway costs, sounds like you must check it out ASAP - BigQuery also has a DDL option to require users to include a partition filter predicate in queries - BigQuery also has flat-rate pricing, on which the vast majority of folks above SMB on. There are no runaway costs with this one. I think generally BigQuery is a great example of an extreme serverless consumption-model. You have thousands of cores at your fingertips, and, well, if you do something that overuses, you are allowed, but you do pay for it.
- anshumankmr 4y agoI am a dev, so the pricing part would be in the responsibilities of the client's GCP project we were using along with the architects. The flat pricing was something I did suggest when we on the call discussing the above mentioned situation, but it was ignored. However, I agree its a really cool tool, I have not worked on the ETL side of things, but we use BigQuery in almost all of the projects I have been on, my teams usually needs to figure out the right query to determine key KPIs our clients usually ask for and the SQL is really helpful.
- latchkey 4y ago
- toast0 4y ago> This can easily veer off in another direction, but I astounds me how many people shun the database and chose to reimplement innate features in procedural code outside of the database. I've done this from time to time, and it's usually a question of the database clients are much easier to scale than the database. What can the clients do to reduce database i/o and cpu, because I can add more clients easily, but turning a database into a cluster is relatively more difficult, so database machines have to scale up instead. Otoh, the limits of machine scaling are quite high these days. You can get a single socket epyc with 64 cores and 3TB of ram and tons of lanes of nvme.
- mcronce 4y ago96 cores and 6TB per socket with Genoa!
- zmmmmm 4y agoIronically a factor in that scaling question historically has been cost of the database license. You may be able to technically scale the database server to handle the load but it will generate a multiple person-year type cost inflation of the license fee. Leading us perfectly back to the topic of this post!
- ibejoeb 4y agoOn the move, but I'll respond shortly
- burnte 4y ago> Awesome. I have probably dozens of posts over the years about why one would choose Oracle, so I won't rehash it all right here, but I'll link some relevant ones Unfortunately Oracle has become far to aggressive in lawsuit for a lot folks like me to ever be comfortable building anything with their products. Same for SalesForce, I just killed a project that we wasted $200k on but we'll save a lot more killing it rather than becoming dependent on SF next year. Oracle gets you over barrel, then charges you through the nose when they know you're in too deep to move. Their products are great, but the companies themselves are too dangerous to work with.
- larrik 4y agoMy first time using Oracle, I was trying to migrate magazine articles to a different DB system. Oracle "helpfully" and silently truncated the magazine content at a certain size, leaving most of the articles unfinished. The Oracle experts were incapable of producing a dump or report of the raw articles. So, I tried myself. I tried multiple tools, and every single one would truncate the field regardless of my settings, except for one. The Java ODB driver gave me the whole thing. So, I had to write a Java program to extract it for me. In the end I learned that Oracle can't even output it's own data properly, even with the help of experts. I also got to learn what installing Oracle software was a really like (it was brutal). So, no, I would not recommend Oracle to anyone, ever.
- cafard 4y agoWith the Perl DBI interface, you had to set some magic item on the statement or database handle--LongReadLen, maybe--in order to get all of a LONG or LOB. But you could get the whole thing. I mention Perl here, because I used it to copy articles from the Oracle back end of a ColdFusion website to the front end of something built on PHP plus MySql. And before I could even test this, I had to get the data into a different Oracle database, using the standard exp/imp. I don't doubt what you say, but I do wonder about the experts you encountered.
- gcanyon 4y agoDisclaimer: this happened over twenty years ago. 1. I worked with developers trying to implement a UI using Oracle's app-builder of the time (Oracle Forms? I don't remember). The devs spent an entire summer, with Oracle support, just trying to get the system set up and configured to build "Hello World." They gave up and we abandoned the project. 2. I needed to install an Oracle product on my computer. I had an Oracle provided CD. The install was non-obvious: multiple install files with multiple options and ways to get it wrong. On the CD was a set of help files, with an app to view them. The app did not default to showing the help files: you had to select which base file to start with. The choice was not obvious. There were broken links in the help system -- meaning links that tried to point to other files on the CD that weren't there. In short: Oracle -- not even once.