Open Source vs. the Database Vendors
bhmit1 writes "BusinessWeek has another spread on open source this week. Among them is an article about open source vs. the database vendors which focused on how businesses are looking to save money with open source (rather than using the source to innovate). From the article: "The databases work fine, but as data volume grows, so do the checks to Oracle, IBM, or Microsoft. Many users aren't clamoring for more features, and some don't even use the bells and whistles they already paid for. They would happily trade some to get their hands on the source code and a better deal." Disclaimer: that quote came from Sony."
... which focused on how businesses are looking to save money with open source (rather than using the source to innovate).
Duh. Isn't that the #1 draw for the majority of OSS users out there? Sure there are some that are in it for the politics and others who actually try to contribute, but let's face it, the majority of people use it because it's free (as in beer).
In my work experience, I have concluded that the vast majority of "big name" database users vastly underutilize the features that the big bucks pay for. Many companies that generally only need a step up from MS Access but get sucked into Oracle or DB2 thinking that's the logical next step.
In addition, many database users don't have a realistic understanding of what constitutes a lot of data. I've met quite a few people that think a 10k row database is huge, and anything in the 1 million record range is absolutely gargantuan! To me, anything less than 1 million records is downright tiny. Seriously, many of these users don't need an "enterprise" RDBMS for scalability reasons, which is what leads many customers to open their wallets. Something like Postgres or MySQL would be more than adequate for their needs.
That is not to say there are not users who need the enterprise features, but it amazes me the amount of money that is dumped into features that most small to medium size deployments don't even use.
It is very educational to see how Oracle for example is used in real world deployments. Open source aside, I have seen many where the user may have been better served by just using a properly setup MS Access or FileMaker database!
-Pete
Soccer Goal Plans
It may surprise you but most people who use open source applications do not change the code. Even the ones who know how too, don't. Why, because they don't have the time. They download it try it, if it does what they need they use it, if not then they try an other product, if they cannot find an Open Source tool that does the job then they see if there is a commercial one that does. Programming takes time, even an open source application, time costs money, so if paying 2k for MS SQL Server vs. 3 weeks of development, to get the functionality they need they will just get MS SQL and they will save money. Plus this time could be used by the programmers to create business critical code (Which earns $$$), vs. IT Infrastructure code (which costs $$$, but may save $$$$ in the future). As some of your open source developers may or may not realize your cool feature may not be used by anyone buy yourself. Heck I have a hard time to get people to used Stored Procedures in their SQL, needless to say trying to get them to use the more advanced features.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Do you know what hell is?
Hell is having a product you have to explain to the customer.
Customers don't understand databases, so they're not likely to understand the difference between MySQL and Oracle. And, ironically, that might mean MySQL is where they ought to be. This isn't to disparage MySQL at all, but I'm just saying you can't explain the difference between MySQL and Oracle, you shouldn't pay the difference.
You may or may not pay for your lack of knowledge later.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
A company such as SAP (SAP) could be pivotal. The German software giant is locked in an applications war with Oracle, but the bulk of companies running SAP applications run them on Oracle databases. So even when SAP wins an application deal, it's often making money for its archrival. That doesn't sit well with ultracompetitive SAP, which already has a burgeoning partnership with MySQL. Closer ties there could mean more SAP applications on MySQL databases. Elsewhere, Red Hat (RHAT) has endorsed both MySQL and Postgres, as did Sun Microsystems (SUNW) last November.
So Oracle has now become Microsoft, pretty much resting on its laurels and claiming that its users are more than happy with them, while all-the-while, their users are shopping for cheaper and better solutions. If SAP were to out-and-out declare they like MySQL better and shift most of their DB usage there, Oracle would have a very large amount of egg on their face.
Let's face it: when you become the dominant leader of your industry, you tend to forget what got you there and you take it for granted you will always be there. I've used Oracle, MySQL, and Sybase, and I find the latter two to be a lot easier to work with than Oracle. Oracle is trading solid dependability for tricks and gimmicks, and in the end, no one wants to pay that kind of money for things they don't need or won't use.
GetOuttaMySpace - The Anti-Social Network
I'd love to develop my apps with Postgres, then deploy to Oracle or DB2 with an automated tool. If Oracle or IBM distributed a free (beer) one, I'd include it in my project plans. And if there were an open source tool for comparing performance of my app on each of those databases in real tests, I'd be more likely to make the switch - provided the tests showed an advantage.
--
make install -not war
Then there was that one Java project, where the database schema mapped directly to the inheritance hierarchy of the object model. Booting the application server took longer than booting the operating system. While no raging Java fan, I can't help but think that particular issue was coder ignorance writ large. Wrote the test plan, got out of that swamp ASAP.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
From the article: They would happily trade some to get their hands on the source code and a better deal.
How many are there who would actually look at the source code of a database, work on it rather than develop new applications based on it? If database A works, then they are going to stick with database A until conditions change drastically. It hasn't happened now and doesn't seem like it will happen in the near future.
When people pay for a product (or get one that is sopposed to be buisness class) they want a app that looks impressive on their bookshelf. A huge box filled with CDs. Any App work 10k has to have at least 10 CDs of data. When I was a kid running a BBS I saved up to buy Desqview for DOS. The app cost me $200 many months of chores. When I got it and took it out of the box I had a single 3 1/2 floppy. It woked but needless to say I felt a little disapointed. Espectially with some of the games I had took 6 of those floppies, and the game was only $20. Now after I have done programming I realize the value in making a small app that works well. But at the time and many management type they want to feel that got what they paid for.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
The user says "This is vital". IT staff start adding zeros to the price tag of the application. Seriously nobody in the IT dept is ever going to suggest something like mysql or postgresql for something like the corporate accounts or other financial transaction backends because people like IBM and Oracle guarantee that when the power goes out, the transaction completed, or it didn't happen at all.
And if you've paid for Oracle/DB2 and you're training your staff on and using Oracle/DB2 anyway then it doesn't make a load of sense to introduce different RDBMS systems that your DBAs and administrators are completely unfamiliar with, especially when you've got that Oracle box sitting there underutilised.
Ultimately you're right, 95% of apps could be served perfectly well by mysql, postgresql, msaccess, filemaker etc. Corporate IT depts should really create two categories of RDBMS systems, vital and casual. The vital ones being the core business operations and casual being everything else.
Deleted
I think most businesses crave accountability & reliability more than anything.
I'd be more comfortable running a system running a vendor dbms rather than an Open Source implementation - just because when shit hits the fan (which it invariably does), at least there's ultimately someone responsible for it.
Don't get me wrong; we run mySql for all small-midsize operations, but the bigger systems run Oracle purely because of this reason.
throw new NoSignatureException();
I think it depends upon the scale. There are probably many small users out there looking at OSS databases to save money on licensing. And these types will be very happy to jump on board to a 'free' proprietary product. But there are some large companies with the resources and the desire to leverage access to the source code. A good example that comes immediately to my mind is Fujitsu's involvment with PostgreSQL.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
I agree 100%. I have worked on plenty of development jobs where management wanted to use SQL Server (normally) or another big name database because they thought they had a lot of data. Typically we were storing a few hundred products and maybe 10000 orders. I voiced the opinion that that wasn't much data and an OSS database such as Postgres or MySQL would easily handle it. I've never recieved such dirty looks. I think the managers want the prestiege of using a "real" database.
I used to have a better sig but it broke.
This is a surprise? Maybe "back in the day" innovation was a significant part of the average business plan in the United States, but those days are long gone in today's business world where short-term financial gain is the only objective. Realistically, the only innovation going on today it that which is related to military use. Sad, really.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
It is not IT's job. IT just gives everyone the pricing based upon how many 9's of availablility you want and the database/server licenses.
If the user balks at that, the database can be put on the far less expensive PostgreSQL/mySQL server.
The downside is that the database people need to become familiar with TWO different databases (or more depending upon the other apps).
The upside is that the company saves a LOT of money in licenses and such.
Of course, this is a problem for Oracle. Building Larry Ellison's house cost far more than MySQL generates in profit. I drive by the place all the time. Under construction, it looked like a mall. Oracle stock dropped from $50 to $12 while the house project was underway.
How very true. I have a consulting gig I'm working on that was resistant as all hell to not using MS database solutions.
They were resistant until I started with software costs. Linux distro - free. MySQL - free. MS Windows Server 2003 75 cal - $15,500, MS SQL 2005 75 user was close to $20,000.
Add my $7,000 development fee to that and they'd have paid $42,500 vs just the $7,000. Big difference as all they're paying for here is IP and I hand off all source and notes when the project is over. Yes, I own it and they can't share it. But they have every right to the fruits of my labor since they are paying for it. But I retain rights to the software as delivered. They are free to modify in any way they like.
The open-source RDBMSs *are* catching up to the closed-source databases, but there is still plenty of work to be done. One area in particular is support for the XA protocol for 2PC.
Both of the "big two" (MySQL & PostgreSQL) advertise XA support, but neither has complete support; as both fail to support suspend/resume. And while this might seem like a minor point, XA support is an absolute must if you want to do something like incorporate a database write and something like a JMS message into one transaction. Currently you can't do that with, for example, JBoss and PostgreSQL, as JBoss' transaction manager tries to do a suspend at some point in the process, resulting in an exception from the PostgreSQL JDBC driver. (As an aside: I haven't researched yet whether or not this is correct behavior by the TM, so this particular example might not be a problem with a different app server).
Clearly not everybody needs this level of functionality.. but for those who do, it's critical. By way of example - imagine an enterprise CRM system which uses JMS to federate data across systems by publishing events to a Topic when customer records are modified. You really need ACID compliance for both the database write and the message publish, or you get inconsistent data which is BAD, BAD, BAD. Yes, yes, I know there are ways you *could* get around this without using XA, but the point is that this is what XA is for and this is the direct, obvious, normal way to approach the problem. And by and large, the open-source databases just aren't there yet with the needed functionality.
That said, I believe they will get there in time. And in fairness, there may be a open-source database (possibly Ingres or Firebird) which does have full XA compliance, I haven't investigated them all in detial.
// TODO: Insert Cool Sig
Granted some non-widely used software will only offer forums, chat, and lists as support options. But most major open source packages (including MySQL) does have professional level support available. Some open source companies (like MySQL and RedHat) offer commercial support themselves directly to the customer. Other packages have vibrant support communities that have sprung up around them and even companies that are quite successful offering commercial level support for several open source packages.
Saying that the reason people don't switch to open source software is because there is no support available is simply not true. It might have been true two or three years ago but not anymore. Take some time and investigate your options and you'll find there's a lot more available out there than you might think.
Anthony Papillion
Advanced Data Concepts, Inc.
"Quality Custom Software and IT Services"
You misspelled "hell no".
The problem with FoxPro is that people come to depend on it, and start building their internal applications around it without realizing that it doesn't scale.
I don't mean that it doesn't scale well, but that it simply doesn't scale at all. Since it's not a database, but a single-threaded client app that reads and writes files off a fileserver instead of making remote queries, doubling the number of users doubles the amount of network bandwidth you have to use. If twenty people are accessing the same 1GB "table" concurrently, then heaven help you all.
My company depends on a FoxPro app. Without it, we go out of business. I was hired to write a web application to allow customers to access our FoxPro data, and ended up having to write a hideously complicated n-tier system where we have one VMWare image for each concurrent query we wish to be able to run. Yeah, you read that right: since the FoxPro client libraries are single-threaded, if we want the ability to execute 10 simultaneous queries, then we have to run 10 load-balanced VMWare images to service them.
So, I eventually wrote a system to copy the table files onto my local system, use a modified version of the xbase package to render them in PostgreSQL's "copy from" format, and them load them onto a pgsql server. It's more complicated in some ways than the native FoxPro query setup, but the upshot is that our queries now run between 100 and 1,000 times faster on average. Yes, those numbers are from actual profiling runs. Some queries that used to take 60 seconds (!!!) now run in a few milliseconds.
If FoxPro is the answer, then the question needs to be taken out and shot. It has our company in a stranglehold and we're doing everything we can to get out from under this twisted nightmare from hell. I honestly think you'd be better off writing applications in Excel, and that's not something I'd say lightly.
Dewey, what part of this looks like authorities should be involved?
Whoever you paid for your commercial MySQL or PostgreSQL support contract, of course.
There are many Oracle, SQL Server and DB2 specialists on the market.
So your contention is that a high rate of turnover in the support of those applications is good?
As an early adopter of software you take on the risk while others (including competitors) learn from your mistakes.
MySQL and PostgreSQL were publically released 11 and 17 years ago, respectively. If that's your idea of "early adopter", then may I also suggest other hip new technologies you might wish to investigate, such as TCP/IP, VGA graphics, and transistor-based memory?
Dewey, what part of this looks like authorities should be involved?
If you use an open source app, then your boss can yell at you when things go wrong! Hmm, actually, I see your point.
I am TheRaven on Soylent News