Novell Releases PostgreSQL for NetWare
An anonymous reader writes "Ever since Oracle announced they wouldn't port 9i to NetWare, Novell has been scrambling to find an enterprise-capable DB. Now it looks like they're settling on PostgreSQL. This follows their decision to ship Apache as the default web server for NetWare 6. Linux aficionados might sneer at an old workhorse like NetWare, but it's got more than 80 million client licenses worldwide, and it ain't going anywhere anytime soon."
how has this company managed to get a hold of marketshare? why does it maintain these 80 million licenses? what edge does it offer? how does it differ?
-- -- --
Help my mini cause: My journal
I am so furious with Postgres at this point.
I just had a client that needed a database larger than MySQL could capably handle (3 million records.) Since their budget was tight, I went ahead and recommended Postgres.
Oh! Whoops! Postgres doesn't run natively on Windows. This is COMPLETELY unacceptable. Their development environment and about half their servers, including the one allocated for this project, run on Windows. They went with Microsoft SQL Server, which was acceptable, but which ate almost a third of the budget for the project.
Many companies use a Windows development environment and/or Windows servers. It's stupid to ignore or shrug off the platform that runs at least 25% of the world's web servers and many more file, print, and email servers at businesses -- not to mention 95% of the clients out there, at least some of which are being used for local database development.
I cannot seriously recommend a product that ignores these numbers. Yeah, maybe they aren't out to make money, and so they don't care about losing "business" per se. But they lost my recommendation for projects that MySQL just can't handle. For me, now, it's either MySQL or a commercial database, and frankly, I am disgusted and disappointed to not have a Free alternative in between those two.
Simpli - Your source for San Jose dedicated servers and colocation!
what the fuck is this shit babble?
we are talking about enterprise class software, not some piece of shit PC/mac utility.
you are a fucking moron windoze kiddie. go defrag your hard drive.
*sneers*
it ain't going anywhere anytime soon
Yep! I'd say it's pretty dead.
1.9.2.2 Featurewise Comparison of MySQL and PostgreSQL
m l to get an optimal binary that works in all cases.
On the crash-me page (http://www.mysql.com/information/crash-me.php) you can find a list of those database constructs and limits that one can detect automatically with a program. Note, however, that a lot of the numerical limits may be changed with startup options for their respective databases. This web page is, however, extremely useful when you want to ensure that your applications work with many different databases or when you want to convert your application from one database to another.
MySQL Server offers the following advantages over PostgreSQL:
MySQL Server is generally much faster than PostgreSQL. MySQL 4.0.1 also has a query cache that can boost up the query speed for mostly-read-only sites many times.
MySQL has a much larger user base than PostgreSQL. Therefore, the code is tested more and has historically proven more stable than PostgreSQL. MySQL Server is used more in production environments than PostgreSQL, mostly thanks to the fact that MySQL AB, formerly TCX DataKonsult AB, has provided top-quality commercial support for MySQL Server from the day it was released, whereas until recently PostgreSQL was unsupported.
MySQL Server works better on Windows than PostgreSQL does. MySQL Server runs as a native Windows application (a service on NT/2000/XP), while PostgreSQL is run under the Cygwin emulation. We have heard that PostgreSQL is not yet that stable on Windows but we haven't been able to verify this ourselves.
MySQL has more APIs to other languages and is supported by more existing programs than PostgreSQL. See section B Contributed Programs.
MySQL Server works on 24/7 heavy-duty systems. In most circumstances you never have to run any cleanups on MySQL Server. PostgreSQL doesn't yet support 24/7 systems because you have to run VACUUM once in a while to reclaim space from UPDATE and DELETE commands and to perform statistics analyses that are critical to get good performance with PostgreSQL. VACUUM is also needed after adding a lot of new rows to a table. On a busy system with lots of changes, VACUUM must be run very frequently, in the worst cases even many times a day. During the VACUUM run, which may take hours if the database is big, the database is, from a production standpoint, practically dead. Please note: in PostgreSQL version 7.2, basic vacuuming no longer locks tables, thus allowing normal user access during the vacuum. A new VACUUM FULL command does old-style vacuum by locking the table and shrinking the on-disk copy of the table.
MySQL replication has been thoroughly tested, and is used by sites like:
Yahoo Finance (http://finance.yahoo.com/)
Mobile.de (http://www.mobile.de/)
Slashdot (http://www.slashdot.org/)
Included in the MySQL distribution are two different testing suites, `mysql-test-run' and crash-me (http://www.mysql.com/information/crash-me.php), as well as a benchmark suite. The test system is actively updated with code to test each new feature and almost all reproduceable bugs that have come to our attention. We test MySQL Server with these on a lot of platforms before every release. These tests are more sophisticated than anything we have seen from PostgreSQL, and they ensure that the MySQL Server is kept to a high standard.
There are far more books in print about MySQL Server than about PostgreSQL. O'Reilly, SAMS, Que, and New Riders are all major publishers with books about MySQL. All MySQL features are also documented in the MySQL online manual because when a new feature is implemented, the MySQL developers are required to document it before it's included in the source.
MySQL Server supports more of the standard ODBC functions than PostgreSQL.
MySQL Server has a much more sophisticated ALTER TABLE.
MySQL Server has support for tables without transactions for applications that need all the speed they can get. The tables may be memory-based, HEAP tables or disk based MyISAM. See section 7 MySQL Table Types.
MySQL Server has support for two different table handlers that support transactions, InnoDB, and BerkeleyDB. Because every transaction engine performs differently under different conditions, this gives the application writer more options to find an optimal solution for his or her setup, if need be per individual table. See section 7 MySQL Table Types.
MERGE tables gives you a unique way to instantly make a view over a set of identical tables and use these as one. This is perfect for systems where you have log files that you order, for example, by month. See section 7.2 MERGE Tables.
The option to compress read-only tables, but still have direct access to the rows in the table, gives you better performance by minimising disk reads. This is very useful when you are archiving things. See section 4.7.4 myisampack, The MySQL Compressed Read-only Table Generator.
MySQL Server has internal support for full-text search. See section 6.8 MySQL Full-text Search.
You can access many databases from the same connection (depending, of course, on your privileges).
MySQL Server is coded from the start to be multi-threaded, while PostgreSQL uses processes. Context switching and access to common storage areas is much faster between threads than between separate processes. This gives MySQL Server a big speed advantage in multi-user applications and also makes it easier for MySQL Server to take full advantage of symmetric multiprocessor (SMP) systems.
MySQL Server has a much more sophisticated privilege system than PostgreSQL. While PostgreSQL only supports INSERT, SELECT, and UPDATE/DELETE grants per user on a database or a table, MySQL Server allows you to define a full set of different privileges on the database, table, and column level. MySQL Server also allows you to specify the privilege on host and user combinations. See section 4.3.1 GRANT and REVOKE Syntax.
MySQL Server supports a compressed client/server protocol which improves performance over slow links.
MySQL Server employs a ``table handler'' concept, and is the only relational database we know of built around this concept. This allows different low-level table types to be called from the SQL engine, and each table type can be optimised for different performance characteristics.
All MySQL table types (except InnoDB) are implemented as files (one table per file), which makes it really easy to back up, move, delete, and even symlink databases and tables, even when the server is down.
Tools to repair and optimise MyISAM tables (the most common MySQL table type). A repair tool is only needed when a physical corruption of a datafile happens, usually from a hardware failure. It allows a majority of the data to be recovered.
Upgrading MySQL Server is painless. When you are upgrading MySQL Server, you don't need to dump/restore your data, as you have to do with most PostgreSQL upgrades.
Drawbacks with MySQL Server compared to PostgreSQL:
The transaction support in MySQL Server is not yet as well tested as PostgreSQL's system.
Because MySQL Server uses threads, which are not yet flawless on many OSes, one must either use binaries from http://www.mysql.com/downloads/, or carefully follow our instructions on http://www.mysql.com/doc/I/n/Installing_source.ht
Table locking, as used by the non-transactional MyISAM tables, is in many cases faster than page locks, row locks, or versioning. The drawback, however, is that if one doesn't take into account how table locks work, a single long-running query can block a table for updates for a long time. This can usually be avoided when designing the application. If not, one can always switch the trouble table to use one of the transactional table types. See section 5.3.2 Table Locking Issues.
With UDF (user-defined functions) one can extend MySQL Server with both normal SQL functions and aggregates, but this is not yet as easy or as flexible as in PostgreSQL. See section 9.2 Adding New Functions to MySQL.
Updates that run over multiple tables are harder to do in MySQL Server. This will, however, be fixed in MySQL Server 4.0.2 with multi-table UPDATE and in MySQL Server 4.1 with subselects. In MySQL Server 4.0 one can use multi-table deletes to delete from many tables at the same time. See section 6.4.6 DELETE Syntax.
PostgreSQL currently offers the following advantages over MySQL Server:
Note that because we know the MySQL road map, we have included in the following table the version when MySQL Server should support this feature. Unfortunately we couldn't do this for previous comparisons, because we don't know the PostgreSQL roadmap.
Feature MySQL version
Subselects 4.1
Foreign keys 4.1 (3.23 with InnoDB)
Views 5.0
Stored procedures 5.0
Triggers 5.0
Unions 4.0
Full join 4.1
Constraints 4.1 or 5.0
Cursors 4.1 or 5.0
R-trees 4.1 (for MyISAM tables)
Inherited tables Not planned
Extensible type system Not planned
Other reasons someone may consider using PostgreSQL:
Standard usage in PostgreSQL is closer to ANSI SQL in some cases.
One can speed up PostgreSQL by coding things as stored procedures.
For geographical data, R-trees make PostgreSQL better than MySQL Server. (note: MySQL version 4.1 will have R-trees for MyISAM tables).
The PostgreSQL optimiser can do some optimisation that the current MySQL optimiser can't do. Most notable is doing joins when you don't have the proper keys in place and doing a join where you are using different keys combined with OR. The MySQL benchmark suite at http://www.mysql.com/information/benchmarks.html shows you what kind of constructs you should watch out for when using different databases.
PostgreSQL has a bigger team of developers that contribute to the server.
Drawbacks with PostgreSQL compared to MySQL Server:
VACUUM makes PostgreSQL hard to use in a 24/7 environment.
Only transactional tables.
Much slower INSERT, DELETE, and UPDATE.
For a complete list of drawbacks, you should also examine the first table in this section.