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.
--
I haven't heard about that discussion but I suspect you're misquoting. 32-bit OS like LINUX may have a 2GB file size limit, but DB's like Oracle and Sybase allow you to have multiple OS files within the database. While there is a limit, it's virtually unreachable (Peta-byte range for Oracle 8i).
32-bit OS (SUN, AIX, LINUX, etc) have another 2GB limit, but it's on RAM. This means the scalability of the db is limited, but again, only the largest systems (hundreds of concurrent users) need to worry.
But will the Embarcadero tools be useful with PostgreSQL on Linux?
About the only app that I think justifies the trouble of having Windows around is MS Access. Specifically, MSAccess and ODBC give ultra-convenient, read-write, network access to many RDBMSs. It's not really an admin tool, just a data browser with some scripting ability, and works with Oracle and all the rest.
If Oracle were to put out their source code, before the end of the day I would compile it with symbols and begin stepping through both server and client libs at various API calls in my code, just to figure out what the damn thing does. And I'd be grepping all over it to learn what it can do. Heck if they GPLed it, I'd be submitting new documentation.
The article mentions both open-source and documentation issues but fails to point out that in serious, heavy-duty applications, source code is a very valuable supplement to whatever docs exist. Or rather, the docs merely supplement the code.
I'm disappointed to see so little discussion of PostgreSQL in the article and the comments.
That's because this slashdot article is: Linux and closed source databases. Though I share your feelings about PostgreSQL.
--
*blink* *blink* Huh? No. Not me! I'd never do anything like that...
Not sure about the BEST support, but I have found the remote admin tools from Oracle very handy indeed - I can administer a local Win95 personal, a remote NT and a remote Netware from the same machine, with the same tools. I've never had to try the Unix version "in anger" but when playing with it, the schema and sql-console tools seemed happy there, too.
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 guess that most will auth via the Linux box's own Password scheme - that was available as an option to Oracle's DBMSs on NT and UNIX anyhow. IIRC, Samba is quite happy do do similarly.
-=DaveHowe=-
I agree--unfortunately my app has everything on the same box--I'd have to pay twice as much for co-location if I had a dedicated DB server and another box to do everything else.
So, I leave a processor free for Apache, perl, mail, etc...
anyone know of any cheap (less than $200 a month) co-location places?
Interested in the Colorado Lottery or Powerball games?
check out http://colotto.com
Those commands do do something special - on 64-bit operating systems - which is why they are carefully #ifdefed out so they cannot be used on 32-bit ones.
Remember that Linux standard libraries have a common source for different operating systems. So just because you can see it in the header files does not mean that you can use it on your machine.
Cheers,
Ben
My usual seat in the cluetrain is at A HREF="http://pub4.ezboard.com/biwethey.ht
Sybase (either Adaptive Server Enterprise or Adaptive Server Anywhere) can be administrated from the (IMHO) excellent tool Sybase Central running on NT or 95. Works like a charm.
Chris
M-x auto-bs-mode
postgres and mysql are already very promissing...
i am sure good databases will be here soon..
mond.
You can buy Sybase 11.9.2 ASE with full support from Sybase *now* -- costs the same as other "Workgroup" servers like NT, which ain't bad at all.
I think Sybase is actually in a pretty good position with Linux. The Adaptive Server Anywhere (formerly SQL Anywhere) is an excellent, fast, full featured yet low-maintenance engine. Just the kind of thing to install on a machine to drop at a client's location and not worry about it. Combine that with SQL Remote (replication) and you've got a kick-ass solution on a rock-solid platform.
Chris
M-x auto-bs-mode
Well, it probably doesn't do reliability in the wake of hardware (sounds like a hard thing at the best of times), but you can add Zope for 'making pretty pictures easy', too :)
~Tim
--
Rushing on down to the circle of the turn
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.
The article has one flaw, and that is, although it did mention the open-sourced databases like mySQL and PostgreSQL, it doesn't really compare the benefits of open-sourced databases vs those of the closed-sourced variety.
My only hope is that one day _someone-else_ would do a fair comparison.
Muchas Gracias, Señor Edward Snowden !
Having a 2G file size limit does not mean you can't have a table or database with more than 2G of data. Actually most Oracle tuning books recommend splitting huge tables into multiple datafiles, for ease of backups, among other reasons.
Slashdot sucks
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
I have worked with a number of companies that feel safe using Open Source databases, for their reliability and for the availability of documentation and help that has been provided by other users. This is the type of support that will help push MySql and PostgreSql into the market as potential contenders
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.
Since that's what my univ runs, It's what i mess around with at home. (That and the fact that it's made in Uppsala, where I live ;)
Anyway, check it out at http://www.mimer.com.
Don't hate the media, become the media.
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.
This is also the case with IBM, who have pretty good reasons to hate Microsoft themselves. In fact, I think this is the main motivation for most of these big companies - including even Corel, perhaps.
To the editors: your English is as bad as your Perl. Please go back to grade school.
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!
"My advice is: Don't let ideology get in the way of business."
That makes perfect sense. If you refuse certain products because of ideology, you're simply limiting your choices because of your emotional bias, and that's not smart if you're running a business.
For instance, I've run across posts from physicians asking about dictation/voice recognition software. Now, if they were ideologically committed to open source, I doubt they would have a choice at all. Similarly, there are sectors of this $100 billion industry where OSS products do not exist, or exist but aren't as good as the commercial ones.
OTOH, people who refuse to use open source products, or use only MS, or use anything-but-MS, also commit the same mistake. Ideology gets in the way if it limits your choice. (Don't mean to start a flame war either).
L.
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.
So the open64/stat64/pread64 calls don't do anything special?
Oracle does *not* charge by the MHz. Where did you come up with that? They charge by number of connections to a server. BTW, Web license = 20 users.
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.
Command line interface.
The glow of a green phosphorus screen
Byte Magazine in my mailbox
In a day when PC rags are nothing more than Microsoft marketing, Byte magazine and it's team of insitefull, knowledgable tech writers have insipred, and instructed countless programers around the world. Long live the amazing Jon Udell and Byte Magazine.
The best thing that freely available (MySQL) or OSS (PostgreSQL, older version of MySQL) databases can do is to fully support SQL. Then they can worry about going after the big boys. It's annoying when your database system doesn't support referential integrity (PostgreSQL) or subselects (MySQL), to give an example of two very useful SQL features that are missing from free databases.
The next best thing that would make these databases more popular is to have better admin tools. There are a lot of independent admin tool/interface builder projects out there (Pgaccess, Kmysql, etc...) that are showing a lot of promise so I'm hopeful that this shortcoming will be solved soon.
Most DBs that support a remote admin tool can be administered from any client OS. As noted Sybase on Linux or HP/UX, etc. can be administered from the Windows based tool. I have found that its really more important what version of the tool and DB are involved, versus the OS on client and server. There are also several third party tools like Platinum's Desktop DBA that can support multiple DBs on the backend, and on multiple platforms. You usually just have to run a SQL script on the backend that installs some stored procedures to facilitate the front end tool.
Every change is not progress, but there is no progress without change.
Use PostgreSQL. The world's most advanced Open Source database. www.postgresql.org
-- Your mother is an Active Server Page.
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.
The ONE tool I recommend to anyone for administering any kind of DB is Embarcadero DBArtisan 5.03.
It can administer Sybase, Oracle, and DB2 databases running under Linux. I've done it.
You can administer MS SQL Server 6.5 and 7.0, Sybase 11.0.3.33 (my old Linux Sybase box), Sybase 11.5 and up, Oracle 7.3 and up, and DB2 on it.
You can even share schemas between the multiple versions, and copy tables across different DBMS's.
And yes, they use "cartridges" for different DB types. This is quite good if they want to support the other Linux databases out there.
However, I don't work for Embarcadero, but I recommend their tools highly. I've never had it so easy administering DB's across AIX, Linux, and NT/98 before. If you do any DBA work, you know what a pain in the butt it is!
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.
nothing is completely reliable...
-- your knees hurt, don't they?
Which technology does usually become the pervasise one? Software that gets used in big, expensive projects, that only the richest corporations can afford, or software that gets used by the smaller projects with budgetary restrictions?
Well, just look at companies, like for example SGI, and its demise.
I think there should be an annex to Moore's law. If there are two competing pieces of software, who are both useable, and the one is easier to copy than the other, then the latter may be more stable or have more features, the first one will still win.
If either MySQL or PostGreSQL are sufficiently useable, they will win.
love it or leave it!
-- your knees hurt, don't they?
Coming soon to an internet near you !!!
The Miscreant
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...