Linux and Closed Source Databases
Byte.com is featuring a column by Jon Udell regarding Linux and databases. Using comments from users, other tech industry people and personal industry, Udell takes a nice walk-through the closed-source databases, as well as documentation issues.
One problem that the Byte article displays is that those that ignore whether software is "free" or not leave themselves vulnerable to the vagaries of licensing choices on the part of the vendor.
Those that were using SOLID for things that Solid no longer supports have committed the exact opposite mistake to that of Ideology getting in the way.
In effect, by not letting a preference for free software push them away from the "Solid choice," they have been boxed into a different corner.
The implication is that a preference for free software does not necessarily represent ideology; it can represent a solid preference for software that doesn't leave you dependent on the good graces of a software vendor...
If you're not part of the solution, you're part of the precipitate.
I checked out the Sybase site to see what the
distribution terms for the 11.0.3.3 server were.
The following is extracted from the user license:
1. USE OF PROGRAMS. You may install and use the
Program(s) internally in your organization solely
for development purposes on a single Machine that
may be accessed and used by a maximum of three
Seats. You may not use the Program(s) for any
production purpose or transfer, assign,
sublicense or otherwise convey the Program(s)
(or any one or portion thereof) to another party
without Sybase's prior written consent
This conflicts with their main site where it says
that you may freely use the product to develop and
deploy applications. I've contacted them about
this.
I understand that Informix SE may be freely used
on Linux (not to be confused with Informix Online)
I don't know how it compares to mSQL/MySQL.
>I've always been told that min/max_online engines should be set to # of processors -1
A good rule of thumb but if it's on a clean, dedicated DB only server it's not necessary. It's important to have when you have other processes running on the O/S.
We use Oracle for Linux for serious production
applications and MySQL for simple web stuff
(which includes serious production applications
like managing authenticated sessions). PHPLIB
and Perl DBI make it easy to switch.
I wouldn't consider other closed-source
databases. Nothing else, not even DB2, has the
technical depth and experience and cool things
like real optimistic locking, which enables
apps that are simply impossible in Sybase or
MS-SQL.
Read the MySQL docs. They have a good discussion
of the tradeoffs and, because they're not
selling licenses all the time, there's little
marketing BS.
PostgreSQL is getting to be a contender with
some of the best virtues of MySQL and Oracle,
but I don't feel it's as stable as either yet.
The current team only really started to make
the code their own with the last release. Oracle,
MySQL, and Sybase have more experience.
If you don't need a heavyweight SQL database,
don't use one. Applications like sendmail and
LDAP where transactions are simple and
replication is desired are much better off with
GDBM or Sleepycat.
There exist tools to help keep the pricy proprietary products up and running very near to 24x7x365, whereas the free products simply weren't built with that in mind.
If you're not part of the solution, you're part of the precipitate.
That will be the true test of Open Source. Building a web server or a kernel is one thing, but beating Oracle is a lofty goal.
I am curious if anyone here has experience implementing DB2 or Oracle on Linux in a "production environment". I'm especially interested in people moving from other operating systems to Linux. What software and people problems did you have? Did you have any difficulty getting customer support for Linux compared to the same database support on commercial operating systems?
From what I've read, IBM seems to be buying into Linux more than Oracle. Oracle seems to see Linux as simply a jab at Microsoft.
cpeterso
If Solid decides to move from selling licenses at $300 targeted at web servers to selling $10000 licenses targetted at use in embedded systems (speaking loosely of "embedded," of course), there is little that the customer can do.
If IBM decides not to provide an upgrade next year for Linux, and push users over to running DB/2 on Monterrey, there may be little that the customer can do.
I suppose the given is that there are some significant risks regardless of the approach you take.
The observation that code should be written to be, as much as possible, independent of the DB engine, is certainly true. This diminishes the extent to which you're locked in.
This is valuable whether we're talking about Oracle or MySQL.
Related to this, it seems to me that people should be looking into using transactioning/messaging "proxies" like BEA Tuxedo (proprietary) or less proprietary things like the Isect message queuing system.
If you're not part of the solution, you're part of the precipitate.
I am surprised that the author overlooked Sybase.
... it is downright great. Oracle charges by the Mhz, which quickly adds up to tens or hundreds of thousands, in comparison, Sybase on a dual Xeon was priced at under $9K.
We have been using Sybase on Linux since it came out a year ago. While not open source, we have found Sybase far more stable and much faster than Oracle on Linux. In fact, our Sybase/Xeon/Linux machine recently beat a Sybase/Sparc/Solaris machine to over 500 user connections.
On top of better perfomance and stability, Sybase's pricing is not only fair
True, Sybase doesn't offer a lot of the advanced Object features of Oracle, but the advice of the column is clear: avoid vendor-specific database extensions wherever possible when using commercial databases. You don't know how well (or if) these will be be supported in the future.
I am not a Sybase employee, just a very, very happy customer.
http://linux.sybase.com
I will believe that the big-name databases truly take Linux seriously for real work when they listen to what Linus has to say on the subject of big files.
If you want a database on Linux with over 2 GB in the database today, you cannot use one of the big commericial guys. Linux has a limit on file-size for 32-bit architectures and it is unlikely to go away. If you are serious about handling more data than that, Linus wants you to get a 64-bit CPU like the Alpha. He does not want to mess up a lot of code for a case that affects relatively few people. One that will be a non-issue as the 32-bit to 64-bit migration continues.
And so, if the database vendors are serious about using Linux for databases, they have to offer us a port to a 64-bit architecture. Well Linux on the Alpha is 64-bit, here, and popular, where are the databases for it?
Regards,
Ben
My usual seat in the cluetrain is at A HREF="http://pub4.ezboard.com/biwethey.ht
And then he talks about how it doesn't make sense to be religious about Free Software / Open Source when it's your business that counts, but the first thing you hear after that is how users got screwed because the product in question wasn't Open Source!
Now, I agree that the world can hold both proprietary software and Free Software, and that the two can get along. It's just interesting that the article makes the point that you really can't trust a proprietary vendor to stay in the market, and thus you must code as if they won't.
Thanks
Bruce Perens
Bruce Perens.
I'm no free-software Sandanista, but I sometimes sympathize with Richard Stallman and the GNU project. This is one of those times. Listen to this man. He's knowledgable, he's intelligent, and he influences hundreds or perhaps thousands of people directly and indirectly with his advice. And this is the message he has received about freedom in software:
"My advice is: Don't let ideology get in the way of business. Open source makes sense when it makes business sense, otherwise not."
I don't want to start a flame war. This is offtopic, and it should probably be moderated down. There are more interesting things to discuss in the realm of databases. Still, this is the message that people like Eric Raymond (bless him for his work) are inadvertantly spreading. Open source? User's rights? Freedom? Yes, those are all excellent means to secure a profit! But it's not as if they're important in their own right.
I understand the message of ESR to be, "Freedom is wonderful - and you can make a buck."
That doesn't appear to be what this man heard.
-konstant
-konstant
Yes! We are all individuals! I'm not!
I didn't see any mention of Sybase in this article-IMHO, the author left out a very robust database solution available to Linux users.
Sybase currently offers two different versions of their database server for Linux:
1) an older version 11.0.3.3 is available for free and you can do anything that you wish with it. Develop, deploy, e-commerce, etc. Free.
2) their "latest" version 11.9.2 is available free via download or $100.00 for a couple of CD's and manuals. 11.9.2 is free (or $100) for development, but if you deploy it then you need to purchase a license from sybase.
and no, I don't work for Sybase, I'm a happy user of Sybase on Linux, Solaris and HP-UX.
check out Sybase at http://www.sybase.com
or the Sybase on Linux FAQ at http://www.mbay.net/~mpeppler/linux.html
Interested in the Colorado Lottery or Powerball games?
check out http://colotto.com
- PostgreSQL for "heavy-duty-functionality" versus
- MySQL for "speed."
What is unfortunate is that neither of these are really strong with regards to reliability even in the wake of hardware problems.If you're not part of the solution, you're part of the precipitate.
Commercial databases have their place in linux. Closed source software has its place in the business world, right beside the open source offerings. Open source is not (yet) always the "right answer", even though it is becoming the "right answer" more and more often.
Sybase/Oracle/DB2/etc servers running on linux are good for linux, and it's good for the open source movement, too.
"How is a commercial source database good for the open source movement?" you ask...
Well, view it as a two-pronged approach. First, it gets people using linux/apache/perl/etc to tie together interfaces to that commercial backend. Secondly, it provides an incentive for the MySQL and Postgres crowd to make their products better and better. Linux flourished as an alternative to Microsoft, and the competition and race to add features and run better than the competitors is what keeps it vibrant, alive, and growing. Commercial databases have the same effect on open source databases.
There is room for both. This isn't an either-or situation, and yes, sometimes it does make business sense to go with a closed source option, at least until the open source alternatives are (like linux) better suited for the task at hand.
-- Gary F.
Just ask which is the better software for the job, given all the factors.
In the case of OSS, one of the factors would be likely long term support and development. But that is not the ONLY factor.
If you had to develop a new game, you'd probably license the propietary Quake engine instead of using the open source Golgotha. If you had to build a giant database, DB2 would probably be more viable than MySQL.
In the case of SOLID, you could reject it on the grounds that it is a small company which could pull the rug. That doesn't mean IBM's DB2 (which is EQUALLY closed source) is going to go under as well. If you are evaluating long term support, look at the facts, not the ideology. (Again, the advantage of something being OSS would be one of the facts in its favor, I'm not against open source - I use linux).
The problem with ideology is that people believe things based mainly on their principles, not on reality. So you'll end up making a decision based on ideals, not sound judgement. Just look at the diehard fanatics who claim that Linux has more apps than Windows, or the MS fans who claim NT is more reliable than anything, or the COBOL fans who believe its the most advanced language there is.
Again, I know if it's open source, it has many strengths. Include them in your judgement. But don't preclude everything else simply on ideology - you'll only reduce your own choices.
L.
On the very first page, the author says "My advice is: Don't let ideology get in the way of business," and then he's promptly abandoned by a vendor who changes the licensing model. Amazingly, he can't seem to put this together to realize that open-source ideologies often make good business sense. If he hadn't gone proprietary, he wouldn't have been left in the cold by the controlling vendor. A mildly interesting article, but he misses the most obvious lesson.
314-15-9265
Some IS people from my Uni. approached me at our LDD to ask about moving their databases from NT/SQL and Linux/miniSQL to solely Linux/*insert commercial database*. They want out of the NT world due to cost, stability, and security. But the major gripe they had with most of the DBs they had tried with Linux was that there were no tools to add tables, occasionally modify the schema, and do other administrative tasks from a Windows client. Currently, when the guy in the warehouse needs a table added he has to go talk to the Systems Programmers and have them write a Perl script to do it. They want to give him a way to add that table from a GUI so they can do other things and make his life easier. And no they don't want to write the GUI themselves.
;)
So here is my question:
Which DB available for Linux has the best support for administration from a Windows GUI? They would also like the Linux box to handle authentication to the DB thru Samba. I told them that I wasn't sure if that was an samba issue of something that the DB vendors would handle. So I guess that's two questions then.
I've had great experience with Sybase's beta product. I can't really see anything beta about it so far, and I've been using it for nearly a year now. It's blazingly fast for most operations, very stable, and the documentation is amazing - the full Sybase documentation set ships with it (albeit in Postscript format - not great for searching/indexing - sybooks would have been nicer). And at a price that's right. I just wish Sybase would get off their butt's with their full support behind the product - Sybase have a long history of not going headlong into technology that could put them a step ahead (hence Oracle overtook them in the market ages ago). That and the fact that it's not their latest version of Sybase (which therefore lacks row level locking) are the only dissapointments.
,hacker Perl another Just)'
I guess I've just always had a soft spot for Sybase (I think because of the excellent docs) and it's not let me down on Linux yet.
Matt.
perl -e 'print scalar reverse q(\)-:
Matt. Want XML + Apache + Stylesheets? Get AxKit.
I'm disappointed to see so little discussion of PostgreSQL in the article and the comments. I've just recently begun looking at PostgreSQL, as I'm looking to start developing database apps on Linux . I'm currently developing java apps on NT/Solaris with Oracle at work, and while that's a great platform, it sure would be expensive if I wanted to start up a cool database driven web-site running on Solaris with Oracle as the back end....
One thing I didn't realize was that a lot of the nice features of RDBMS's like Oracle, the Object-Relational stuff for instance, were pioneered in PostgreSQL back when it was plain old Postgres and it was a research project at Berkeley. PostgreSQL really has a lot to offer as a RDBMS, even if it's not quite at the level of Oracle, DB2, Sybase, or Informix. For one thing, it's free, and Open Source. I looked at mSQL and MySQL, too, but I'm a SQL-weenie and I really like transactions, correlated sub-queries, etc...
Anyway, just wanted to say that people should give PostgreSQL a look if they need a full featured RDBMS and don't have the budget for one of the Big Boys... Now if they can just add SQLJ and Java triggers/Stored Procs...