How Real Is The Open Source Database Fever?
J. Misael G. points out a NewsForge article on recent moves by some database vendors to loudly release (some of) their products as open source, asking the vital question "How much open source beer are these newcomers bringing to the database bash, or are they simply coming in and asking where the cups are?" (Slashdot and NewsForge are both part of OSTG.)
Mr. Shimp, get a clue... we're simply not going to buy your pitch without looking at other decent (free!) alternatives.
Sigs cause cancer.
I think a lot of it is PR. If you take a look at a lot of the advertisements that include the words open source, they use it like a buzzword. It gives me a kinda woozy feeling that I don't like.
It's to make it clear that the relationship exists, and allows you to consider if there may be some sort of conflict of interest. For example, when MSNBC does a story on Microsoft or NBC, they always point out that they're operated as a joint venture between the two.
I'm not as interested in their Open Source beer. I want more of their Open Source speech - not just all the marketing hype we can eat, but shareable code, code, code. I want Postgres transactions in MySQL APIs. I want Oracle's scheduler in Tomcat's JVM. I want to pay them for tech support, so I can get my FrankenBase to work, making me rich, and everyone else wise. Free the source, Larry!
--
make install -not war
I don't see how it is going to pan out in the long term for some of these companies, though.
Jerry http://www.syslog.org/
who keep telling me, that they want their commercial applications re-written with an open source database backend like mysql. I never have the heart to tell them that unless they are actually are releasing the source code for their apps, that they need to purchase a commercial licence
Think you can program? Prove it @ the geek challenges
Other than the obvious mySQL and PostgreSQL, I have tried two others... CA's Ingres and IBM's Cloudscape (which is an embedded DB).
Ingres was originally intended to compete with the likes of Oracle and MS SQL Server, but never had the power or client base. OpenSourcing Ingres looks like CA's attempt to beef up both in one shot. It's not a GPL license, just a chance to peek at the source and maybe help out. The interface that ships is very much like Oracle's.
Cloudscape is nice, but not even as powerful as PostgreSQL.
I think there is a huge market still untapped for open source DB's... especially RDBMS, but alas, large companies are (of course) slow to adopt.
Saying Android is a family of phones is akin to saying Linux is a family of PCs.
The fact that even small companies are paying hundreds of thousands of dollars annually for a SQL database solution just serves to underscrore the disconnect between business managers and information technology divisions. Business managers actually believe they need to spend these large sums to ensure data security and integriy. More so than in any other area of IT purchasing, money spent on DB is totally out of synch with the real underlying cost-benefit equation. These prices were justified back in the days when hardware was primitive and expensive, making state of the art software algorithms worth an order of magnitude more valuable than they are today. With today's hardware, virtually any credible SQL Engine code-base would run the largest corporation. The prices are purely a product of marketing and a huge gap in understanding. wwww.SoftwareObjectz.com
http://www.softwareobjectz.com
The late-1990s media buyouts created so much cross-ownership that every article can contain some hidden corporate bias, stemming from competition/cooperation between parent corporations publishing the story, and the subject of them. When the same corporation is reporting on itself, the story is extremely suspect. The media response has been to favor "full disclosure": mentioning the corporate connection in the story as a disclaimer of "objectivity".
It's not good enough. People are increasing our acceptance of this conflict of interest the more we see it, rather than rejecting it more as it grows more pervasive and therefore more dangerous. Actual competitive conflicts are necessary to get critical interpretations, not just acknowledgement that interpretations might be selfserving propaganda. At least Slashdot has these discussions of stories, in which dissent can be communicated. My favorite system was the P2P "Third Voice", a browser plugin which let the user attach popup sticky notes to any web page, stored in a DB the plugin checked against the "background" page's URL. That way, P2P commentary could effortlessly appear right in the context being presented, without requiring cooperation from the provider of the target content. The project folded, but I welcome its return. Only the flexibility, complexity and scale of the public is enough to compensate for the advantages that centralized corporate media has in lying to us.
--
make install -not war
From the article:
> PostgreSQL has a much richer feature set but
> has scalability problems and doesn't have
> a company behind it providing
> enterprise-level support;
Bah. What about this? Lots of companies there, and many of the folks involved are core PostgreSQL developers...
The Army reading list
They said that MySQL sucks...now they're open-source, just like us, so their products must now suck also!
What I'm listening to now on Pandora...
Of course he would say that--but the typical consumer interested in F/OSS databases are definitely not the handful of big companies that Oracle sends a team of slick salesmen to do 4 months of PowerPoint just to get one > $100,000 sale. Of what use is the "Oracle model" to the rest of us?
$100,000 is chump change. Entry-level real estate agents, fresh from passing the licensing exam, turn up their noses at those gigs.
A team of slick salesmen and 4 months of PowerPoint start at around $10,000,000, although $100,000,000 might be more realistic.
PS: There is a major division of our state government that has invested about $250,000,000 over the course of eight years on an ERM/CRM suite from SAP and they have, after eight years, precisely 0 [I repeat, ZERO!!!] of the constituent modules up and running and performing any meaningful work.
...where the open source urinal is.
Based on old Borland Interbase
Help fight continental drift.
<Off-topic rant>the editor of Newsforge really needs to have a word with the author of the article, I say. It is really not necessary to write "so-and-so said" in every single sentence, says me. I say that you only need to mention who said the words when the author/speaker changes. I say that it is very annoying to read that article because of the poor way that it is written.</rant>
flossie
Write now. Defend liberty
This makes it really easy for open-source databases to step-in since there is no lock-in. Later on if you figure out you need a big honking Oracle/DB2/whatever you can easily change your mind.
Like Java makes the OS and HW a commodity these tools makes the database a commodity and by definition commodities ends up being really cheap. And it's kind of hard to find cheaper than free ;-)
My favorite play is to develop on Hypersonic/McKoi and deploy on PostgreSQL. No sweat.
TCAP-Abort
Commercial license is NOT required for in-house (written and distributed) app running on one server. If we replicate to another server for web access, then we would need a commercial license.
Many small office I.T. managers may now breathe a small sigh of relief, or begin investigating http://www.postgresql.org/
Generic OR systems tend to not take advantage of the underlying DB's capabilities, and in any application where spending the money on a real DB makes sense, throwing all of that away by using auto-genereted OR is a shame.
ODBC was cool, but i think reality has shown that in many cases, changing DB backends just doesn't happen that often. The example you cite, develop in one place and deploy elsewhere, doesn't really seem to have much real world justification, since development SKU's of most DB's are free (i.e. if I'm going to deploy on MSSQL i'll use MSDE or the developer license of full MSSQL that comes free with the appropriate MSDN or VS skus)
OR is also a neat idea, and im working on a product that has done a fair bit in the OR space, but i look at the SQL code we're cranking out and it's a shame compared to what i'd do by hand.
It's a tradeoff I suppose between runtime performance, DBA managability, and DBMS feature use on one hand, vs design encapsulation, design aesthetics, and buzzwordiness on the other side.
Java has tried to make a lot of things commodities, but alot of what's going on in java is layering/abstraction for layering and abstractions sake.
My opinions are my own, and do not necessarily represent those of my employer.
Warning: I am an Oracle DBA. I have been working as an Oracle DBA / developer for 10 years.
I absolutely believe that the open-source database choices out there today (MySQL, PostgreSQL, Sleepycat) are more than adequate for 90% of all development being done, especially the small- and medium-scale stuff. I'm glad that we've moved away from flat-file systems for small-time web work. It has forced developers to understand their data structures, which is a huge step forward for everyone. Developers today have a far greater understanding of their data, and databases in general, than they did 10 years ago. They understand relational models better, they understand abstraction better. That said: there are two things everyone should understand about the way Oracle thinks about databases (and its customers):
1) Oracle exists solely to serve the top end of the market. They're not really interested in anything else.
2) If you can afford it, it pays to start with Oracle first. For small installations, it's not as expensive as you think, especially if you forego the support. Why do this? Because if you find out later that you needed a serious database solution and need to make a back-end change from something like MySQL, you are in for a world of pain.
This is Oracle's bread and butter. I don't expect to be hurting for work for a VERY long time.
All my foes are spelling or grammar Nazis.
"nazi" should be lower-case, since you're using it as a generic noun and not a proper noun. (Spelling or grammar Nazis would be german-language, anyway.)
Ingres and Cloudscape are clearly orphanware where CA and IBM clearly saw no need for the database management systems.
I work for CA in Ingres support. I can tell you that that statement is absolutely untrue. Every CA product that requires a repository or database of some kind either already uses Ingres or is in the process of being ported to use it. It's ridiculous to suggest that we'd 'abandon' software that's going to be at the heart of virtually every other product and service we sell.
"guru + MySql > idiot + Oracle any day of the week, for 99 out of 100 common cases"
If you were talking about almost any other pairing of apps, you would be correct. However, I can pretty confidently say that there's no way you could even come up with 100 data management scenarios where both Oracle and MySQL would be appropriate. I'd be impressed if you could even come up with 10.
Can you use Oracle for nickle and dime stuff like small business customer management or a bug tarcking system? Yes, but why in God's green earth would anyone ever want to go through that expense and learning curve?
Can you use MySql to manage the 2.5 million line items that support military operations in the Western Pacific (used to be a supply officer) and balance them off of the 65,000 maintenance items with respect to the 10,000 open orders related to them on any given day? And then can you make it flexible for reporting and integration with other systems? Come talk to me when MySQL's ODBC interface is actually ODBC COMPLIANT.
In the mean time, no ammount of skill on the part of an orange producer will make an apple into a better tasting orange than one that any idot could pick off a tree and hand to you.
I've dirtied my hands writing poetry, for the sake of seduction; that is, for the sake of a useful cause. --Dostoevsky
> That's exactly the reason people should stay away from Oracle. Simply because it backs you into the
> product in a way the conversion is extremely painful and expensive. conversion from MySQL to
> MS-SQL or a similar SQL complient database is really pretty simple. Oracle is the mongrel out
> there and should be put to a very public open sourced death.
Funny, I don't have major problems on a typical migration between oracle/sqlserver/db2/postgresql. Oh sure, there are sometimes issues - differences in locking strategies, differences in partitioning, and differences in stored proc capabilities. Those three are the primary areas. But most of the time it's a nit. And of the major commercial databases - oracle has the least respect for standards.
However, Mysql very visibly defended the notion that 99% of the developers didn't need transactions, views, stored procs, subselects, unions, triggers, etc. Until very recently most of these capabilities were missing (even though oracle supported them almost 25 years ago).
Most mysql databases out there today still don't have transactions - and the applications that use them are often excessively complex due to poor legacy functionality in mysql. So, you often end up with 1000 lines of php & five queries in mysql when 10 lines of php and one query would do the job in any other database.
There's a lot of reasons to avoid oracle - its cost, Larry Ellison, oracle sales staff, its complexity, Larry Ellison, its low regards for standards, etc, etc. But the problems porting with msyql - are generally the fault of mysql ab and nobody else.
And until MySQL offers a full feature set nobody should be surprised that migration can be more expensive than necessary. And even then, if your database is going to get really huge - you'll probably want to think in terms of data architecture that go completely beyond what mysql has to offer (even at 100% Ansi-92 compatibility): and your application and overall architecture will be designed with parallelism, clusteroing, replication, partitioning, etc as part of the design.
And then you'll be able to reliably provide fabulous performance while casually slinging millions of rows around at a time. And it'll work great. No surprises.
That's why you sometimes *should* start out using oracle, db2, terradata, or whatever.
very public open sourced death
Not very likely. And not a very good idea either. Until you show me something in the open-source world that can do 1000+ transactions per second, with complete atomicity, and ability to pull the plug on that system and then seamlessly roll it back to the exact moment in time that it was at when it died... Well, you're not replacing Oracle with anything less in the enterprise space.
By the way -- the "painful" part of converting from an OSS database to Oracle isn't the data conversion, export import, etc. That part is dead easy. The hard part comes when you start customizing your solution to take advantage of some of the huge performance-gaining features that Oracle provides. You have to start figuing out what parts of your application-layer code can be moved to your database, and making those changes at the second and third tier accordingly. You can create massively fast, very complex database systems with Oracle, but it's a very specialized area.
I'd be all for complete transparency of database from any application, but when you do that you encourage, no, you force, the least common denominator solution.
I contributed in a very small way to Wine (the windows replacement) development early on. In retrospect, I think that database products like Postgresql are going to be the next big open source wave. Licenses for stuff like Oracle can be very expensive. Also, it simply isn't going to take nearly as much to develop products that are highly SQL language and library call compliant with products like Oracle and SQL Server compared to the effort that has gone into Wine. The next big wave after databases are really done well will be I think the various accounting packages. This is an area where lots of shops want a degree of customization/tailoring.
MySQL is not really designed to do anything more heavyweight than lightweight content management (a SQL interface for NFS basically). It has data integrity issues which IMO should even rule it out of e-Commerce altogether or anything else where accuracy of information matters.
THese include:
0000-00-00 is a valid date in MySQL
NUMERIC types are agregated as floats which can lead to round-off errors.
Numbers are truncated if too large to be stored
(Strings are also truncated in violation of SQL standards, but this is not as severe as numbers for obvious accounting reasons).
If MySQL is unable to create an Innodb table, it may create a myisam one instead without raising an error. This creates a situation where you cannot be sure that your transactions are really being rolled back everywhere the application thinks they are rolling them back........
Now, PostgreSQL has no data integrity issues that I am aware of, and the few areas where it handles things in non-standard ways are clearly documented, and the core developers place a huge amount of thought into how to do things right. The level of professionalism in this project is truly amazing.
Firebird is nice too, but PostgreSQL has fewer limitations. These two databases are building the track record you speak of and they will continue to do so. Now with Slony-I, PostgreSQL has a decent, robust, and open source replication solution, I will expect continued interest in this area.
Oracle still has a few enterprise features that most of the open source databases lack-- table partitioning, grid computing (but investigate backplane if this interests you), and a few other options. However, on the down side:
VARCHAR's store NULL's as empty strings (which are not the same thing)(!!!)
PostgreSQL has much more flexibility in development due to the larger number of supported languages for stored procedures.
$$$
Licensing headaches....
Disclaimer: My company (http://www.metatrontech.com) provides solutions for MySQL, PostgreSQL, and Firebird. We will work with Oracle and SQL Server but it is not as much our things since we have an open source focus. We have been running PostgreSQL extensively and have only had problems due to hardware failure.
LedgerSMB: Open source Accounting/ERP
Oracle is big, bad, and powerful -- fair enough. It's reputation is well deserved. It's also not a single application, but a conglomeration of applications, all of which need to be pursuaded to work together. Since the various limbs of the beast are developed by different branches of Oracle, they mature and are released at various times. Patches come out on an irregular schedule, and my overwrite previous patches, reintroducing old bugs or new incompatabilites. Trying to verify that version x of component a will play with version y of component b in environment c is enough to make one daffy. Babysitting this monster is time-consuming, and time is money. Trying to maintain more than a trivial deployment without tech support is (intentionally, I believe) a fools game. Draconian licensing terms and restrictions combined with the above factors make Oracle EXTREMELY expensive. The local branch of my company (200 employees) drops a tidy quarter-million into Oracle's coffers every year, and we get huge discounts.
I also maintain a few PostgreSQL databases. They're not quite as capable as the Oracle systems, but they can do at least 90% of what oracle can. They're much easier to configure and maintain, and offer very competitive performance. If we weren't backing oracle to the hilt due to manegerial fiat, they'd do nicely for the vast majority of our systems.
Other companies are leaving Oracle (and other big commercial companies) to lower their operational costs. As the open-source databases improve, a ever-shrinking group of companies are stranded on "big-$-database island" for technical reasons.
Oracle has people to pay and a bottom line to watch. As their market-share begins to shrink, how can they protect revenues? Hint: Look at their business strategy over the past few years. Here's the highlights:
- Try to improve the product. They're trying, but I'm not going to comment on what I think of the most recent efforts.
- Raise prices. Generates more revenue, but it's also fueling a race to jump ship.
- Unbundle products, and create "new" must-have applications, each licensed seperately. This is like going into
/usr/bin and distributing each tool individually, for a few bucks each (maybe with a few added switches to that you can claim "new and improved". No thanks, I'll write my own.
- Control the entire client life-cycle. Oops, I mean facilitate. Oracle has released a plethora of products (designer, developer, OAS etc.) to assist the developer, dba, application manager etc. This is like dealing crack. The apps, individually, aren't too bad (except for OAS, which basically wraps layers of nastiness around Apache to render it impossible to configure/maintain). The real problem is, once you take your first hit, it becomes virtually impossible to use standard tools to deploy, maintain, or version your app. For just a few dollars more, you can acutally use the app you've spent six months developing.
The business model centeres around squeezing more and more money from a shrinking pool of customers. I'm finding it increasingly difficult to recommend Oracle to any of my clients. Smart managers see the trap of vendor-dependance, and insist on open standards. Large database vendors have a vested interest in trying to `extend and extinguish` those standards, as Oracle is doing.I predict that, very soon, pointy-haired-bosses of companies that CAN move to open source will do so 'en masse. The software is stable and mature, all that's missing is corporate mindshare. As that happens, the only recourse the big vendors have is to squeeze huge amounts of cash from the handful of companies who really do depend on the few features not freely available -- an unstable and possibly fatal arrangement for all parties.
So, I'm working with oracle today, but looking for a good opportunity to jump ship.