7 ms·
Why anyone would use Oracle for anything other than supporting legacy systems is beyond me.
by markab21 6y ago
Why anyone would use Oracle for anything other than supporting legacy systems is beyond me.
- wil421 6y agoOracle and SAP have products that touch niche areas of businesses. Oil company with complex shipping and receiving looking for accounting software? Global metal foundry who needs to track raw materials to finished goods and forecast everything? SAP and Oracle can sell your VP overly complex products for almost anything. For the DB, corporate executives types feel much more comfortable choosing Oracle or IBM. It usually bites them in the ass down the road due to licensing or support costs.
- ibejoeb 6y agoThis is certainly all true, and with Oracle, absolutely everything is negotiable. Nobody pays list. It still isn't cheap. If you are going the Oracle route, you might even consider hiring a consultant to do the buying, because relationships and knowing the Oracle way can make a huge difference. Also, Oracle Database itself is more than just an RDBMS and has an enormous amount of features that have no analogs in Postgres or any other non-commercial system. Take a look Oracle's data warehousing components, like advanced analytical SQL, pattern matching, and the especially cool modeling: https://docs.oracle.com/database/121/DWHSG/sqlmodel.htm#DWHSG8762 https://docs.oracle.com/database/121/DWHSG/sqlmodel.htm#DWHS...
- F_J_H 6y agoI have not been an Oracle fan in the past, especially because of their complicated (and expensive) licensing, but late last year we moved to their hosted autonomous database. The on demand pricing model makes it quite economical, and the performance is amazing. However, the killer feature for me is that it has application Express (or APEX) included, which is a complete web application development framework, as well as Oracle restful data services (ORDS). With built-in application development and deployment, it is the only complete, full-stack data management platform I am aware of (enterprise level). YRMV, but it has been incredible for us, both to support our data science initiatives, and for rapidly deploying applications. I couldn't imagine going back to anything else.
- pjmlp 6y agoFor me, MS SQL Server is the only real alternative, regarding the overall tooling around the database.
- jedieaston 6y ago>application express Is it smart to have all of your web app code running in the database, making it impossible to run without the Oracle Database?
- F_J_H 6y agoThat is somewhat of a concern, but less so now that they support web services. So, you would still need a basic oracle DB set up in order to run APEX, but you could just use OracleXE, which is a quite capable free version, and then connect to whatever you want. Also, you see this argument a lot - "what if I want to switch databases"? I've seen more than my share of overly-complicated and highly non-performant code bases, "just in case we want to change our database at some point" (see the ORM messes out there.) Its a problem in theory, and in my experience, not in practice. Never in 25 years of IT work have I switched databases, so it's often a classic case of "prevention worse than the disease". One case where this use to be an issue was for software vendors that used to sell applications requiring a database, and they had to be ready to work with whatever the customer had. In our day of cloud based apps, this is increasingly becoming less of an issue.
- ants_a 6y ago"What if I want to switch" is a valid question if your business is at the mercy of a single vendor with a history of abusive business practices towards its customers. While I may have a selection bias, I have seen quite a lot of companies migrating their applications, successfully. Most for exactly this reason. And many, perhaps even more, that would very much like to migrate if it was less disruptive.
- F_J_H 6y agoYep - agreed. It's "pick your poison". No matter what tech stack you select, migration away from it is a may be a consideration. (Whether it is a JavaScript framework, PHP to python, C++ to Go, or one DB engine to another.) If being able to easily switch technology stacks is important to your business success, then you need to optimize for that. That's not the case for me.
- pjmlp 6y ago- A much better developer experience for stored procedures, with proper packaging, compilation to native code, graphical debugger. - RAC and distributed transactions across a database cluster - Integration with APIs - A much better experience in Java and .NET drivers, including SQL custom data types.
- augusto-moura 6y ago> - A much better experience in Java and .NET drivers, including SQL custom data types. I didn't have any better experience with Oracle drivers in Java. Most of the driver is a soup of hacks exploiting obscure features of both the VM and standard library (both the vm and jdk are "Oracle owned" so I guess I was expecting that), also the source code is not available, so debugging it's a hellish experience. On the other hand the Postgres JDBC Driver is the most well written and documented driver that I ever saw in Java
- pjmlp 6y agoI beg to differ, those drivers exist since Java was owned by Sun. Also Oracle was the first RDMS to support stored procedures in Java. So source isn't available yet you are able to judge the code quality, interesting. No, disassembling bytecode isn't a reflection of the quality of the original source code.
- augusto-moura 6y agoSure it works, and is well tested and mature, and so are most of the jdbc drivers, never had any problem with any jdbc driver, aside of digging to code to understand some not documented behaviours. I don't see why put the Java driver as a benefit point of Oracle, most of the developers problems and issues don't occur at the JDBC level. It might be true for .NET but I'm really supicious if the Oracle support is that better over others I didn't say code quality, I said usage of obscure and internal hacks from the JVM and JDK
- pjmlp 6y ago
- globular-toast 6y agoIt's mostly used because the people who hold the purse strings in large organisations don't have a clue about databases, but the salesmen for Oracle wear fancy suits, take them out for expensive dinners and treat them like chums so they get the deal.
- catblast 6y agoFor one, it does things that the competition is not capable of or just inferior -- and despite the bias on this site, the major consumers of RDBMSes are not price sensitive scrappy startups. There is no comparison between the HA offerings in Oracle and something like Postgres, which are comparatively toys. Replication doesn't equate to HA and the "nobody got fired for buying xxx.." actually has some justification. Why would I risk my reputation on a flimsy solution just to save a few bucks in a large corporation?
- mancini0 6y agoI would argue that using postgres today sets you up better for HA tomorrow, as both yugabyte and cockroachdb are built with postgresql compatability in mind. I would also argue your reputation as a competent CTO / Architect / whatever is more at risk by choosing Oracle in 2020.
- catblast 6y ago> I would argue that using postgres today sets you up better for HA tomorrow The point is, if I have the money I can get enterprise grade HA today. Yugabyte and cockroach are promising but they’re small unproven organizations and as history has shown they’re likely to get bought out and then who knows. Larry Ellison is an asshole, Oracle the company itself makes me want to vomit but they are a pretty known quantity. > CTO / Architect / whatever is more at risk by choosing Oracle in 2020. This trope started reaching fever pitch during the first wave of OSS commercialization hype/fervor in 98. It wasn’t true then and I see no evidence it is any more true today.
- thda 6y ago> This trope started reaching fever pitch during the first wave of OSS commercialization hype/fervor in 98. It wasn’t true then and I see no evidence it is any more true today. It is not. And I know of several major banks leaving oracle "en masse" because of licensing nightmare. The major decision makers are now endangered by their choice of oracle as a database to consider. Oracle in a new project is now a firm NO. Regarding HA, active/passive and failover is enough for 99% of the use cases. For the rest you'd need citus or patroni, but it's totally manageable. I'd be quite dismissive of an architect who suggests oracle if there are no extreme availability requirements. I'd also prefer a galera or an innodb cluster for active/active architectures. Let's face it: oracle database is dying an its niche is shrinking.
- modoc 6y agoI STRONGLY dislike Oracle the company, and the Oracle DB is quite complex, however Oracle RAC (HA) beats the pants off anything else out there as far as performant, reliable HA. Oracle DB also has been the leader performance wise for complex queries and large datasets. All of that is very important in my niche (enterprise grade eCommerce).
- thda 6y ago> Oracle DB also has been the leader performance wise for complex queries and large datasets SQL server has a column store type of storage, and major innovations like 'froid'. Oracle is not such a strong leader there. Also, on a whole lot of workloads clickhouse is much superior.
- tomnipotent 6y ago> whole lot of workloads clickhouse is much superior. ClickHouse is a read-only analytics database and overlaps with Oracle in only those areas, otherwise Oracle blows it out of the water.
- derefr 6y agoYes, and? If you're choosing a tool to deploy for that workload, why would you deploy Oracle instead of ClickHouse? The same question goes for any other analogous workload. Why use something that's second-best at 100 different jobs (Oracle), when you could just choose the best-in-class tool for the exact job you're doing each time? Especially since, in the particular use-case we're talking about here (data warehousing), the whole paradigm and all the tooling is built around the expectation of ETL pipelines copying+transforming+"cubing" data around from OLTP (or data-lake) systems to OLAP systems. "Everything being part of one solution from one vendor" doesn't make one whit of difference in that case, since the whole architecture is expected to be built around having a one-way pipeline of mutually-opaque interoperating systems, so any two pipeline stages that can manage to speak to one-another at all can't really be any "more" well-integrated than that.
- 6y ago