Slashdot Mirror


Open Source Database Underdogs

implex writes "Interactive Week had an article called "Data Underdogs" which they compare offerings of present Open Source Databases with present commercial offerings. In one part they mention ...On the other hand, MySQL developers now have a much-needed transaction management system: NuSphere last month made its Gemini transaction manager for MySQL available as open source code on mySQL.org, a site that the company recently launched. Complicating matters, though, is NuSphere's blood feud with MySQL AB, a Swedish company that runs a competing open source development site for MySQL code at www.mysql.com. No mention of the fact that MySQL AB actually created the product was interesting."

30 of 154 comments (clear)

  1. Re:OS DB 3% - can that really be? by mikera · · Score: 3, Insightful

    Well, when people talk about market share it is usually by revenue, and given the low price of Open Source databases I'm actually surprised it's even as high as 3%.

    But 3% of revenue might actually add up to a fairly substantial proportion of installations.

  2. Re:One thing the article didn't mention . . . by connorbd · · Score: 3, Insightful

    I don't think you're likely to find that happening on the commercial level. It was so long ago I don't even remember where I read it (though it's the sort of thing that a /. poster might say), but I once heard it said that acknowledging bugs is probably a great way to tick off your investors.

    "What, there's a flaw in your product?"
    "Yes, but we can fix it pretty easily -- have the bug fix out tomorrow..."

    Whereupon the non-technically-inclined investor writes the developer's comments as a sign of weakness and sells. I think that's also why commercial bug fix releases are such a big deal -- probably Microsoft's other reason for cramming all kinds of new features into their service packs.

    /Brian

  3. Open Source Databases by standards · · Score: 5, Interesting

    Instead of focusing in on the available solutions, the article simply spits out the idea that MySQL and Postgres are weak pretenders.

    The FACT is that these databases are excellent solutions to a large number for MOST database problems. Sure, like all DBMSs, they can always use more features. But I don't want my DBMS to turn into an uncontrolled monster like Oracle.

    For 99% of the applications out there, Postgres and mySQL fits the bill. If you're doing large scale distributed payroll using SAP, then I suggest you go with a big name...

    But if you're an average-sized business, Postgres is a full-featured solution today. It is an inexpensive, fully-capable solution.

    If you're into writing Oracle PL/SQL, a proprietary procedural extention to SQL, go with Oracle. (Note: PL/SQL doesn't work with Sybase or DB2 or anything else.) If you're into TransactSQL, another proprietary SQL extension, go with Sybase. Once you get into TransactSQL, you'll NEVER migrate out without expense. In fact, my shop, an Oracle shop, doesn't PERMIT developers to use the PL/SQL ewxtensions. We learned our lesson after migrating from proprietary MS-SQL-Server extensions to Oracle!

    And if you need a big company to support your 20,000 person payroll, go with IBM's DB2. Again, another fine DBMS.

    But for the average shop? Save your money and go with PostgreSQL.

  4. Code forks... by UncleOzzy · · Score: 4, Insightful

    What's the problem here? We've got and open source database that's being developed in two somewhat different directions by NuSphere and MySQL AB ... seems like in the end it'll lead to two different, but each (for their intended applications) excellent products. I just don't see a problem.

    Maybe I'm just being dense (first reply: "Yes, you're fscking dense!")

  5. Re:Databases more complicated? by Anonymous Coward · · Score: 4, Funny

    You are evil. OSS can accomplish anything ... well, web browsers are hard! ... I'm sure a database is easy though!

  6. Re:One thing the article didn't mention . . . by Jason+Earl · · Score: 3, Interesting

    One of the things that I like best about PostgreSQL is the fact that the developers are brutally honest about the software. The core PostgreSQL developers have always been quite frank about which parts of PostgreSQL were ready for production, and which parts were kludges, or were largely untested. The problem with commercial databases, even good ones like Oracle, is that the people who know where the rough edges are aren't talking about them. That sort of honesty goes a long way towards building my trust.

    PostgreSQL has an amazing featureset, especially considering its price. I think that fairly soon Oracle is going to wake up to the fact that the database is becoming a commodity market, and quite frankly, they aren't likely to be competively priced.

  7. growing trend.. by TechnoVooDooDaddy · · Score: 4, Insightful

    Actually, I've noticed a growing trend in the crowd of programmers I run with is not to care about the implementation platform.. SQL is SQL, and you don't do transactional based stuff on the platform anymore, you abstract away from that into your middleware, and do things the way you want to. In REAL LIFE programming, you often don't have the chance or opportunity to spec out what your back-end platforms are, you have to deal with what's given, or what's legacy at Company XYZ Inc. You also are often dictated a programming langauge for the project whether it be java, c, cobol, perl, python or whatever. The real value lies in being able to adjust to whatever the PROJECT calls for, and being able to implement on just about any platform you need with strong good design patterns. MySQL and Oracle both do exactly the same thing from my point of view, hold data in a relational format for storage and quick retrieval. Putting too much logic into the database only serves to slow things down in the long run. Nasa Switches from Oracle to MySQL shows us why Oracle putting all those bells and whistles in their product may lead to a weakening of their marketshare ultimately. The fact is, bells and whistles cost memory and processor, and there's a balance between the two that Oracle seems to be blithly ignoring.

    1. Re:growing trend.. by popeydotcom · · Score: 3, Funny

      It's the RMC (Right Mouse Click) crowd. With MSSQL came RMC - backup, RMC - add data file, RMC - almost anything.

      Anyone can become a DBA, just like anyone with IIS can become a webmaster.. *cough*

    2. Re:growing trend.. by duffbeer703 · · Score: 5, Insightful

      SQL is not SQL

      There are four tiers to the SQL-92 standard, and even commercial RDBMS vendors to not conform to all of them.

      Oracle, Informix, DB2, MySQL all have different optimizers and differing concurrency schemes. Oracle does not lock a row for reading when another transaction is writing a row. Informix will perform table scans on certain queries where DB2 will not.

      This "growing trend" you are talking about must be coming from inexperienced programmers working on trivial or single-user applications. In REAL-LIFE the security of data and usability of the client are paramount.

      The fact that you would even say that MySQL and Oracle do the same thing displays your complete lack of knowledge regarding what modern commercial database products are capable of. Leaving all the programming logic in the hands of applications developers re-invents the wheel, escalating costs while introducing more bugs into the system.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
  8. OS DB 3% - can that really be? by Kraft · · Score: 3, Interesting

    But mirroring the success of Apache and Linux will be no small feat for the three most popular open source databases - InterBase, MySQL and PostgreSQL - which combined represent less than 3 percent of the market, according to even the most optimistic estimates of the suppliers themselves.

    Did this number strike anyone else as too low? This is the first time I have seen any percentages on OS DBs. Alright, 3%, but of what? Does this mean that less than 3% of all bytes stored in any database are stored in an OS DB? That may be, but I cannot believe that less than 3% of all databases running are OS.

    The thing is, when I started studying computer science, we only ever worked on mSQL boxes. My first job used Postgres and the second used mySQL. Anything I work on myself is mySQL. Granted these jobs have all been webrelated, but when you think about how many ISPs offer mySQL/Postgres preinstalled (not to mention linux distributions, if that counts), 3% seems rediculous.

    Well I suppose MS Access runs on one or two computers out there... that might raise the non-OS score.
    --

    -Kraft
    Live and let live
  9. Re:Databases more complicated? by micromoog · · Score: 4, Insightful
    Oracle is saying that the Open Source comunity is not 'capable' of producing a dominant database

    No. The point is that the design of a great DBMS takes a lot more unity than the large-scale projects OSS has tackled previously. In a DBMS, there must be an internal set of standards for everything from datatypes to join optimization logic.

    Databases just don't lend themselves to fragmented development the way operating systems do. Frankly, I'm skeptical that an OSS project could (using current development practices) pull together and produce something as capable and stable as DB2 or Oracle.

  10. DB2 v PostgreSQL by /dev/zero · · Score: 3, Interesting

    I've moved a major (~8GB) database from DB2 to PostgreSQL for a client. It runs faster and is easier to feed and administer now. I'm in the process of moving a similar-sized database and app from MS SQL Server to PostgreSQL for the same reasons (plus the openness of PostgreSQL and Linux).

    I really like DB2, it's very powerful, robust, and scalable. But it requires a fair amount of admin expertise and time. Not so much as Oracle, but much more than PostgreSQL.

    What, frankly, suprised the heck out of me was the fact that nearly all of my queries (this is an audit system, OLAP, not OLTP) ran between two and four times faster under PostgreSQL. That adds up pretty quickly!

    As far as the application development support infrastructures, I'm not really sure what is meant by that. The current implementation of stored procedures in PostgreSQL falls short of what DB2 provides, I'll grant. But support for C, Java, Perl, PHP, Python is all there. It's a pretty high-speed/low-drag setup, IMHO.

    The set of problems for which PostgreSQL is the best solution is expanding pretty rapidly. I won't pretend that it's the be-all RDBMS, I don't think such a thing exits. I would say that it's worth a serious look for many situations.

    Gordon.

    --

    He that breaks a thing to find out what it is has left the path of wisdom.
    -- J.R.R. Tolkien
    1. Re:DB2 v PostgreSQL by Jason+Earl · · Score: 3, Insightful

      Imagine that, a consultant that not only lowered the maintenance and upgrade fees for his client, but also delivered a solution that was easier to maintain and ran faster to boot. I bet the port wasn't even that difficult. PostgreSQL is getting to be quite competitive feature-wise.

      Believe it or not, this is precisely the type of things that most employers want. However, most IS groups are too busy with CYA tactics to ever even worry about providing the best solution for the job. They just want to choose software that is safe, and in those cases the more expensive it is the better.

      Your response was literally the funniest thing that I have heard in some time. Someone replaced DB2 with a low-cost, low maintenance PostgreSQL solution, and your suggestion is that he should have instead spent his time reading some arcane IBM manual.

  11. Re:InnoDB by oingoboingo · · Score: 4, Informative
    One is tied up in this contractual mess, but the other, InnoDB has no such issues, and may even be faster for many purposes.

    We did recently quite a bit of Perl development using MySQL and InnoDB tables, and they worked (surprisingly) well. Having transactions (finally!!) in MySQL is a huge blessing.

    Somewhat related...while the article mentions that MySQL and Postgres don't have the large application development support infrastructures that the bigger commercial database have, they can be a lot quicker to prototype and develop with because of their relative simplicity.

    We're in the middle of migrating our application to DB2 on RS/6000, and I have to say I'm missing MySQL's simplicity of administration and configuration...you can try out a lot of new ideas quickly with MySQL, whereas a big chunk of our time at the moment is spent poring over DB2 manuals for obscure command switches and SQL options (the LOAD utility can be a barrel of laughs for newcomers)...of course if our DBA was a little more competent, but that's a different story :-(

    (And yes I do realise DB2 is much more powerful/robust...I'm talking about ease of development and rapid prototyping!)

  12. Re:InnoDB by tzanger · · Score: 3, Interesting

    It's a pretty tall-order, but it lives up to it. Our internal benchmarking tests for our application purposes show it to be about 7x faster than an identical PostgreSQL 7.1.2 solution. I've seen reports on the mailing lists that it can be up to 18x faster. You also get the simplicity and maturity of MySQL. The InnoDB benchmark page has their own benchmarks, which pretty much mirror what we've seen internally.

    Just a quick look at the benchmarks link tells me that they have fsync turned on on Postgres. What exactly is fsync? Every time Postgres touches the disk, it sync()s. Slow? Hell yeah. But you won't lose data in the cache. It's turned on by default.

    I realize that Postgres isn't the fastest in the world, but it's not 7x slower on 100k inserts. That's just bad benchmarking. Deceitful even.

    If fsync is not on, I apologize. However the link mentions no performance tuning other than buffer pools and log buffers. If Postgres is defeated by 7x (18x?!) in a fair test, I'll concede. However this looks like the MySQL testing benchmarks on mysql.org; bullshit, plain and simple.

  13. Re:InnoDB by Hrunting · · Score: 3, Interesting

    One is tied up in this contractual mess, but the other, InnoDB has no such issues, and may even be faster for many purposes.

    That might be the understatement of the year. InnoDB touts itself as the "fastest disk-based database" currently on the market. It's a pretty tall-order, but it lives up to it. Our internal benchmarking tests for our application purposes show it to be about 7x faster than an identical PostgreSQL 7.1.2 solution. I've seen reports on the mailing lists that it can be up to 18x faster. You also get the simplicity and maturity of MySQL. The InnoDB benchmark page has their own benchmarks, which pretty much mirror what we've seen internally.

    Of course, MySQL has other drawbacks, namely that it doesn't support triggers or table inheritance or some of the more complex nuances of standard SQL, but the 95% of stuff it does have is very fast, and the other 5% can be handled in code. MySQL isn't popular because it's open-source, though. It's popular because it's good, free, and most importantly, extremely easy and intuitive to use.

  14. Develop with PostgreSQL; deploy with whatever by brlewis · · Score: 3, Informative

    One problem with proprietary DBs is that their docs will steer you toward non-standard SQL even when standard SQL will work. For example, Oracle will teach you to use NVL and Sybase will teach ISNULL, when COALESCE works in both databases.

    The solution is to develop with PostgreSQL regardless of what your deployment DB will be. Their docs favor standard SQL. The code you develop will work with the proprietary DBs as well.

  15. Re:Oracle experience by duffbeer703 · · Score: 3, Informative

    Your DBA was running around tweaking all day because he was supporting a poorly designed application that was completely unoptimized.

    Because so many developers have a notion (prominently displayed in this story) that "SQL is SQL" many apps running on a database run horribly inefficient queries that bog the database down.

    Studies have consistently found that80-90% of database tuning needs to take place in the application. The database tuning portion mainly consists of tweaking memory and parallel query options.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  16. One thing the article didn't mention . . . by micromoog · · Score: 5, Insightful
    The article mentions that the extreme complexity of database management systems is a barrier, which is true. There is one other thing the commercial vendors have that is a big challenge for the "underdog" OSS vendors: trust.

    Companies keep everything on database systems. Hundreds of geek-hours must go into the design of a database application for a company. Whatever system a company chooses, they must be reasonably sure the system will:

    • almost never fail
    • be supported by a stable company and
    • integrate well with other systems, into the future.
    A smaller price tag may be a good start to target smaller companies that don't rely heavily on database applications, but the reason Oracle can charge $15k/CPU for 9i Standard: the reputation is worth it.
    1. Re:One thing the article didn't mention . . . by Jason+Earl · · Score: 3, Interesting

      My old boss had a saying:

      You only need an aircraft carrier if you are landing fighter planes at sea. If you are just going fishing, a rowboat is fine.

      Oracle is nice, but it is completely overkill for most projects. PostgreSQL has many of the same features, including all of the referential integrity features that make Oracle so nice to develop for, and it comes with a fishing boat price.

    2. Re:One thing the article didn't mention . . . by rakjr · · Score: 4, Insightful
      "extreme complexity of database management systems is a barrier," this can be taken two ways:

      It takes an 8 ton gorilla of a database system to get the job done.

      It takes alot to manage an 8 ton gorilla of a database system.

      I believe the first may be true depending upon the needs, but the second is a given. What has not been stated is that the more complex the database system is, the more likely there will be errors on the part of those implementing the system if they are not fully trained. In some ways, the difference is similiar to the difference between operating a truck verses operating a jet plane. Both are designed to get stuff from one place to another, but the number of controls on a jet plane and the amount of data being produced by various meters is considerable.

      People really need to weigh two parts of the issue.

      Does our task require a jet or will a truck suffice?

      Are we willing to pay for proven jet pilots, or is it safer to pay for an equal number of proven truckers. The key point here being "proven."

      To often I am seeing agencies who buy into the idea that the only "real" solution is the jet. This is a humorous thing to see when the jet is only used for trips across town...

      --
      In a place beyond time and space, in a land far better than this, look for me there...
  17. Re:Versus OpSys by micromoog · · Score: 3, Interesting
    I'd like to see an object data model (ODM) open source database come into the scene. Now that would cause a ruckus, challenging both the bottom line and validity of the relational model!

    Yeah, all the companies would immediately say "Let's base the future of our business on new and untested technology! Better yet, let's buy it from an unknown vendor!"

    Please. The reason relational databases are still very much the dominant technology is that they work, they work well, and they've been working well for decades.

  18. Oracle experience by truthsearch · · Score: 4, Informative

    I only have experience (but lots of it) with Oracle and - unfortunately - SQL Server. Until SQL Server 6.5, I think it sucked compared to Oracle. But now they're more on level, although Oracle has always, and still does, handle huge data warehouses much better.

    That aside, I worked for years with a 4TB data warehouse for a major credit card company. It was Oracle (7?) on a Sun E10000 (22 processors, 1GB ram) and it was screaming. We barely used any "advanced" features that were unique to Oracle. But what impressed me was Oracle's support. They had an office a few miles away and would send DBAs over to help out. Our DBAs were excellent, but when it came to very low-level tweaking, these Oracle DBAs knew their stuff. They would mess around with the OS to keep it as efficient as possible. And if there was ever any kind of failure or error, they came over to check it out.

    Now granted, my company paid big bucks for the support, but at the moment that sort of support can't be found for an open source dbms. These were highly skilled experts in the database they supported. I realize (partly from the article) that the current goal of open source databases is to grow in the low-end market - smaller systems and such - and I'd bet they'd stand up to large warehouses. But one big advantage Oracle and DB2, and to a much lesser extend SQL Server, have is their support. You can have a highly skilled technician in your office very quickly if you need it, beyond the support of a consultant could provide. I'd like to see that kind of support in open-source companies. That's when I think they'll give closed-source databases a true run for their money... literally.

  19. Versus OpSys by Root+Down · · Score: 5, Interesting

    "Databases are dramatically more complicated than any Web server or operating system technology."

    The above is a quote from senior marketing director Bob Shimp, from the article. I will give him the Web Server - which is not to say that it is not complex, but likely not as complex as a robust relational database. I cannot do the same for the OpSys. There is a dramatic difference in the levels of complexity between a monolithic single-user non-multitasking operating system (such as DOS) and a multiprocessing distributed parallel asymmetric (etc etc) OpSys. The quote is not grounded in any sort of evidence, and I have serious doubts as to whether the 'marketing director' would have ever encountered a kernel that did not come from a bag marked 'Orville Redenbocker'. It is simply misguided and misinformed, and the general intent seems to be in undermining confidence in Open Source DBs. (... furthering the myth that open source is 'unreliable'.) Threatened? He likely should be.

    I'd like to see an object data model (ODM) open source database come into the scene. Now that would cause a ruckus, challenging both the bottom line and validity of the relational model!

  20. InnoDB by flamingcow · · Score: 4, Insightful

    MySQL has two table types that support row-level locking and transactions. One is tied up in this contractual mess, but the other, InnoDB has no such issues, and may even be faster for many purposes.

  21. Interbase Online Backups / Replication by SparkyUK · · Score: 3, Insightful

    Actually, Interbase can do "hot" backups and has support for replication.

    People really ought to look more closely at Interbase. It just works.

  22. has its purposes by beanerspace · · Score: 4, Insightful


    Bah ! I remember in the early 80's when big iron buddies used to point ant laugh at dBase II. What they didn't understand, and what some of the big database boys and users don't understand now, is that larger isn't always better.

    Databases like MySQL make it very easy for webhosting companies to offer free databases without loosing their shirts or minds. They make it very easy for students to learn SQL. They're also much kinder on resource.

    Yes, I'd love to be able to roll-back pooched transactions, but then I have to commit everything as well. Certainly cascades would be slick, but poorly written, they can shoot your foot clean off. Likewise, I can see all the lame support calls coming in because users don't understand the triggers are attempting to maintain referential integrity on foreign keys.

    Within a given context, sometimes smaller is suits the purpose better.

  23. The article misses some important points by rleyton · · Score: 4, Insightful
    Whilst it's a good and interesting article, echoing many of my reservations wrt. open source databases, it misses perhaps the single biggest point that people need support with an agreed escalation process, for the DBMS implementation - often the single most important component in any system

    If a database goes wrong (and in Oracles case, my experience is that that's often), and we can't solve it ourselves, we need to be able to get on the phone and speak to somebody who can help. Now, I know that there are companies that offer support for OS DBMS's, but Oracle, Sybase and IBM's round the clock support offering is what i'm after. and getting skilled technicians (possibly the development team itself) involved quickly. OK, so open source offers this as by merit of "use the source luke", but in a corporate environment, this is neither likely or necessarily sensible.

    Another, and perhaps more important, aspect to bear in mind (and this is not covered by the article for obvious reasons) is that Oracle, Sybase and DB2 are not the be-all and end-all of RDBMS offerings. There are better, and often significantly cheaper, closed-source offerings out there. One of my current favourites (which I'm working with at the moment) is Clustra - a DBMS that offers 99.999% availability, scheduled and unscheduled, pretty much out of the box, with Linux as their first released OS for the latest 4.1 offering

    So, in a nutshell - Open source support offerings need to be improved, but don't rule out the smaller fish in this crowded, and very competitive pond.

    Who said databases were boring?

    --
    ooooooh! What does this button do? - DeeDee, Dexters Lab.
  24. Abstracting away transactions?? by TurkishGeek · · Score: 3, Insightful

    I don't think you can "abstract away transaction related stuff" from the RDBMS. Please correct me if I'm wrong; but I believe that you simply can not start with a RDBMS that does not support transactions; and slap a transaction processing middleware on top of it to instantly have a database application with transactions.

    The standard transactional interfaces that are increasingly becoming popular nowadays (like JTA) depend on the database supporting transactions; most likely in the form of an XA-conformant programming interface.

    --
    Zigbee Central: A Zigbee weblog
  25. And SAP DB... by leonbrooks · · Score: 3, Informative

    Nobody seems to have noticed SAP DB becoming Open Source last year, but it too is powerful and reliable and includes full transaction support.

    --
    Got time? Spend some of it coding or testing