Slashdot Mirror


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."

183 comments

  1. I like my 3 CD DB downloads from oracle by Anonymous Coward · · Score: 1, Interesting

    Why would I want a small download from mysql?

    1. Re:I like my 3 CD DB downloads from oracle by hey! · · Score: 4, Interesting

      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.
    2. Re:I like my 3 CD DB downloads from oracle by jellomizer · · Score: 2, Interesting

      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.
    3. Re:I like my 3 CD DB downloads from oracle by CastrTroy · · Score: 1

      This is usually only the case when the person buying the product isn't the person using the product. Granted this seems to happen more than it should, but it shouldn't. Why do people have such a problem admitting that they don't know something, and just asking the people who do know.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:I like my 3 CD DB downloads from oracle by Anonymous Coward · · Score: 0

      Customers don't understand databases, so they're not likely to understand the difference between MySQL and Oracle.

      Funny, neither do web designers. :o)

      ZING!

    5. Re:I like my 3 CD DB downloads from oracle by Anonymous Coward · · Score: 1, Interesting

      I'm posting as AC as I work for an SI that sells a lot of Oracle DB and I wish to continue doing so.

      Most people buy Oracle because that's what the application they use requires. Developers don't need to buy an Oracle license to write and test their software, so many application developers just use oracle because its there, it's got the recognisable name, and it's (to them at least) free. Its only when the application is rolled out that Oracle starts to milk the end user.

      Standard Edition One (2 CPUs) and Standard Edition (Up to 4 CPUs in a box/cluster) are almost reasonably priced, but once the server or cluster has the CAPACITY to take more than 4 CPUs (cores) you are into Enterprise Edition Territory. Given that all real CPUs are now dual core, that means anything more than a dual socket system board and better start planning that first born son to hand over to Oracle.

      What we are really seeing is that people are shying away from larger boxes if they have to run Oracle. Why would you spend more than $10k on hardware if it means $100k in licenses, and 20% additional per year in support? And despite the cries of "big iron is dead", there really are situations where vertical scaling will kill horizontal scaling. Plus the savings on the hardware are meaningless if you are paying a 50% premium per CPU to run Oracle RAC.

      Oracle preach Linux, which is good, but only because they see that every dollar that you don't give to Sun, IBM or HP is an extra dollar you can give to Oracle, which is bad. For the same reason they have their own global file system (warning: do NOT use this yet!) and are planning the Oracle OS. Again - don't give any money to Veritas or IBM or HP or Sun... give it to Oracle.

      The people to beat up on this one aren't the customers. Its the application vendors who don't realize that every dollar that their customer doesn't give to Oracle is a dollar up for grabs.

    6. Re:I like my 3 CD DB downloads from oracle by kilodelta · · Score: 2, Insightful

      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.

    7. Re:I like my 3 CD DB downloads from oracle by jedidiah · · Score: 0, Flamebait

      Actually, it's the other way around. If you can't tell someone why you don't need a commercial database then more than likely you have no business using a liberated one. The problem with databases isn't the cost of Oracle, it's the value of the data stored therein and the cost of downtime. Unless you can intellegently asses all of that, mysql risks more than it can save.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    8. Re:I like my 3 CD DB downloads from oracle by Anonymous Coward · · Score: 0

      Yeah - but who says you have to use Mysql?
      There are two databases where readers never wait for writers, writers never wait for readers. Oracle is one, what's the other?

    9. Re:I like my 3 CD DB downloads from oracle by Rich0 · · Score: 1

      Simple. An enterprise DBMS is a HUGE purchase, often going into the 7-figure range if for a big company, but often in the 5-6 figure range for a small company.

      Expenses of that scale involve managers. At most companies the IT managers often do not have tons of development experience, and instead tend to have project-management experience and business-side experience. This is how they are chosen by business-side executives to head up IT.

      These folks can't show weakness, and so they're going to tend to leave the underlings out of the decisions.

      This is certainly not universally true, but it happens often enough to line the pockets of many a salesman...

    10. Re:I like my 3 CD DB downloads from oracle by jedidiah · · Score: 1

      Your question demonstrates your fundemental misunderstanding of the issues here. The same goes for those that modded my original comment as flamebait.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  2. Obvious by Anonymous Coward · · Score: 5, Insightful

    ... 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).

    1. Re:Obvious by hey! · · Score: 4, Interesting

      It's certainly the only reason businesses choose OSS, or proprietary software. Net present value of TCO over the planning horizon.

      Until now, the free databases lacked accessibility for "drive by" business users. You don't have time to explore every option, even if it might lead to a better decision. Install Unix to check this thing out? Not today thank you.

      MySQL as it now stands is probably the simplest real RDBMS for the casual shopper. It's just as easy as MS SQL server, and MS is the only vendor who understands the importance of the casual shopper. Postgres is not far behind.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    2. Re:Obvious by IANAAC · · Score: 4, Interesting
      MySQL as it now stands is probably the simplest real RDBMS for the casual shopper. It's just as easy as MS SQL server, and MS is the only vendor who understands the importance of the casual shopper. Postgres is not far behind.

      Actually, have you tried installing the latest "light" versions of boh Oracle and DB2? They're dead simple to install and administer. Not to mention writing the actual apps. They now have pretty much drag-n-drop GUIs for app creation. I think most vendors are now realizing the importance of this group of buyers.

    3. Re:Obvious by DrSkwid · · Score: 2

      nope

      $0 is nice but I bought my first copy of Slackware long before I could download it, I even had to copy it to (I think 22) floppies from cdrom so I could install it.

      And even after I have downloaded them, I've paid for FreeBSD, plan9 and Inferno.

      Free as in Freedom is more important than you give it credit for.

      Just one business case is that one can mitigate risk by having multiple OS vendors to choose from. I know that if my chosen OS goes kaput or gets litigated out of existence then I won't go with it. And it doesn't cost me a fortune to try out the alternatives.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:Obvious by TheRaven64 · · Score: 1

      See here and here. The bottom line is, of course, the most important incentive for a business but the FSF's four freedoms can each contribute to that final total. For many businesses the freedom from vendor lock-in is worth more than the zero purchase-price.

      --
      I am TheRaven on Soylent News
    5. Re:Obvious by squoozer · · Score: 2, Interesting

      This is a really good argument for letting developers decide the technology rather than managers. Personally I would generally choose Postgres because I like the way it works and I have a good knowledge of it. MySQL would be up there on my list as well. I've used SQL Server (and just about all the other commercial offerings) and found it to be good but over complex for a lot of applications. Any developer that is writting detabase driven apps should be at least familiar with most commercial databases and Postgres and MySQL and able to make a decision about which to use.

      --
      I used to have a better sig but it broke.
    6. Re:Obvious by hey! · · Score: 1

      Well, yes, they're getting there by process of imitation.

      But they still aren't there yet. For example, try to figure out how to buy the mobile version of DB2. Or exactly which Oracle license you need.

      By contrast, under MySQL things couldn't be simpler for users. Developers just have to grasp the dual licensing scheme, which isn't asking much.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    7. Re:Obvious by Anonymous Coward · · Score: 0

      The #1 reason, at least for me, is the fact that the only goal of the software is to have happy users. So, no adware/malware, no proprietary format lock-in, no redirection to portal websites...
      That is for me the most important freedom !

    8. Re:Obvious by IANAAC · · Score: 1
      Well, yes, they're getting there by process of imitation.

      Who are they imitating? Certainly not the MySQL folks, and certainly not for drag-n-drop db creation and development. To my knowledge, there is nothing comparable in the opensource world to these two companies' development products. I truly would love to see something similar (particularly for Postgresql), but to date I've not found anything.

    9. Re:Obvious by Eric+Giguere · · Score: 1

      MySQL as it now stands is probably the simplest real RDBMS for the casual shopper.

      Actually, easy installation and great out-of-the-box performance has always been a hallmark of SQL Anywhere. Feel free to download the free developer edition yourself and see. (Yes, there are Linux and Unix versions available, not just Windows.)

      Eric
      Redscowl Bluesingsky
    10. Re:Obvious by KingoftheGreensdotCo · · Score: 2, Insightful

      I think MySQL has a long ways to go before it will really be a contender. I know that is used widespread for small web setups, but before version 5 it really didn't have many of the standard features the bigger players had such as stored procedure support or even sub queries. my $0.02...

    11. Re:Obvious by molarmass192 · · Score: 1

      Well, I don't know if we're in "the majority" but we use OSS specifically to enable us to do deep customizations. Cost is not a factor in this, we spend a lot of jack on MS and Oracle as well. The vast majority of the customized code is customer facing. It's a sad reality, internal users (employees) we tell to "like it or leave", but we need to differentiate our wares for our external users (customers) or they will ignore/leave/whatever. OSS is a differentiator for us, not an economic advantage. On that note, we do use Linux (mostly) vanilla in a cluster of disposable servers, and that is partially a cost thing but also because Linux fits very nicely in clustered setups.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    12. Re:Obvious by elgaard · · Score: 1

      Yes, and even most of those that end up contributing, start using OSS because it is free as in beer.

      I certainly could not have afforded a commercial Unix when I installed my first Slackware.

    13. Re:Obvious by pthisis · · Score: 1

      It's certainly the only reason businesses choose OSS, or proprietary software. Net present value of TCO over the planning horizon.

      Simply untrue.

      1. Businesses aren't about minimizing expected TCOs, maximizing expected profits, etc. Those are one factor, but things like cost-certainty, worst-case scenarios, etc are also very important.

      E.g. if solution A has a 95% chance of costing $100,000 for the next 6 years, and solution B has a 100% chance of costing $106,000 for the next 6 years, but solution A has a 5% chance of costing $200,000 over the next 6 years--what do you do?

      _Rationally_ (and I use that term in the economic sense) solution A has a lower expected cost and is the right choice.

      In the real world, if you know that $200,000 would severely impede your chances to make money, or put you into bankruptcy, etc and $106,000 would not massively affect the business, you would probably go with solution B.

      Cost-certainty is a major factor in OSS decisions.

      2. Businesses don't act for only business reasons. Sometimes they make a choice because the owner or someone in a purchasing position loves a product or philosophy, or isn't the authority on a product but trusts a tech leader's judgement (who themselve doesn't make completely rational decisions). Sometimes they make a choice because somebody has a family member selling a product, or owes someone a favor.

      I'd say that trusting some internal techie with product evaluation, when that techie happens to be a fan of a particular product and doesn't do a fair evaluation of what's the best tool for the job, is a major factor in most technology decisions both for OSS and for commercial products.

      --
      rage, rage against the dying of the light
    14. Re:Obvious by thsths · · Score: 2, Insightful

      > Actually, have you tried installing the latest "light" versions of boh Oracle and DB2? They're dead simple to install and administer.

      I have tried Oracle, and I was not happy with the installation. Debian is not supported, so you have to fool the install script to go ahead anyway. I needed a hard disk update because I was running out of disk space (several GB necessary). The installation went fine, but it doesn't tell you what its doing.

      So now I have several java application web servers, some of which seem to be essential for "user friendly" maintenance. I have a listener, and a database. And guess what? None of these parts start up automatically after a reboot. Figuring out how to restart it took ages. And I am still having problems with my connection definitions.

      MySQL on the other hand couldn't be simpler. mysqld and libmysql.so, that's it. Hostname:port, user+password specifies your database connection. Lots of nifty tools around, in just about any language.

      If you believe in KISS, MySQL beats Oracle any day.

    15. Re:Obvious by Anonymous Coward · · Score: 0
      It's certainly the only reason businesses choose OSS, or proprietary software. Net present value of TCO over the planning horizon.


      Shortsighted and oversimplifiying.


      Better to say "better expected return on investment than any alternatives".


      There may be cheaper ways to put software on computers (as Microsoft is happy to point out in the get-the-facts campaign). But that (and your cheaper being the only reason claim) only look at the denonimator of the ROI equation. To show how oversimplified your TCO example is, consider that the TCO of a poor employee is often lower than the TCO of a strong one. But theh latter (just like open source software) has a much greater ROI.

    16. Re:Obvious by Anonymous Coward · · Score: 0
      Perhaps "obvious" in that it's what people expect - but it's not true.


      Survey after survey states that costs is a secondary factor compared to stability and security.


      Think about it - for a business the $699 or whatever commercial software costs is nothing compared to the implications of a security hole (which commercial software including Oracle (2 years to patch security holes) and SQL Server (remember Slammer) is extremely bad at) and stability (which the leading proprietary OS vendor is extremely bad at).


      For home users, the $0 price is nice; but for any real business, the cost of the people managing the software is a far bigger concern.

    17. Re:Obvious by steven94585 · · Score: 1

      It is obvious, why a database enginner at a huge-to-mid sized business who is making ~$50k, would choose the database he know best. Keep in mide those database enginner are most likely 15 to 25 year out of college and have the power they do because of seniority. Guess what happens to a fresh out of college newbie, that suggest a "free" database, all you'd have to do is rewrite like a million lines of code, covert tarebytes of databases, etc... Suddandly your free database has a huge setup cost.

    18. Re:Obvious by kimvette · · Score: 1

      Not necessarily true; if the original architect had half a brain, all of the data manipulation would have been split off into a data abstraction layer, making migration from any given RDBMS to any other one relatively inexpensive and painless - or even change to flat files or spreadsheets if one so desires. The core application should not care. You'd be a fool to mix your data layer in with your business logic because now you have become a victim of vendor lock and bug fixes have become more expensive because where you've made a mistake in manipulating a table in one case, it's likely repeated in many other places, and each instance needs to be patched - where breaking this out into a data abstraction layer would centralize such code, making bug fixes and schema updates relatively simple.

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    19. Re:Obvious by Anonymous Coward · · Score: 0

      Do those two products really offer forms packages for building db applications? I took a quick look at the new db2 and didn't see anything like that, it'd be interesting to find though.

    20. Re:Obvious by jonadab · · Score: 1

      > I think MySQL has a long ways to go before it will really be a contender

      Contender for what? MySQL isn't aiming for Oracle's market space.

      > but before version 5 it really didn't have many of the standard features the bigger
      > players had such as stored procedure support or even sub queries

      Stored procedures are overrated. SQL is fundamentally the wrong choice of language for doing anything that complicated, which is why you have database bindings in whatever high-level programming language the application is written in. Business logic should be coded in that language (yes, modularly, in separate procedures, in separately-compiled libraries even, but in that language), not embedded in the database. Stored procedures are a maintenance programmer's nightmare.

      Subqueries I won't argue about. Those are useful.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    21. Re:Obvious by KingoftheGreensdotCo · · Score: 1

      Stored procedures are essential to any app that process large amounts of data. Otherwise you are left processing everything on the client side, much slower then on the database side. Plus when you get into working with the good stuff (oracle) you can do much more then just retrieve data like pass objects directly from java to the database. For smaller apps they may not be necessary, but any large scale operation wouldn't work w/o them...

      my $0.02...

  3. Large Wallets + Small understanding = nothing new. by peterdaly · · Score: 5, Interesting

    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

  4. Not everyone cares about Coding... by jellomizer · · Score: 4, Insightful

    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.
    1. Re:Not everyone cares about Coding... by phooka.de · · Score: 1, Insightful
      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.


      Stored procedures are BAD BAD BAD, I'm glad you have a hard time promoting those. Why?


      - You can't easily migrate to another database-vendor. Maybe you want to switch. Maybe you have to because of technical reasons. Maybe you have to because your company is being bought by another, which uses a different system and wants to maintain only one platform. Whatever the reason, your stored procedure is going to really, really hurt.


      - Usually, there is only one database but several application servers. You want to take load off the database because it scales not as well as the application servers, of which you can always add another rack full of. So maybe it takes twice as long on the application servers to do what your stored procedure do - but you have a dozend application servers running and only one database. You really, really want to avoid the bottleneck on the database.

    2. Re:Not everyone cares about Coding... by shakah · · Score: 1
      Stored procedures are BAD BAD BAD...
      So if you have an personnel database and your app/database must handle job changes, and those job changes consist roughly of:
      1. taking the person out of the current job ;
      2. adding a "job history" row for the old job ;
      3. putting the person into the new job.

      Are you sincerly claiming that a stored procedure is not appropriate in this case? Excepting a pathologically poor stored procedure implementation, your "do it in the app server" approach if anything puts the same load on the DB regardless of how many app servers you have. Beyond that, the stored procedure practically guides you to a clear, clean, and maintainable implementation (along the lines of do_job_chage(emp_id, old_job_id, new_job_id)), lets you easily modify what a job change entails, etc.
    3. Re:Not everyone cares about Coding... by finnif · · Score: 1

      - You can't easily migrate to another database-vendor. Maybe you want to switch. Maybe you have to because of technical reasons. Maybe you have to because your company is being bought by another, which uses a different system and wants to maintain only one platform. Whatever the reason, your stored procedure is going to really, really hurt.

      It just depends on where you want to do the work. If your SQL is in your app, you still need to port it. If your SQL code is in your SP, you still need to port it. I don't use SPs, but contrary to the conventional wisdom, stored procedures are not inherently evil, and some employers require them. Granted, you can avoid writing much SQL at all these days using ORM solutions, with a massive performance hit.

      You want to take load off the database because it scales not as well as the application servers, of which you can always add another rack full of. .... You really, really want to avoid the bottleneck on the database.

      Again, different strokes for different folks. Doing a big join on the DB or sending enormous amounts of results over a wire. Pick your poison.

    4. Re:Not everyone cares about Coding... by GebsBeard · · Score: 4, Informative
      That this gets modded insightful is an embarrassment. Every DBA worth two shakes of a dead rats ass can tell you putting stored procedures in the DB cuts down on network traffic and improves application responsiveness. Every time a query is passed across the network it has to be compiled to p-code. Multiply that by X users and the system grinds to a halt. Ease of implementation and clarity also shoot through the roof with proper use of stored procedures. And the scalability problems you speak of don't exist, since you can instance your database just like your app server.

      The Slashdot hive mind may not like the idea of being tied to a particular database or vendor but in the Real World businesses choose their databases carefully and stick with them for a long time, often forever. With this in mind you exploit every single option available when programming and stored procedures along with proper filesystem layout, column indexing and schema design are key to a high performance database.

    5. Re:Not everyone cares about Coding... by ocbwilg · · Score: 1

      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.

      Absolutely. I'm a perfect example. Where I work we needed a new helpdesk system. Our original solution was built by one of our devs in his spare time on MS-Access. It worked fine, but we wanted something a little more scalable, that had a web front-end, and automatically processed emails from users. When I started evaluating applications I started with OSS first, and ended up going with RT on MySQL before I even talked to commercial vendors. Now we have a solution that does everything that we need (now), and I've saved thousands of dollars. If we want to eventually modify the code we can do so, but since none of us know perl it's not very likely that will happen.

      I personally love OSS precisely because it is usually free (beer). Now if we could just get our software vendors to start transitioning to supporting open source databases, I might be able to get rid of the 3 Oracle and 3 MS SQL servers that I have.

    6. Re:Not everyone cares about Coding... by Da+Schmiz · · Score: 1

      Funny how this argument always comes up....

      Stored Procedures can be bad, but they also can be very good. I regard SPs as somewhat like inline assembler in C/C++ code -- it can give you *massive* performance boosts. Of course, there are times where the costs (lack of portability, requires more knowledge of relational theory, etc.) outweigh the benefits, but those are mostly for small databases. When you use 10M+ or even 1B+ row databases, doing table scans (which could take hours or even days) for a simple select join isn't going to cut it, and you are really going to need the optimizations you can get from writing the SQL yourself. And if you're going to be writing database-specific SQL, you might as well store it in the database.

      Plus, big databases like Oracle compile SPs and save the execution plan so the SQL text doesn't even have to be interpreted again. Doing all your SQL dynamically to keep database independence is like saying you should write your hardware drivers in JavaScript so you can have platform independence. Plenty of things can be written in JavaScript, but not everything. Use the right tool for the job.

      Finally, a properly built database will scale very nicely, thank you. People have problems with overtaxing their database servers when all they're doing are giant SELECT * FROM X queries where the database server has to schlep all the data across to the application server before you can do anything with it. Moving the data across the network costs way more than the actual join/query syntax will, especially if you happen to actually understand the relational data model...

      --

      "Anything is better than IE, and you can quote me on that." -- Wil Wheaton.

    7. Re:Not everyone cares about Coding... by Doctor+Faustus · · Score: 1

      in the Real World businesses choose their databases carefully and stick with them for a long time, often forever.
      There are two very different cases, which tends to lead to people talking past each other. Basically, database portability is important to software companies (who don't want to restrict themselves to selling to Oracle shops), but not to companies working on in-house systems.

    8. Re:Not everyone cares about Coding... by Doctor+Faustus · · Score: 1

      Excepting a pathologically poor stored procedure implementation, your "do it in the app server" approach if anything puts the same load on the DB regardless of how many app servers you have.

      For updates, the app-server approach will put *more* load on the DB, because data has to be sent to the app server, and SQL coming back from it has to be parsed.

      For reads, caching the data elsewhere can be a big gain. I've gotten 75% speedups in batch jobs by preloading data at the beginning of the process.

    9. Re:Not everyone cares about Coding... by jadavis · · Score: 1

      Stored procedures are BAD BAD BAD

      Do you realize what other features you give up when you give up stored procedures/functions?

      -user-defined aggregates
      -user-defined types
      -functional indexes on user-defined functions
      -set-returning functions

      Sometimes you need these things for reasonable efficiency. Especially functional indexes! And user-defined types are an important part of the relational model.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    10. Re:Not everyone cares about Coding... by KingMotley · · Score: 1
      Stored procedures are BAD BAD BAD, I'm glad you have a hard time promoting those. Why? You can't easily migrate to another database-vendor. Maybe you want to switch. Maybe you have to because of technical reasons. Maybe you have to because your company is being bought by another, which uses a different system and wants to maintain only one platform. Whatever the reason, your stored procedure is going to really, really hurt.
      Heh, I'd have to completely disagree there. By using stored procedures exclusively in an application, you abstract the database inconsistancies from the application. If you want to replace the database (or run on multiple databases), then just call the new database's stored procedures passing the same parameters that you always have. It shouldn't require a change to the application, plus you get reduced network traffic, increased responsiveness, and decrease the load on the database.
    11. Re:Not everyone cares about Coding... by Da+Schmiz · · Score: 1
      There are two very different cases, which tends to lead to people talking past each other. Basically, database portability is important to software companies (who don't want to restrict themselves to selling to Oracle shops), but not to companies working on in-house systems.
      Mod parent up. This is perhaps the most insightful comment in this entire sub-thread. FWIW, I think these days in-house systems (which would include hosted systems with a web front end) are a larger segment of the market. Maybe embedded is bigger, but you're not going to use Oracle in an embedded environment. Well, not usually, anyway....
      --

      "Anything is better than IE, and you can quote me on that." -- Wil Wheaton.

    12. Re:Not everyone cares about Coding... by Lumpy · · Score: 1

      In the world of 100BaseTX this is a non issue.

      maybe back in the days of token ring your argument made some sense.

      With a quad 3.66Ghz xeon server and fiber to the switch there is ZERO performace difference between all stored proceedures and client side queries.

      I know.. I recently proved this fact to the Sr DB admin who started in the early 80's here that his ideas may have been relevant before, but are becoming moot.

      Storing a date as X days cince an epoch is stupid today and only causes hell for others later. store it as a frigging date that is readable and easily dealth with. hell do it as a text if you want.

      Storage space is not an issue anymore. (the epoch is now 6 digits. I can store a readable date in that same space.)

      More and more people want access to the data and obfuscating it with epoch dates and other silly things to save space are far less valuable than making it easier for Mafasa in Finance to easily deal with the data in Crystal Reports himself.

      --
      Do not look at laser with remaining good eye.
    13. Re:Not everyone cares about Coding... by Anonymous Coward · · Score: 1, Insightful

      Putting logic in the database is always bad idea for the reasons the parent post stated. Your argument for lowering network IO is nonsense in most programming languages as connected, scrollable record set only push the data over the wire when it is requested. Further the optimisation to p-code is also taken care of by good database drivers. In Java a prepared statement used with a decent JDBC driver will be fully compiled and optimised at the database level while maintaining application code portability.

      Combine this with a decent object relational technology like Hibernate and you can swap database vendors by changing a single configuration file.

      I work with Big Blue Chip "Real World Business" everyday and they swap databases for many reasons including the following :
        - Mergers and Aquisitions lead to two database vendors of choice, overtime the merged entity wants to move to a single vendor
        - Vendor price negotiations: if the vendor knows they can swap dbs at the drop of a hat they tend to price accordingly
        - They want to switch to a free open source database (we are seeing this more and more in govt).

      I guess you are a DBA... better start looking for another job because nobody needs dbas anymore. Systems Administrators yes, DBAs no.

    14. Re:Not everyone cares about Coding... by vmcto · · Score: 1

      Disclaimer: IANADBA

      I would be VERY interested in understanding your test case.

      This came up a couple of years ago when I was working with someone who didn't understand stored procedures. They attempted to do the same work that one stored procedure was doing in their code.

      It was hands-down faster to do in the stored procedure. Not even close. The stored procedure was doing 13 different SQL DML statements which had to be replicated in code. Thirteen round trips to the server (over the 100BaseTX network mind you) for every one on the stored procedure side.

      Just to make it fair I set the stored procedure to NOT pre-compile and pre-plan which in my mind more closely matched the worst case with doing dynamic SQL (which MAY get its plan cached). Still no contest.

      I am open to new ideas and new ways of doing things, I just haven't seen a real-life example that matches what you're saying.

    15. Re:Not everyone cares about Coding... by drew · · Score: 1

      I agree with you completely, and I'll add a few points to this.

      1) Using stored procedures allows you to update your schema without changing the interface exposed to your applications. Think of it as (very rudimentary) OOP. The database is a black box, and the Stored Procedures are a defined interface to that black box that will not change regardless of what happens inside that black box.

      2) Using stored procedures (IMO) actually makes it easier to change databases if you are doing anything remotely complex. SQL implementations vary enough from database to database that it is highly unlikely that all of the queries that you have scattered throughout your application will still work correctly when you change out your database backend (even assuming you use a database agnostic connection layer, e.g. perl DBI or PEAR::DB). Personally I'd rather port a collection of stored procedures with defined interfaces as opposed to hunting down and testing ad hoc SQL queries all throughout the application code.

      3) If you have a sufficiently large development team, using stored procedures makes it easier to have people who are good with databases write the SQL queries and people who are good with application code write the application code, instead of requiring everybody to know how to do everything.

      --
      If I don't put anything here, will anyone recognize me anymore?
    16. Re:Not everyone cares about Coding... by Anonymous Coward · · Score: 0

      In the world of 100BaseTX this is a non issue

      WRONG... Try having 200+ users all going across that link to that server. Oh the network crawls woopsies... Yet you try it on the server and it flys. Wierd isnt it.

      Lets say you have 200 users. Lets say 10% are using the system currently. They all want similar reports. Each report does 200 rows at 2k each (including network overhead). So 200*2048 is a half meg of data. Times 20 is 10 meg of data. That takes 2 seconds to just drag the data across the network. Now lets say instead of 200 users you have 20000. Now its on the order of minutes. This is also assuming you have a simple enough 'query(s)' to do on the client side. This is also assuming there are no other things going on in the network.

      You are making a classic networking mistake of assuming that your the only one who will be using the network. I have seen networks so bad that adding 1 computer is a bad idea. And this is not from 10-20 years ago. This is recently, as in the past year.

      BTW Pre processing the data is almost ALWAYS faster.

      You would be semi amazed at one 'simple' query does on the network (2k IS on the low side). I suggest you do some network traces.

      Maybe in YOUR setup you do not notice the difference. But try that with a client network where they dont have 40k to drop on a SAN with fiber...

      I would say before you just 'throw out' ideas, just because you didnt think of them, or think them 'old' you realize what they are for. Remember speed is no longer coming as quickly as it did in the past. You may start trotting out those 'old and busted' ideas. You may think 3.6ghz is smoking but that is almost identical to the same 'top end' smoking hardware from last year.

      Also you may want to go and take some computational theory such as O(N) type things. As many things do not scale linearly. Oh how I wish they did. Some preprocessing of data goes a long way to speeding things up. The way you usually get at that sort of data is, you guessed it, stored procedures.

      Also pushing busness rules down into the database is a 'good design' choice. Stored procedures are a nice way to expose those rules to other applications. How does a 3rd party application 'know' that column xyz should only allow even numbers? Or that on the 3rd of every month everything is half off. Things like this can be exposed through stored procedures. Sometimes you have to push the rules down to this level.

      Also while the 'double for' loop is a way that is 'easy' for you to do in C, Java, or .net. Sometimes its not that easy. Where as a bit of stored procedure work makes 2000 lines of code 20 lines of sql. Which is easier to maintain? Do what the server does best. Play to its strengths. Compiled applications are good at accessing files and slugging data around in memory. SQL servers are good a moving tables of data around.

      Both you and the 'sr dba' were applying the wrong aproach to optimization by the way. You need to measure and then decide what should be changed. Do not change things because they 'may' speed things up, or its 'easier'. You measure the time. Then decide how to optimize. Otherwise most of the time you are optimizing the wrong case. At best you made it fractionaly faster. At worst you make it worse AND wasted your companies time.

    17. Re:Not everyone cares about Coding... by jozeph78 · · Score: 1

      The Slashdot hive mind may not like the idea of being tied to a particular database or vendor but in the Real World businesses choose their databases carefully and stick with them for a long time, often forever. With this in mind you exploit every single option available when programming and stored procedures along with proper filesystem layout, column indexing and schema design are key to a high performance database. Amen. It would be like not tuning the transmission of your race car so that it is compatible with other engines. In the real world, you'd retune under the guise of "migration" which, like changing an engine, is sure to cost a lot and break some things.

      --
      Ever done a `man` on `top` ?
    18. Re:Not everyone cares about Coding... by keester · · Score: 1

      SFAIK, this is an ongoing debate. But the strongest argument that I've seen, and this is presented by C.J. Date in his book _Database In Depth_, is that it is preferrable to take a *declarative* approach to the relational model, rather than an *procedural* one. Of course, the best way to take a declarative approach is to use the SQL standard. So, I recommend that people do so whenever "such solutions are feasible."

      --
      Take it easy? I'll take it anyway I can get it . . .
    19. Re:Not everyone cares about Coding... by jozeph78 · · Score: 1
      The Slashdot hive mind may not like the idea of being tied to a particular database or vendor but in the Real World businesses choose their databases carefully and stick with them for a long time, often forever. With this in mind you exploit every single option available when programming and stored procedures along with proper filesystem layout, column indexing and schema design are key to a high performance database.

      Amen.

      It would be like not tuning the transmission of your race car so that it is compatible with other engines. In the real world, you'd retune under the guise of "migration" which, like changing an engine, is sure to cost a lot and break some things.

      --
      Ever done a `man` on `top` ?
    20. Re:Not everyone cares about Coding... by jellomizer · · Score: 1

      You can't easily migrate to another database-vendor. Maybe you want to switch. Maybe you have to because of technical reasons. Maybe you have to because your company is being bought by another, which uses a different system and wants to maintain only one platform. Whatever the reason, your stored procedure is going to really, really hurt.

      Umm No. SQL code is quite simular in style. It is easier to move over say an Oricle Storded Procedure to MSSQL and Vice Versa then the convert a VB App to .NET or a C++ App from Windows to Linux, or even from Unix to Linux. Most of the time you just need to change some terminators, and rename the functions. But if you don't use stored procedues and you switch to a different programming lanuges for the next version of the app you will have to redo all the Data logic, where you don't have to. And if you switch Databases you will need to redo all your Apps over again for the changes in Database. Vs Moving over from one DB to the other fixing the stored procedues and having all the apps work fine.

      Usually, there is only one database but several application servers. You want to take load off the database because it scales not as well as the application servers, of which you can always add another rack full of. So maybe it takes twice as long on the application servers to do what your stored procedure do - but you have a dozend application servers running and only one database. You really, really want to avoid the bottleneck on the database.

      Well when you analysis performance you will need to take all facters into effect. First you have Network Traffic. In this case your poor routers and switches will be taking the Hit and hard for that much traffic. Secondly you call all the SQL Calls from your app the SQL Server will need to manage the network connection and then process it anyways. Sure you may take some of the off loading into your programming but not that much to really put a big dent in the grand scheme of things. Also most custom made applications today are **GASP** Web Based so you either have the SQL server processing or the Web Server.

      So your BAD, BAD, BAD. Sound like you never used them or seem them done improperly before. All in all using Stored Procedues are a "Good Thing tm" and allows for better coding.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    21. Re:Not everyone cares about Coding... by Christopher+B.+Brown · · Score: 1
      "You really, really want to avoid the bottleneck on the database."

      Right. So you ideally want to submit one query to the database, that performs all of the changes using one network roundtrip, parsing one query, once.

      That is what happens if you submit a stored procedure request.

      If, instead, you have the application servers do all that work, the application servers will be firing off a whole flurry of queries back and forth. If there are 6 tables to update, there could easily be a series of a dozen queries to submit and process. That will put a much greater burden on the database server than the stored procedure.

      It is regrettably typical for people not to grasp that stored procedures actually reduce the amount of work that needs to be done...

      --
      If you're not part of the solution, you're part of the precipitate.
    22. Re:Not everyone cares about Coding... by Christopher+B.+Brown · · Score: 1
      In any world where networks provide thousands of times less bandwidth than local access to memory, the conclusion will remain the same.

      The stored procedure can take advantage of the fact that it can commonly find cached data in memory, which means that it's getting on the order of Gigahertz of bandwidth, as compared to 10Base100, which will provide (divided by 8 :-)) the equivalent of 12.5MHz, therefore providing superiority of about a factor of 80. That's nearly two decimal orders of magnitude (or, a bit over 6, for those that are binary-inclined).

      The next generation of networks will be faster; so also will be the next generation of CPUs. The multiple-order-of-magnitude superiority of stored procedures is likely to persist.

      As for physical storage representations, it seems to me that it's better to leave the choices to people who are competent enough to grasp such things as "two orders of magnitude difference." One of the points of "relational databases" is that the user doesn't need to care what is the physical representation if they are properly using the logical model.

      --
      If you're not part of the solution, you're part of the precipitate.
    23. Re:Not everyone cares about Coding... by jbolden · · Score: 1

      OK you don't store procedures. You change platforms (or even make a change to data formats). Now instead of having to rewrite 1 procedure in middleware you have to check 200 applications to see which ones made use of the old formats.

      How is that cheaper? Databases scale wonderfully you just buy hardware (heck most of the big ones use grid technology). Changes to applications can be nightmare of retesting which costs hundreds of times what lots of hardware does.

    24. Re:Not everyone cares about Coding... by Anonymous Coward · · Score: 0

      I can see the point where the code is screwed upand the query is bacically a series of queries. but if you write a single query that does the same thing as the stored proceedure then there is a minimal performance hit. 1 for the request and then all the returned data.

      Exactly like how the stored proceedure would react. instead of me sending 10K of text for the query I send 450 bytes to activate the stored query? That overhead will not kill the network.

      Maybe the parent was talking about the typical crappy SQL that most programs have (programmers typically are not adept at complex queries. The difference between my Stored proceedure and a client side Query is the wrapper to make it a stored proceedure.

      And with 30+ users I can not see a difference in performance and I certanly do not see repeated traffic except for the client waiting for the query to finish and start feeding the data back.

    25. Re:Not everyone cares about Coding... by rjstanford · · Score: 2, Interesting

      Stored procedures are BAD BAD BAD, I'm glad you have a hard time promoting those. Why? ... So maybe it takes twice as long on the application servers to do what your stored procedure do - but you have a dozend application servers running and only one database

      There are a few classic examples of situations in which SPs aren't just not BAD, but they've very GOOD. One of the classics is anything that depends on aggregating tons of data, especially in some kind of a tight loop. Network bandwidth is not the issue here, but network latency is. You're not talking about twice as long, depending on the queries you might be talking a couple of orders of magnitude. That really, really sucks.

      Having said that, 99% or more of all SPs I've ever seen were worthless and crappy.

      --
      You're special forces then? That's great! I just love your olympics!
    26. Re:Not everyone cares about Coding... by Tablizer · · Score: 1

      Every DBA worth two shakes of a dead rats ass can tell you putting stored procedures in the DB cuts down on network traffic and improves application responsiveness.

      But the counter is that it can make software changes more costly. If the SQL is in the code then usually you only have to change one file. But if in stored procedures, you fairly often have to find and change both the app file (such as adding a new stored procedure parameter), and also change the stored procedure. Plus, well-factored code tends to generate SQL on the fly such as adding or removing filter factors as needed. It is harder to do that with SPs.

    27. Re:Not everyone cares about Coding... by LardBrattish · · Score: 1
      Also don't ignore the security & integrity implications.

      If you only allow Inserts/updates/deletes via stored procedure you can completely eliminate the danger of a rogue application (usually written in %*&% Access) from tanking your data.

      Anyone who lives in the sweet little La-La land of writing client-server applications that run efficiently on multiple back-end databases can chase that particular dragon if they want to but it is a huge waste of resources. Every time I've worked on projects that had the "interchangable back-end" design goal that goal was amended during development after a massive amount of wasted resources (and after the first time I've always advised strenuously against doing it)

      --
      What are you listening to? (http://megamanic.blogetery.com/)
  5. Re:Large Wallets + Small understanding = nothing n by jellomizer · · Score: 1

    Well large is subjective. To a small company 10k of data is large. And when someones sells their apps for Large Database they jump on it because their database is big for them. Even though they would be better off with the smaller Database server because the algorithms are based for processing smaller values.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  6. Can't hear you... la-la-la by Billosaur · · Score: 5, Interesting
    The wild card in all of this will be whether big, successful tech companies get behind the upstarts. Linux hit prime time only when IBM, Oracle, and others got behind it, rewriting their software to make it compatible and convincing worried CIOs that it was robust and reliable enough to entrust their business to it.

    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
    1. Re:Can't hear you... la-la-la by Java1Guy · · Score: 2, Insightful

      But aren't you forgetting about this: http://www.mysql.com/news-and-events/news/article_ 968.html (Oracle buys the maker of Innobase - a popular backend to MySql)

    2. Re:Can't hear you... la-la-la by C_Kode · · Score: 2, Insightful

      and in the end, no one wants to pay that kind of money for things they don't need or won't use.

      Exactly. If you don't *need* Oracle, don't use it. On the other hand; If your database is the life blood of your business and downtime can cost your business it's life. You would be a fool not to use it.

      Oracle is what it is and you pay for what it is. I use a mix of many different databases, but our most critical and complexed applications run Oracle. Why? Because the only way you will lose data in a Oracle database is if you shouldn't be managing an Oracle database.

    3. Re:Can't hear you... la-la-la by Anonymous Coward · · Score: 0

      SAP will never run on MySQL. It runs on MaxDB, which was formerly known as SAP DB. MaxDB is now licensed and supported by MySQL AB for use without SAP's ERP systems.

    4. Re:Can't hear you... la-la-la by LardBrattish · · Score: 1
      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.
      SAP would have more egg on their faces...
      --
      What are you listening to? (http://megamanic.blogetery.com/)
    5. Re:Can't hear you... la-la-la by mbowen · · Score: 1

      If SAP were to swap out Oracle from under their applications, it would be a project of gargantuan proportions. 75% of their customers wouldn't upgrade, they'd have to double their tech support, and for what? To build themselves a cheaper product? Get real.

      --
      fault-tolerant
  7. Open Source + the Database Vendors by Doc+Ruby · · Score: 3, Interesting

    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

    1. Re:Open Source + the Database Vendors by LurkerXXX · · Score: 4, Informative

      You ARE joking, right? Oracle is free to use for development, just not production. If you really use Oracle, you should already know this.

    2. Re:Open Source + the Database Vendors by Anonymous Coward · · Score: 0
    3. Re:Open Source + the Database Vendors by obnoxio · · Score: 2, Informative
      --
      Ciao, Obnoxio
    4. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      You ARE reading my post, right? Oracle is not open source, which is more important when I'm developing an app than just no price. And the free (beer) migration tool needs no price more than open source, because using it might result in my not using Oracle, depending on the results. The testing tool needs open source more than no price, because I need to see whether the tests are rigged to favor Oracle.

      If you really read the posts, and really develop apps, you should already know this. If you just want to flame on Slashdot, I guess you're free to do that regardless.

      --

      --
      make install -not war

    5. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      I'm not asking for a free (beer or speech) DB2, though that's got its own merits. I'm asking for a free (beer) migration tool, and an open source testing tool to reduce my risks when considering deploying to a commercial database.

      --

      --
      make install -not war

    6. Re:Open Source + the Database Vendors by ocbwilg · · Score: 1

      I'm not asking for a free (beer or speech) DB2, though that's got its own merits. I'm asking for a free (beer) migration tool, and an open source testing tool to reduce my risks when considering deploying to a commercial database.

      I think that the reason you got the responses that you did were simply because most people are of the opinion that you should develop for the target platform on the target platform. Not only is it easier, it saves steps, and it makes sense.

    7. Re:Open Source + the Database Vendors by luiss · · Score: 1

      DB2 Express-C is free (as in beer).

    8. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      Except that the commercial target platforms have closed source. Open source's best advantage is for developers. Even if only the query client source is open, leaving the DB server source closed, that's a big advantage. Postgres source is open, so it's a big help for developers.

      Open source also helps decide which platform to develop on. Practically all commercial databases trade efficiencies for completeness - bloatware. Open source allows developers to trim bloat while retaining required features.

      So I can develop on generic Postgres, then decide whether to deploy to a stripped Postgres, Oracle, DB2, or other. In order to do so, I need to strip Postgres (or use others' stripped versions), migrate to the other candidates, and test the resulting platform. To do that, I need the Postgres source, which I've got, a migration tool, which I'd rather not pay for if its results don't bear fruit, and a testing tool, with open source I can inspect for rigged results.

      Most people don't do anything like that. And most applications are low quality. My techniques produce high quality apps. I want the process to be easier, not only for me, but for others - so everyone can produce that quality.

      --

      --
      make install -not war

    9. Re:Open Source + the Database Vendors by LurkerXXX · · Score: 1
      "I'd love to develop my apps with Postgres, then deploy to Oracle or DB2 with an automated tool. "

      Why is it important to that the DB be OSS for you to develop your app if, as you said, you are going to migrate it to Oracle or DB2?

      Both Oracle and DB2 provide migration tools to themselves from Sybase, MS SQL, Informix, MySQL, as well as each other.

      If your real goal is to deploy to Oracle or DB2, it seems it would make more sense to start with a DB that both have easy migration paths from. Starting with either Oracle (which has a fee development version) DB2 (which IBM has a free version of), MS SQL (which MS has a free version of) or MySQL (worst option IMHO DB wise, but hey, it's OSS).

    10. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      Now, how about the free (beer) migration tool I asked for, and/or the open source testing tool that is all that I asked for?

      I'll also gratefully accept sacks of $50 bills, but I didn't ask for that, either.

      --

      --
      make install -not war

    11. Re:Open Source + the Database Vendors by ducttapekz · · Score: 1

      I haven't seen anyone mention one thing yet: Oracle XE.

      This is a free database with most of Oracle's enterprise functionality. It will hold giant amounts of data, it has full XML support, and it will run on a developer's machine if needed.

    12. Re:Open Source + the Database Vendors by Anonymous Coward · · Score: 0

      Evaluation copies of Oracle have been freely downloadable for years:

      http://www.oracle.com/technology/software/products /database/oracle10g/

    13. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      My goal is to deploy the best app I can. The DB server is a means to that end. And, like any software, developing with it is more productive when I can use the source code for design and debugging.

      But, though it's important, I didn't say that I wanted an open source DB server in my original post - any more than I asked for a free (beer) DB. In the followup, I mentioned that open source is important, in response to the totally irrelevant free (beer) DB. All I want for free is a migration tool - its source doesn't need to be open. I want it for free, because I might not benefit from the migration, if the result doesn't test well. And all I need to be open source is the test tool, to ensure it doesn't rig results to favor one target.

      So thanks for the endless offers of free (beer) DBs. But what I asked for, what's important, is price and source just for the software I asked for - which didn't include the DB, just the tools to let me determine which DB to use.

      --

      --
      make install -not war

    14. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      Funny, that's not an open source testing tool or a free (beer) migration tool from Postgres.

      Maybe you're posting in the wrong subthread.

      --

      --
      make install -not war

    15. Re:Open Source + the Database Vendors by jbolden · · Score: 2, Insightful

      Practically all commercial databases trade efficiencies for completeness

      Oracle about as complete as they come. In speed tests its pretty comparable to most other databases which are acid compliant doing the same things. There are good memory based databases which crush it but if you want to compare apples to apples I don't see any evidence for your claim.

      If by effeciency you mean code size then I would agree with you the open source world has some very small databases which do a limited number of things very quickly and very well.

    16. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      Oracle illustrates my point. It's way too complete for any single app. The problem is that efficiency is sacrificed for that extra, unnecessary completeness. Either performance efficiency, complexity (leading to failures, unpredictable behavior, unmanageability, etc), resource consumption, developer overhead, or other costs a more targeted app wouldn't bring. However, the bloated version that is the only one available might still be superior to even a pruned Postgres. And of course Oracle is just like any other database, like DB2, Sybase, SQLServer or otherwise.

      --

      --
      make install -not war

    17. Re:Open Source + the Database Vendors by Karma+Farmer · · Score: 1

      I'd love to develop my apps with Postgres, then deploy to Oracle or DB2 with an automated tool.

      That's a great idea. You should write a tool like that, and ask the Postgres maintainers to included with Postgres.

    18. Re:Open Source + the Database Vendors by Karma+Farmer · · Score: 1

      I'm asking for a free (beer) migration tool, and an open source testing tool to reduce my risks when considering deploying to a commercial database.

      So, write one. Or, convince someone they'll make money by writing one. Since the tool you're describing is primarily targetted to Postgres users, I assume you'd want to talk to the Postgres guys about developing it.

      Obviously, Oracle isn't going to write tools to make it easier for you to do Postgres development.

    19. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      Thanks :).

      It actually sounds like an even better deal for Oracle or IBM. They should write a tool like that, and ask the Postgres maintainers to help market their products by including it with the Postgres distro.

      Or maybe someone else could write it and sell it to Oracle or IBM, or give it to Postgres.

      They're welcome to my idea, which is now in the public domain.

      --

      --
      make install -not war

    20. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      What's so obvious about that? That tool will help recruit Postgres developers to produce apps for Oracle.

      Migration tools are almost always written by the group benefitting from the migration to their product, because migration sees people leaving the original platform.

      --

      --
      make install -not war

    21. Re:Open Source + the Database Vendors by Karma+Farmer · · Score: 1

      Migration tools are almost always written by the group benefitting from the migration to their product, because migration sees people leaving the original platform.

      That's only true for programs that have already been written. You made it clear that you are going to target your development specifically to Postgres, and these tools would primarily exist to mitigate the risk of that decision.

      Seriously, think about what you're asking. Choosing a software platform for a new project is basically about cost, benefit, and risk. And for a database, more than any other platform decision, the risk comes most dear. Anything that Oracle builds to make Postgres a safer option for your new development can only hurt Oracle.

      As far as Oracle is concerned, you're giving them a choice between you building your new application for Oracle today, versus you building an application for Postgres today, with the possibility of migrating sometime in the future. It's pretty easy to see which choice benefits Oracle.

    22. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      Everything that's true about software is only true for programs that have already been written. What is your tautology supposed to mean?

      I'm targeting my development specifically to leave Postgres for a commercial database. The tools I'm describing mitigate my risk of migration to one of several servers. An automated migration tool increases the chances I'll migrate to the target of the tool, rather than manually migrate. That's why Microsoft, not Oracle, makes the "Oracle to SQLServer" migration tool. Automating the migration reduces the barrier to entry to the new platform otherwise represented by the necessity of manual migration.

      This value judgement is valid on principle, as well as supported by the existing software in the industry. And now that Sun bundles Postgres with Solaris 10, while Oracle specifies Solaris 10 as its preferred platform, Oracle has even more reason to help Postgres developers migrate to Oracle. And therefore IBM and other Oracle competitors have that much more reason to offer their competing tools, so they get their share of the migrators.

      --

      --
      make install -not war

    23. Re:Open Source + the Database Vendors by Karma+Farmer · · Score: 1

      I'm targeting my development specifically to leave Postgres for a commercial database.

      You have an existing, completed program you want to evaluate on Oracle?

    24. Re:Open Source + the Database Vendors by Doc+Ruby · · Score: 1

      In point of fact, I do have several. One is a suite that also uses an LDAP server and a Servlet container that I'd like to replace with OID/Oracle. And some others just need to be deployed to facilities that have no Postgres admin experience, but do support Oracle.

      Then there are some customers who already run Oracle or DB2, so I need to migrate the Postgres app out of development. And in general, I'd rather deploy to a database with the level of commercial support available.

      These are practical, not theoretical, issues regarding the role of open source and commercial products in a project. Each has its role. With the right tools to use them together, the productivity compartments feed each other, increasing productivity. The tools I mentioned would be gateways to the commercial databases for these products, and therefore license fees for their vendors. Hence their interest in producing them. Just as the others of their type have been through the years.

      --

      --
      make install -not war

  8. Re:Large Wallets + Small understanding = nothing n by smittyoneeach · · Score: 2, Insightful
    I have concluded that the vast majority of "big name" database users vastly underutilize the features that the big bucks pay for.
    Has anybody else encountered projects for database-driven websites where the script monkeys want to use the database like text file system accessed with SQL, and do all of the logic in script on the web server? I suspect that people understand procedural code most readily, and despise thinking in the set-theoretical terms of SQL. I used to be that way, until I started realizing that I can blow off a lot of coding/debugging by eschewing state and writing as much in SQL as possible.
    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
  9. Hands on source code by five18pm · · Score: 5, Insightful

    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.

    1. Re:Hands on source code by slim · · Score: 3, Interesting

      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?


      Let me rephrase the excerpt from the article:
      "Some users would happy forego certain features present in commercial databases if (1) it means reduced cost and (2) you access to the source code."

      Why stick with expensive Oracle or DB2 if PostgreSQL does the job reliably enough and it's free? That's a no brainer.

      I think you're asking, "why even look at the code if it's working?". Absolutely right. If it ain't broke, don't fix it.

      But, if there's a feature missing that you require, then for certain businesses -- not all -- it may well make sense to add code yourself. A tech company may underutilised coders on the payroll: it may be cheaper to get them to code and support that feature than it is to sack them.

      A large corporation (Sony, 3M, etc.) might need to deploy that feature in hundreds of places. Paying someone to code it gives them a lot of bang for the buck.


      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.


      Successful businesses always look to reduce costs. If database A works, database B is $10,000 per year cheaper to license and support, the migration will cost $20,000 and you expect to continue using the system for over 2 years, then (cashflow allowing) it's a no-brainer to move. The only thing stopping you would be lack of business agility.

    2. Re:Hands on source code by Zerbs · · Score: 1

      yes, that's exactly right. The truth is, while an open source C compiler may appeal to C programmers because it's written in C, the people who administer, design, and implement database solutions have more important things to do than look at C source code of their database. A number of them only have enough C like knowledge to do shell scripting in Unix/Linux.

      --
      "22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
    3. Re:Hands on source code by DrSkwid · · Score: 1

      Something I have found important is that there are some who would actually look at the source code of a database, work on it rather than develop new applications based on it.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:Hands on source code by drew · · Score: 2, Insightful

      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?

      We used Oracle extensively at my first .com job many years ago. I remember one incident where we would repeatedly (and erroneausly, if my memory serves me correctly) get an Oracle error numer that didn't map to any meaningful description in the Oracle docs. ("Undefined Internal Error", i believe was the text description we got.)

      We spent months trying to get an answer from Oracle as to what was causing this error. In the meantime, any time someone encountered it, we had to randomly start changing queries until it worked again. If I remember correctly, Oracle never did tell us what caused the error, they just quietly released an update some months later that made the problem go away (which then took several more weeks to make it up to our production servers).

      If we had been using an Open Source database at the time, even if we never modified the source ourselves, I suspect that there's a pretty good chance that somebody would have been able to find out what was causing that error in far less time than we had to wait for Oracle to address the issue. And even if we couldn't fix the problem ourselves, we could have at least known how to avoid it until an official fix was available.

      Being able to modify the source yourself isn't the only advantage to using an Open Source product.

      --
      If I don't put anything here, will anyone recognize me anymore?
  10. Re:Large Wallets + Small understanding = nothing n by CastrTroy · · Score: 1

    You're a little bit off there. To a company with very little data, 10K of data is large. There's nothing saying that a small company can't handle lots of data if they do it in an organized manner.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  11. It's the data... by Colin+Smith · · Score: 4, Insightful

    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
    1. Re:It's the data... by jadavis · · Score: 2, Interesting

      because people like IBM and Oracle guarantee that when the power goes out, the transaction completed, or it didn't happen at all.

      What kind of guarantees do they actually provide? For all of Oracle, IBM, and PostgreSQL the likelihood of a hardware error is far greater than the likelihood of a software error that leaves the database inconsistent.

      So what, will Oracle pay you money if a software failure occurs? What about a hardware failure?

      From a technical standpoint, PostgreSQL is probably more trustworthy when it comes to data integrity. Oracle is often installed on better hardware, but that's not the fault of PostgreSQL.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    2. Re:It's the data... by Lumpy · · Score: 3, Interesting

      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.

      you are very wrong. MANY companies depend on MySQL in the ways you mention and by spending the cash you saved into hardware I also can guarentee that the transaction completed or it didn't when the lights go out.

      It's called decent hardware, decent Backup, decent UPS. my servers can run a FULL 45 minutes on UPS before they haveto start shutdown proceedures. coupled with Battery backup RAID cards and a raid 51 and I got huge stability in hardware for the cost of the DB.

      You act like nobody but some 13 year olds with a website use MySQL. I suggest you take a look at the mysql website and educate yourself with their information.

      --
      Do not look at laser with remaining good eye.
    3. Re:It's the data... by Knetzar · · Score: 1

      For all of Oracle, IBM, and PostgreSQL the likelihood of a hardware error is far greater than the likelihood of a software error that leaves the database inconsistent.
      Where did you get that fact? In addition, assume a hardware error occurs, will the DB software be able to guarentee that the date is in a consistant state afterwards? What happens if there is a software issue, who will help you with MySQL or PostgreSQL? With a big bank there are many legal ramifications to everything that is done, you need a name like IBM or Oracle behind you to help fix problems.

    4. Re:It's the data... by jadavis · · Score: 1

      will the DB software be able to guarentee that the date is in a consistant state afterwards

      PostgreSQL guarantees that so long as the error doesn't have something to do with the hard disk. Many people leave "write caching" enabled on the disk, meaning that no database or filesystem can guarantee consistency after a power failure. Also, of course bad sectors or something could destroy data. This is the same guarantee you get from Oracle.

      But take PostgreSQL, run at whatever load you want, pull the plug, and it WILL be consistent (so long as write caching is off).

      many legal ramifications

      And many legals disclaimers, disclaiming any liability on behalf of Oracle or IBM.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    5. Re:It's the data... by jadavis · · Score: 1

      Oh, and I forgot to mention, many consumer-grade ide disks will actually lie about write caching (or so I've heard). The easiest way to tell for sure is if your transaction commit rate is higher than the disk rotation rate.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    6. Re:It's the data... by Knetzar · · Score: 1

      Then I guess the only big thing is, who do you go to if there is a major problem? Novell and RedHat back Linux, but MySQL isn't that large of a company, and I don't even know who would support PostgreSQL. Personally if I was running an IT shop at a fortune 500 company I'd want my software backed by another large company (IBM, Oracle, MS, Novell, etc..)

    7. Re:It's the data... by jadavis · · Score: 1

      Does MySQL support a write-ahead log or something similar, in case you don't have expensive hardware?

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    8. Re:It's the data... by jedidiah · · Score: 1

      Ok then, then name some of these many companies and tell us in what capacity the database is being used. Can the data be recreated? Is the data stored elsewhere and simply processed through mysql?

      --
      A Pirate and a Puritan look the same on a balance sheet.
    9. Re:It's the data... by Anonymous Coward · · Score: 0

      > Then I guess the only big thing is, who do you go to if there is a major problem?

      Here (http://www.bizgres.org/) or here (http://www.commandprompt.com/) or here (http://www.postgresql.org/support/professional_su pport) perhaps?

    10. Re:It's the data... by jadavis · · Score: 2, Informative

      There are lots of companies offering support for PostgreSQL. If you need it to be a "big, enterprise-class" company, how about (as one example) Sun Microsystems, which offers 24/7 postgresql support?

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    11. Re:It's the data... by jbolden · · Score: 1

      UPS isn't even the start of the problem. I assume backup generators in any comparison.

        What if the building catches fire, how does MySQL's non existent live replication work? What about fallover databases? What about massive scalability? Its silly to talk about Oracle and MySQL comparatively the issues that Oracle has solved in the last 10 years are things that MySQL customers don't have to worry about yet.

      5 years ago MySQL wasn't even ACID compliant. There is a range between a 13 year old with a website and a corporate fincial app (where the value of the data far exceeds the cost of the hardware). MySQL doesn't support most of the SQL standard (its over 2000 pages).

      Seriously take a look at Oracle's feature lists before jumping up and down about how MySQL is comparable.

    12. Re:It's the data... by Knetzar · · Score: 1

      Well, you shut me up :-)
      Thanks for the information.

    13. Re:It's the data... by Anonymous Coward · · Score: 0

      people like IBM and Oracle guarantee that when the power goes out, the transaction completed, or it didn't happen at all.

      Have you looked at PostreSQL's MVCC format? Instant-in-time recovery, ACID compliant.

    14. Re:It's the data... by bladernr · · Score: 1
      Seriously take a look at Oracle's feature lists before jumping up and down about how MySQL is comparable.

      As one of those big, corporate customers, I know you are right. I am familar with both, and things like Oracle's RAC just don't have an equivalent in the mySQL world.

      But on topic, the question posed was "are all those features worth the money" (with the implication that many of those features are not used). Where I work, the cost of software for Oracle vs mySQL isn't even a factor given the relative cost of outage or data corruption on the vital applications. That means we can assume zero price on either database for planning purposes for vital applications, and can pick the best database for the job.

      That is when you might end up buying Oracle over mySQL: when cost is not a factor (unless someone wants to argue that, cost aside, mySQL is a superiour product)

      --
      Sarcasm and hyperbole are the final refuges for weak minds
    15. Re:It's the data... by jbolden · · Score: 1

      My early experiences with Oracle was when it costs millions. At that price, cost was a factor. RDB was free, we still picked Oracle. 20% savings on developer time easily paid for Oracle.

    16. Re:It's the data... by jbplou · · Score: 1

      95% of apps could be served perfectly well by mysql, postgresql, msaccess, filemaker etc.

      I would disagree with this statement. Have you ever worked in an organization that created hundreds of access applications then a few years later they wanted to have most of them have more users than msaccess can realistically support. MSAccess is good for single user and barable for a very small number of users, but it is not good enough for 95% of apps

    17. Re:It's the data... by orev · · Score: 1
      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.


      This will never work. Any department or application that falls into the "casual" category will and should be cancelled. If you're doing something in the business that's not critical to the business, you are wasting resources on it. Even if you don't agree with that, managers understand this and they will brand every application as vital.
  12. Well by Toreo+asesino · · Score: 2, Insightful

    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();
    1. Re:Well by slim · · Score: 2, Insightful

      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.

      But MySQL is a vendor DBMS if you want it to be. You can buy the product and support from MySQL.com.

      However, even if we invent a hypothetical Open Source product where paid support isn't available, there are circumstances where I get really fed up of the "we can't use that, what if it breaks" attitude.

      I've just moved from horrifically risk averse backwater within a Fortune 500 corporation, to an environment where maybe just once in a while you can say "No, you don't need paid support for that piece of Open Source software: if it breaks we have the expertise and resource to fix it within 24 hours".

      Sometimes that's not enough -- sometimes you're risking tens of thousands of dollars and you want insurance against that. Sometimes, though, it *is* enough, and it's right to stop and make that decision.

    2. Re:Well by psycho8me · · Score: 1

      I believe that mysql sells support.

    3. Re:Well by Toreo+asesino · · Score: 1

      Fair enough. It's all about what you feel comfortable with. There's a lot of justification in using an open-source dbms of course, but there's also a point where I wouldn't want to push my luck. The point is, if my system breaks because of thier screw-up, I'll want to know heads will roll higher up than R&D. It's the execs which ultimately suffer for screw-ups in paid software rather than geeks.

      --
      throw new NoSignatureException();
    4. Re:Well by slim · · Score: 1

      The point is, if my system breaks because of thier screw-up, I'll want to know heads will roll higher up than R&D.

      We're agreeing with each other :)

      The key to this is to make an explicit and documented risk assessment, document acceptable downtimes and all that tedious project manager-y type stuff.

      That way, if you specify an Open Source component, it breaks, there is downtime but you fix it, you can point at the documentation you produced.

      "We documented that there was a small probability that an undiscovered flaw in this component could cause disruption, that the impact would be this, and that we would expect to fix it within n hours. You signed it off and accepted those risks."

      Making money is all about evaluating and accepting risks. Of *course* your management may read your risk assessment and decide they'd prefer to mitigate the risk with a commercial support contract. It's all part of the balancing act.

    5. Re:Well by Toreo+asesino · · Score: 1

      I guess we are more or less. I think I can sum it up with a conversation I had with a director once... him: What back-end are we using for this [insert big system-name here]? me: Well, there's two which spring to mind - Oracle or mySql him: Oracle - i've heard of them! Who makes the other one? me: Well, it's open-source, but it's supported by the MySql company.... him: [blank look] me: It's much cheaper! him: Do I give a shit? I see the Oracle building every day going to work! They must be good! And with that, we 'chose' Oracle.

      --
      throw new NoSignatureException();
    6. Re:Well by Tweekster · · Score: 1

      And you honestly believe those companies are gonna take responsibity? what are you gonna do? sue them, allow me to laugh for awhile because that idea is adorable... truth of the matter is, they can say "hey its not our problem even if it may be our fault" and there isnt a damn thing you can do about it.

      --
      The phrase "more better" is acceptable English. suck it grammar Nazis
  13. Re:Large Wallets + Small understanding = nothing n by Lonewolf666 · · Score: 1

    Sometimes, it is an attempt to get the greater reliability that is frequently attributed to the "big" systems. Justified or not, RDBMS like Oracle or DB2 have a reputation of being less prone to crashing or data loss.
    This said, I would probably go for somthing like Postgre or Firebird myself. But NOT Access, I've heard from our service department that the Access databases of a certain device tend to crash when they grow beyond 1 GByte.

    --
    C - the footgun of programming languages
  14. Re:Large Wallets + Small understanding = nothing n by (A)*(B)!0_- · · Score: 1
    "To a small company 10k of data is large."
    No it's not. The size of the company is unrelated to the amount of data they have.

    A more appropriate and true statement is: to a company whose largest database numbers 10,000 rows, 10,000 rows is a lot of data. But that's trivially obvious.

  15. depends by stoolpigeon · · Score: 4, Insightful

    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?
    1. Re:depends by mcrbids · · Score: 1

      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.

      I don't know about this - as a small-company vendor myself, one of the main reasons I use OSS solutions anywhere possible is that "it can't get taken away" by changes in the licensing scheme. My license won't "expire" and the product won't be "EOL'd" as is so often the case with proprietary solutions. (Think: VB6)

      There are many examples of this: PHP5 has been out for years, but PHP4 is still well supported, and is even the default (for example) on RHEL. Apache 1.x is still supported for security updates, and still represents a large percentage of the install base.

      Postgres (the database on which I depend) is open enough and free enough, that even if the existing developers decided to hang up their hat, I'm quite confident that enough people in the community would step up to the plate to continue its support and development; in fact, I think this has already happened, in a sense, several times. Another example is the recent debacle with XFree86.org and X.org.

      So, as you can see, it's not just cost. I'm very leery of Oracle's "little guy" offering, because it didn't exist before. I recognize that it's simply a way for Oracle to get their foot into my door, and I'm going to avoid it where a free-license, "they can't take it away" option exists.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    2. Re:depends by stoolpigeon · · Score: 1

      good point. though my last job that I just left a little while ago was still using VB 6 heavily. They can pull the plug on future support, but unless you plan on your stuff being around for more than 10 years, it's not that drastic. They don't take it away, they just stop giving it out.
       
      Now at that job, the management was leary of OSS and I was always pushing it hard. Why? Well, they wanted the backing of a known name. Me, I got tired of just what you bring up, getting locked in. It really annoyed me to be stuck depending on what some company would do. When we started having problem with writing office automation code in vb6 on xp and 2000- the ms answer was to upgrade from office 97. But the company didn't want to spend the money. I was working on getting everything moved to open office before I left. I don't know what they'll end up doing.

      --
      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?
  16. Re:Large Wallets + Small understanding = nothing n by squoozer · · Score: 2, Interesting

    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.
  17. Short Term Gain Is KING! by Saeed+al-Sahaf · · Score: 4, Insightful
    which focused on how businesses are looking to save money with open source (rather than using the source to innovate)

    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
    1. Re:Short Term Gain Is KING! by jadavis · · Score: 1

      It sure doesn't seem that way to me. It seems to me like the pace of technological innovation is increasing and reaching consumers faster. You can probably find a few examples of mismanaged companies, but many companies still have huge research budgets and bring that new technology to consumers very quickly.

      Think about how quickly multi-core processors are making it into the market. Is that because of short-term thinking? What about a company like IBM putting billions into Linux development, is that short-term thinking? What about the billions invested by drug companies to create better medications, that allow AIDS and cancer patients to live much longer than before?

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  18. Re:Large Wallets + Small understanding = nothing n by Anonymous Coward · · Score: 0
    I don't think the database size is the main deciding factor (any more). The main factors are:

    • Is the DBMS trusted? Is it well known?
    • Do the developers have work experience with the product?
    • Are good tools available?
    • Performance? Stability?
    • Is it scalable (clustering) in case it's needed?

    Databases that fit in this description since a long time are: Oracle, MS SQL Server, DB2. New on the list are: MySQL, PostgreSQL. Wikipedia link: List of RDBMS

    And maybe some will be added to the list in the future, like Firefird, and who knows H2.

  19. Re:Large Wallets + Small understanding = nothing n by AnotherDaveB · · Score: 1
    Many companies that generally only need a step up from MS Access but get sucked into Oracle or DB2

    Google Adwords uses MySQL.

  20. But who will my boss shout at? by Malnathor · · Score: 1, Funny

    If we use an open source app my boss will have no one to call up and shout at when things go wrong. Thus, any suggestion to use an open source DB will be pissed on.

    1. Re:But who will my boss shout at? by TheRaven64 · · Score: 2, Insightful

      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
    2. Re:But who will my boss shout at? by the_womble · · Score: 1

      Of course the vendor will not actually do anything to solve the problem, but it will make your boss feel better.

  21. Ease of use? by Anonymous Coward · · Score: 0

    Ease of use is important as well. Or maybe not (see Oracle).

  22. Re:Large Wallets + Small understanding = nothing n by erbmjw · · Score: 1
    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.
    I've seen that problem before - in fact I've had to help correct that problem before - I thought that my brain was going to fry sometimes while I was reading the code ;)
  23. SAP by stephenMF · · Score: 1, Funny

    At my company we are making a move to MySQL in order to accomplish what SAP cannot do for our assembly lines. This involves keeping track of incoming and outgoing material. SAP will still keep track of what happens with the finished goods, and received parts. Why we keep SAP probably has something to do with the corporate jacuzzi.

  24. Re:Large Wallets + Small understanding = nothing n by Xugumad · · Score: 1

    I wrote an application like that once (I was young and foolish). But I'm better now, I swear (we spent most of summer removing that, and a few other screwups)...

  25. Not only free beer by DrYak · · Score: 1
    the majority of people use it because it's free (as in beer).


    This, and also because OSS is a way to avoid lock-in marketing techniques used by non-beer software providers.
    Enterprises, specially, are not intersted only because it's free (beer) for them to use an opensource software, but also because it'll still either be free or damn cheap to switch to something else that better suits their needs,
    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  26. I've been fighting to get this done. by khasim · · Score: 3, Interesting
    The user says "This is vital". IT staff start adding zeros to the price tag of the application.
    Yep. And it is up to the requesting user to justify spending that money to the CFO.

    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.
    1. Re:I've been fighting to get this done. by dakirw · · Score: 1

      The downside is that the database people need to become familiar with TWO different databases (or more depending upon the other apps).

      Very true. For a company with a large DBA group, it might make a lot of sense to have a couple of their DBAs specialize in an open source database, so that they can have the best of both worlds, as you've mentioned. However, a smaller shop would probably only have the staff to support one database. What they choose depends on how much they value the support they'd get from the Oracles of the world versus the cost of the licenses. Likely, only if the costs are too great would they pick an OSS database, unless the business side was somewhat tech savvy or the IT guys managed to convince them to go with OSS.
  27. Re:Large Wallets + Small understanding = nothing n by Fujisawa+Sensei · · Score: 1

    This isn't just a Java problem.

    Mapping the Database hierarchy directly to the java class files is not necessarily a bad thing. It becomes a bad thing when you try to load and access it. :-P Meaning that you have to be careful and consciencious about how you manipulate things and where your transaction/session boundries. The use of entity beans is the greatest offender of this, followed by hibernate abuses. At long as you do not manipulate, or perform a minimun amount of manipulation, (like inserting primary and foreign keys), within the transaction boundries. It can become very efficient, depending on the design of the database. But if you are slopppy one mistake and your performance will crater.

    My gripe is when people create 2 sets of nearly identicle class hierarchies, one to map to the database, one as data transfer objects, then proceed to copy one tree to the other everytime they hit the database. The more I see stuff like that the more I wonder why not just use JDBC, or Spring JdbcTemplate.

    --
    If someone is passing you on the right, you are an asshole for driving in the wrong lane.
  28. Foxpro by Anonymous Coward · · Score: 0
    Many companies that generally only need a step up from MS Access

    Correction. You misspelled MS Foxpro.

    1. Re:Foxpro by Anonymous Coward · · Score: 0

      Foxpro is a horrible piece of trash that should have been left in the late 80's.

  29. Re:Large Wallets + Small understanding = nothing n by bloobamator · · Score: 1

    The real advantage to taking the business logic out of the db is: scalability. The db will always have much more limited scalability than the middle tier. It's much easier and less expensive to throw more app servers into production, than it is to throw more db servers in.

    --
    "Crude and slow, clansman. Your attack was no better than that of a clumsy child."
  30. If Only the SQL 2003 Standard Was Followed by Cruxus · · Score: 1

    Phooka.de (302970) wrote:

    - You can't easily migrate to another database-vendor. Maybe you want to switch. Maybe you have to because of technical reasons. Maybe you have to because your company is being bought by another, which uses a different system and wants to maintain only one platform. Whatever the reason, your stored procedure is going to really, really hurt.

    The problem is right now none of the relational database management system vendors follow a common syntax for these kinds of advanced features. The SQL 2003 standard specifies the proper syntax for stored procedures and stored functions, yet the actual implementations diverge with their own SQL dialects (Oracle's PL/SQL, Sybase and Microsoft's Transact-SQL, etc.). Not even MySQL follows the standards to the letter (for example, AUTO_INCREMENT is not the standard way to create an automatically incrementing field of data).

    After taking my first database class for computer science, I was truly shocked by two things: this lack of standardization support (no doubt to encourage vendor lockin) and the sheer kludgery of SQL syntax.

    --
    On vit, on code et puis on meurt.
    1. Re:If Only the SQL 2003 Standard Was Followed by KingMotley · · Score: 1

      Don't blame the SQL Vendors, blame the SQL Standards which are always 5-7 years behind what the database vendors actually implement featurewise.

    2. Re:If Only the SQL 2003 Standard Was Followed by Cruxus · · Score: 1

      You are quite right. The standards are always playing catchup with what the RDBMS vendors have done; thus, the standards are a compromise rather than a consensus. Nevertheless, I would welcome one standard vendors actually followed that meant I could make relatively simple databases without running into subtle incompatibilities.

      --
      On vit, on code et puis on meurt.
  31. Re:Large Wallets + Small understanding = nothing n by Doctor+Faustus · · Score: 1

    The real advantage to taking the business logic out of the db is: scalability. The db will always have much more limited scalability than the middle tier. It's much easier and less expensive to throw more app servers into production, than it is to throw more db servers in.

    Yeah, but updates should still be propagated to all the other app servers, leading to the same basic problems as in the lower tier. I have to think that the only reason the middle tier is more scalable is that the data integrity standards are lower.

  32. That's not why Google uses Mysql by Anonymous Coward · · Score: 0

    I recently blogged about a talk given by Greg Stein (a googler) where he briefly discussed why they use mysql

  33. MySQL at $40 million per year. And that's fine. by Animats · · Score: 4, Informative
    So MySQL generates only $40 million in revenue per year. That's OK. That's enough for perhaps 400 people. How many programmers do you really want working on a database? Beyond 50 or so, they'll probably add more bugs than they fix. And they'll be tempted to put stuff in the database that shouldn't be there.

    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.

  34. It's all about the DBA by setrops · · Score: 1

    We use MySQL, Postgres, SQL Server, Oracle and DB2.

    Out of all of these product, the best DBA we have is an Oracle guy. He really knows his stuff. It is the smoothest and easiest to program for because he can answer the questions we ask. He's also a really good programmer, so he can debug the stupid mistake done by the contractors(Ok, I might have made some dumbass stuff myself).

    If I had my choice, I'd use Oracle everywhere and promote him to manage it all. He has shown me that no matter what you use, it;s only as good as the support you get from your DBA.

    1. Re:It's all about the DBA by boy_afraid · · Score: 0

      That's all and well to have a "specialist" that you can turn to make sure everything is up and running and can answer all your questions as if he/she were the actual developer of the product. Compare that to the Stargate SG-1 show where you have Samantha Carter that knows everything about the Stargate,astrophysics , theoretical particle physics, chemistry, etc. etc. and have an answer for everything, BUT once she is gone it makes maintaining or solving problems 10x10^999999 times harder to fix. We shouldn't need a freakin' PhD to keep a database humming along, get new development on the road, or solve day-to-day problems. But, then we do need the "specialists" to solve the very difficult problems. Yes, make him the head of all the databases as the goto person to answer the real tough problems, but for the rest of the newbies, KISS.

  35. Re:Large Wallets + Small understanding = nothing n by commanderfoxtrot · · Score: 1

    Absolutely right.

    The database is almost always the limiting factor- you can chuck in more web servers easily, but to expand the DB gets very complicated very fast.

    Even when you work with decent mainframes, as I do.

    --
    http://blog.grcm.net/
  36. Vendor lock? by Anonymous Coward · · Score: 0

    This, and also because OSS is a way to avoid lock-in marketing techniques used by non-beer software providers.

    Isn't it really the other way around? If you choose say PostgresSQL and then go in and make heavy mods, haven't you just locked yourself into PostgresSQL? Perhaps even deeper than you might have if say the source were not available to you (so you had to work around it). Let's say the Postgres guys decide to adopt GPLv3, if that causes problems, you are either stuck with the older non-v3 version, or you have to move to something else. How is this any different than vendor lock?

  37. Re:Large Wallets + Small understanding = nothing n by Retric · · Score: 1

    Few people know to interact with a database efficiently. http://www.ncr.com/en/solutions/solutions.htm takes this to an extreme but with a good db design you don't have to worry about scalability. It might take a little time to figure out what to index ect, but unless your over 10k transactions per second there is no reason to worry about scalability. Chances are performance issues are based around your design and using the db more will help. This is not to say that cashing is without value, but with proper indexing SELECT can be insanely fast on multi million record tables.

    PS: This is not to say all systems work well with a huge db on the back end but when you look at the total costs of doing this stuff in house even Oracle and 50k in HW can seem cheep.

  38. Open Source Software is not free (as in Beer) by Anonymous Coward · · Score: 1, Interesting

    I don't work for a database vendor but I find some comments above about open source databases optimistic. MySQL is fine for small and mid-size companies but I don't see large corporations letting go of commercial database products any time soon. Even if they've never heard of OLAP or Grid databases they will most likely choose Oracle or SQL Server over MySQL any day.

    Here are some costs associated with open source databases which you may not have thought of:

    1) No Support - what happens if your developers run into an issue with the product or your production system goes offline. Who do you call for support? Who do you call accountable for project failure (worst case bankruptcy)? Nobody wants to resort to online forums.

    2) There are many Oracle, SQL Server and DB2 specialists on the market. Finding a MySQL expert for support staff is much harder. You need years of specialized work experience to be an expert.

    3) As an early adopter of software you take on the risk while others (including competitors) learn from your mistakes. It's easier to follow someone else's success then wandering around on your own.

    P.S: I do most of my development work with Oracle (with .NET and Java projects), but I've used DB2, SQL Server, MySQL and PostgreSQL. If you think Oracle is not user-friendly try using TOAD or DBArtisan - both are fantastic.

  39. Re:Large Wallets + Small understanding = nothing n by jedidiah · · Score: 1

    So you store the business rules as data in the database and control your middle tier through the data. The rules are still centralized but the processing is not.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  40. XA / 2PC support still lacking... by psykocrime · · Score: 2, Interesting

    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
  41. [ot] free writing tutelage by Anonymous Coward · · Score: 0

    Some helpful hints, if you are interested in writing better:

    You wrote: On the other hand; If your database[...]
    Problem 1: you want a comma, not a semicolon (the semicolon usually joins 2 sentences that *could* stand on their own, but are very closely related, or it's used in complex lists as a sort of strong comma).
    Problem 2: Why capitalize "If"? You're still in the same sentence. You aren't in a new sentence until there's a period, question mark, or exclamation mark.

    You wrote: [...]downtime can cost your business it's life.
    Problem: "it's" is a contraction for "it is". Always. Anytime you see "it's", try replacing that with "it is" and see if it works. Here, you want to write "its".

    You wrote: [...]if [...] can cost your business it's life. You would be a fool not to use it.
    Problem: The first part (with the "if") can't stand by itself as a sentence. It's like writing "If I knew at the time." You need the second part of the sentence to complete the thought: "If I knew at the time, I wouldn't have said that." The second part could have been a sentence on its own, but not the first part.

    You wrote: [...]our most critical and complexed applications run Oracle.
    Problem: Typo? You mean "complex".

    You wrote: Why? Because the only way you will lose data in a Oracle database is if you shouldn't be managing an Oracle database.
    Comment: You *technically* shouldn't start a sentence with "because" (this is another dependant phrase), but it's common and probably okay in casual writing.

    You wrote: C_Kode
    Suggested replacement: C_Code
    (heh heh)

  42. Support by CaptainTux · · Score: 4, Insightful
    I keep reading that the main reason companies don't switch from closed to open software is because there are no support options available beyond internet forums, IRC chats, and mailing lists. Have any of you people making these claims actually investigated what support options are available for some of the software you use?

    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"
    1. Re:Support by slim · · Score: 1

      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.

      It wasn't true two or three years ago either.

      It's a distortion of what people really thing, which is "I'm scared of deviating from the mainstream". People choose Oracle for the same reason they choose Madonna -- they've heard of it. Or in the case of all those I'd-choose-open-source-but-my-boss-won't-let-me types, because their bosses have heard of it; the same reason you might play Madonna instead of your own taste in music at a house party.

  43. Re:Large Wallets + Small understanding = nothing n by jbolden · · Score: 1

    They probably were using the wrong type of database. Object relational databases offer object oriented languages the same advantages as ISAM offered purely procedural languages (Cobol, fortran...). Relational offers advantages that are different (like data integrity) but there are real legitimate issues where you programming language internal memory strctures to look a great deal like the structures as stored in the database. Particularly if the quantity of data is huge (for a modern PC something like bursts of 100 Mbits / second sustained for 20 minutes or so).

  44. Foxpro? You're on crack! by Just+Some+Guy · · Score: 2, Interesting
    You misspelled MS Foxpro

    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?
  45. Sure it is by Just+Some+Guy · · Score: 4, Insightful
    No Support - what happens if your developers run into an issue with the product or your production system goes offline. Who do you call for support?

    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?
    1. Re:Sure it is by boy_afraid · · Score: 0

      Don't forget this "new" thingie we call e-mail that's been around for 25 years. Whoa, cutting edge technology with no track record.

  46. S-U-P-P-O-R-T by bloobamator · · Score: 1

    No company with a board of directors is going to bet the farm on a mission critical software product for which they cannot purchase support. You have to have someone to blame when everything falls over.

    --
    "Crude and slow, clansman. Your attack was no better than that of a clumsy child."
  47. Re:Large Wallets + Small understanding = nothing n by jbplou · · Score: 1

    Well you are skipping a few other features that some might find useful such as Java integration or .Net in the case of SQL Server 2005. More scability options. Also it may be easier to find qualified DBAs for the big name databases, you can never underestimate the cost of labor.

  48. Stored procedure performance gains by Anonymous Coward · · Score: 0

    Maybe it makes a difference in the dbms & environment you're using, but I'm sure if you do some application profiling you'll likely find that time saved on parsing by using stored procedures is minimal.

    I've recently scaled an app up from 30 concurrent users to 1300 & we don't get the slightest performance problem from the network traffic of passing SQL (this is minimal compared with the traffic of dragging the data to the application), nor do we get any performance problems from the time taken to compile/interpret the SQL statements (all the major dbms's will cache the query plans anyway).

    The places where you get performance hits are poorly written queries, bad indexing, and row-at-a-time processing from programmers who don't understand how to program relationally.

    My policy is to use stored procedures only for main business transactions (eg add/update a customer) and for actions fired by triggers. I find that it's pretty irritating to have to go and dig out a bunch stored procedure definitions whenever you want to see what a programs doing. When over used they obfuscate rather than clarify.

    Agree with the other comments tho.

  49. Re:free support by SolitaryMan · · Score: 1
    But, if there's a feature missing that you require, then for certain businesses -- not all -- it may well make sense to add code yourself. A tech company may underutilised coders on the payroll: it may be cheaper to get them to code and support that feature than it is to sack them.
    And if the company chooses to donate the code to that application (submit a patch), they wouldn't have to support that feature for the rest of their lives. If the patch gets committed they will receive this feature with all new software versions (updates) and they don't have to worry about recompiling application every time. At the same time, free application receives new feature. Looks like win-win situation to me.
    --
    May Peace Prevail On Earth
  50. Re:Large Wallets + Small understanding = nothing n by erbmjw · · Score: 1

    Oh - I've seen it done correctly - actualy I 've also been a bit part player in making it work correctly as well :D

    But like you and others, I've also seem to many done badly enough that they slow a machine to a crawl while it's either loading the application or crunching big datasets.

  51. Ingres supports XA by Anonymous Coward · · Score: 0

    Ingres has full support for XA.

  52. Re:Large Wallets + Small understanding = nothing n by WuphonsReach · · Score: 1

    Access databases start running into issues at around the 1GB per MDB mark. (Pretty sure the max size is 2GB... I think... I should know this dammit! Meh, we always split into multiple MDBs in those cases.)

    Where the Jet database engine (which is what MDBs are the datastore for) runs into trouble is concurrent access. Take a web server, use a MDB... at around 30-50 users you'll start running into severe performance issues. Switch to SQL Server / PostgreSQL and that same web server can now handle 300-500 users.

    MDBs are still handy for small, portable, mostly-relational, isolated pockets of data that need to be passed around. I do wish there was something better (OOBase might replace MDB in a few more years).

    --
    Wolde you bothe eate your cake, and have your cake?
  53. Standards by 4of12 · · Score: 1

    To the extent they exist, are free, functional, and that people actually pay attention to them, standards will help make a smooth transition for customers wanting to trade Brand X SQL server for Brand Y SQL server.

    I'm not sure how many customers actually migrate downward from a commercial offering to FOSS options like MySQL or Postgres. Upward migration has always been a way out if you outgrow the FOSS, but you can always evaluate whether the increased performance, reliability, features, support are worth the money. That means vendors get their feet held to the fire to provide genuine value-added.

    It means it will be increasingly difficult to sell plain old SQL servers to new customers if the "Good Enough" MySQL and Postgres become increasingly capable and set the bar higher and higher every few years.

    --
    "Provided by the management for your protection."
  54. Example by DrYak · · Score: 1
    How is this any different than vendor lock?


    (As mentionned before on this thread, the commercial companies are seldom interested in modifying heavily the apps. Maybe bugfixing, or designing a couple of plug-ins but that's everything. And in rare case of heavy mods, if done correctly, the company has a team of programmes working on them, and they could try to port the plug-ins to whichever new plat-form is chosen).

    Vendor lock :
    - You were moronic enough to develop an application running on MicroSoft Access (I've actually seen such cases). You're stuck between update or keeping the old version.

    Standart compliant software :
    - You depend not on specific software solutions, but on you own data and the specific interfaces/standarts/formats, etc... which are open. So you can either switch to whatever else software which complies to the same standarts (Almost all non-Microsoft Office software support OpenDocument format. SQL provides to some extent a common ground accross database software. Language like Python, Perl, etc. are widely supported on a lot of plateforme but VisualBasic is not. etc.).
    OTH: Vendors, once they have a big enough user base, are btter interested in developping solutions that DON'T let the users easily run away to something different.

    Or you can export/import you data, and you can always manage to create (or most likely find some one who's already done) a converter / data extractor, because data format are open and you still have the source code to start working with (In the unlikely event of the GIMP team stoping to work on this software : its format is documented, source code reading it can be found from the software it-self, so a converter is likely to be doable and was probably already done).
    OTH: Unless you sign a NDA it's harder to have access to inside mecanics of a non-open software and reverse engeneering is required to try to make the data extractable.

    Or with a big enough team, you could pick-up a stalled project, or fork and keep developping what you need. (There are a lot of abandonned open-source projects which where continued by others, because there was interest among the users. And there are exemple of forks because developpers want to go one direction and other users needs another one : see Sodipodi vs. Inkscape. There can even be collaboration between the forks or parallel projects : see Gaim and Gaim-VV and Adium, or Wine and Reactos, etc.)
    OTH: Unless you buy the company and/or the IP assets you cannot "fork your own" easily.
    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]