Use of DB2 LUW in SMB?
My projects are currently SQL Server focused (with a little Postgres and MongoDB thrown in for fun). A recent project involving some configuration on Oracle reminded me of the complexity of implementing and managing Oracle RDBMS instances compared to the above.
Having dealt with DB2 on OS/2 many years ago, I decided to download a trial, and install it on CentOS for comparison. It was a fairly quick and easy implementation, including docs, and sample data.
Noting that DB2 LUW seems to get relatively little attention, I am wondering why? In certain editions, it is price competitive, and by many measures, i开发者_如何学Cs highly capable and scalable.
So, I am interested in knowing, if you use DB2 Express(-C), WSE, or EE, on Linux or Windows, could you share why (if it is your database of choice) ?
I work with DB2 for LUW across the spectrum : from high end Enterprise Server Edition in large enterprises to DB2 Express-C in SMBs.
In my opinion DB2 Express-C is absolutely brilliant for the SMB market. There is virtually no functionality that you would need as an SMB which does not exist in Express-C and all the major technology from the more expensive DB2 editions are there including pureXML (which I use extensively) and (with the Express-C support at $3k per server) full HADR support.
Things which are not in Express-C are -
Oracle compatibility support (ability to run Oracle PL/SQL rather than DB2's standard SQL/PL) : not an issue unless you plan to migrate an existing Oracle application. Note that many of the features underpinning this are available, including such things as associative arrays which you mentioned. Deep Compression : the DB2 compression which I've found can save us up to 70% of the disk space on DB2 ESE. But SMBs don't tend to have the amount of data which would justify the extra cost of the Compression license even if you could buy it (you are talking about many terabytes of storage before it becomes worthwhile at the current price point). All that stops you using this compression is that you can't buy a license for it however. Some of the partitioning capabilities are also not available in Express-C : but again partitioning is something that really is only needed by the highest end customers. In fact at least one type of partitioning (DPF) is not even available with ESE : you have to buy InfoSphere Warehouse (what used to be called DB2 Data Warehousing Edition) to get this these days.
If you want those you'd have to buy DB2 ESE (at a major price premium).
There is one other time when I'd recommend something other than Express-C these days, and that is if you want the ultra-scaleability of pureScale. This is an extra cost option on DB2 ESE, but actually comes included (limited only by the total number of processors you can have in the cluster on WSE).
Anyway, the bottom line is that I would recommend DB2 (and especially Express-C) to almost anyone these days. I think the reason you don't hear more of it is because IBM just doesn't do a good job of marketing it.
HTH
Phil Nelson (teamdba@scotdb.com)
We use DB2 LUW at work (though, I speak only for me, not for work). I like that:
- It's fast, and has neat tools that help you make your queries faster.
- It has facilities for high availability (HADR).
- It has XML support, which may or may not be useful to you (but we don't currently use that at work).
- Its procedural language is easy to use (if rather lacking in features, especially for versions prior to 9.7).
- It has excellent documentation.
(The decision to use DB2 at work was made long before I started there, so I can't comment on work's rationale for choosing it.)
The only thing I would add to Phil Nelson's excellent answer is that DB2 Express-C is currently unique among the no-cost commercial DBMS products in that it does not limit the size of the database. The newest versions of Microsoft's and Oracle's no-cost database engines top out at around 10-11GB of data.
精彩评论