You are wrong if you think that TPC benchmarks are performed by an "industry standard" organization. The TPC benchmarks are created by an industry standard organization. They are actually implemented by teams of engineers who work for all the companies involved - say if Sun+IBM were to publish a DB2 UDB benchmark on a Sun Solaris box, then the IBM and Sun techs will probably collaborate in building the benchmark. Subsequently independent auditors will evaluate the benchmark to make sure everything is kosher and then it can be published.
Benchmarks are useful because they really stress the products in customer-like situations. They help to eliminate many defects. Of course, they might not test a specific customer's requirement. Still they are one point of comparison.
I don't see how not having RI support makes MySQL fast.
Yes, RI comes at a price, but only when you actually use it. Whether you can afford the cost of RI depends on your particular application.
Not having true transaction support does make MySQL fast for _simple_ web applications.
All said and done though, it's not just the simple queries that people do. Frequently customers end up doing complicated stuff. Building a compiler and optimizer for producing a good access plan for arbitrary queries isn't really just a matter of coding. There has been two decades of active computer science research that's gone into it !! On top of that, you have to build the infrastructure into your code for being able to have the right features. And this is not even saying anything about fancy features like federated technology.
Disclaimer: my salary is paid by a company that vends a commercial RDBMS - I'm obviously biased.
The challenge is how to support multiple version of LInux? Take a look at the sucess of Oracle.
It's not so difficult. We've been supporting DB2 on multiple distros for awhile now. One of our docs folks also wrote a great HOWTO.
IBM is the largest employer of Java(surprse, not SUN). Though I don't see DB2 is in any way buy on Java like Oracle does, but I've no doubt
in the futher IBM will migrate more of their products with Java.
I don't know on what basis you make this assertion. We (IBM DB2) had support for Java SPs and UDFs _long_ before Oracle. Most of our tools are all written in Java. This means that I can run the Control Center and look at (for instance) the visual explain of plans with exactly the same interface whether I'm on Win32 or AIX or Linux.
As somebody else said, the real story is that we IBM will be supporting DB2 and Websphere on Linux on the S/390. Now that's huge..
This is in fact the basis for my common interview question. There are many issues here: how do you know that the caller and callee use the same memory manager library (malloc/free) ? In the product I work on we have our own allocators that work on multiple different pools. Designing a good solution for this problem is not easy !
Our TPC benchmark involves a _single_ instance of DB2 running on a partitioned MPP system (shared-nothing). You only tune a _single_ DB2 - our configuration isn't like Microsoft's SQL Server where you have a bunch of different database server instances each of which have to be separately tuned. Our optimizer has deep knowledge of all the various nodes of the environment.
Well first my bias upfront: I work on IBM's DB2 engine. So clearly I am biased:-)
Second, IBM, AFAIK has no such restrictive licensing terms. Oracle on the other hand does indeed prevent anybody from publishing information such as this. We at IBM have run into it ourselves.
Third, I can actually sympathise with Oracle's position. DBs have to be tuned to get 'em to do well. How do we know that the third party tuned the DB correctly ? Of course, building self-managing and self-tuning database systems is a separate challenge.
Fourth, IBM's DB2 is currently the leader on the TPC-C benchmark - published and audited. If GreatBridge is really serious why don't they get their results audited and published by the TPC ?
Fifth, good luck to Postgres ! Competition is always great, and may the best DB win:-)
Sixth, there really isn't any simple answer to "what is the best DB" ? It depends on particular business requirements.
i agree but IBM shoots itself in the foot a *lot* of times with regards to Java. Heck, IBMs DB/2 database doesnt even include a type 4 JDBC driver...anyone at IBM wanna tell me why ? The only JDBC driver (type 4) is for AS/400s.
Fair question. Since I work for IBM and on the DB2 engine I'll bite.. well actually that means that I'll respond but I can't really give you a full technical explanation.
We would very much like to support a type-4 JDBC driver (for even more reasons than you might expect). There are reasons why it hasn't happened yet - mostly because of staging and technical issues. X and Y has to happen before Z can happen. Perhaps Y is changing drastically and so it makes sense for Y to be complete before doing Z. It's an unfortunate situation to be in, but sometimes it happens.
I cannot officially commit as to when a type-4 driver will be available apart from saying "in a future release". This is because IBM has a very conservative policy of delivering exactly to its commitments. When is the last time you read about IBM commiting to something and slipping a deadline ?
BTW, it's "DB2" and not "DB/2".. people saying the latter pisses the hell out of folks here:-)
Do they make you wear the stiff white shirt of a specific color of computer lore, or are they like lots and lots of tech companies, that recognize being productive means being comfortable (ie, wearing what you like and working how you like?)
Not that this is not intended as a troll...I'm generally interested. I'll be graduating with a BS in CS in 2 years, and I'm trying to get a head start on job prospecting. As such, I don't want to work for a place that imposes arbitrary rules on work habits and the like.
Not at all !!! I work for IBM in the Santa Teresa and Almaden Labs (divvy my time) in San Jose. Today I'm dressed in a UserFriendly.Org "Evil Genius in Training" t-shirt, shorts and sandals. As long as you're not naked, nobody gives a damn. Nobody gives a damn what time I come in or go either. My manager doesn't even give a damn if I want to take more vacation than I'm "offically entitled to".
The values that are strong in my organization are simple - technical achievement, period. Code talks ! Heck, every time I visit my second-line manager (boss' boss) he is hacking away on his debugger:-)
I strongly recommend IBM for anybody looking for interesting, fun systems work. Feel free to send me your resume especially if you'd like to work on the internals of a database engine.
Speaking as a database person there is plenty of interesting systems level database research. One topic people work on is main-memory databases where an entire table or index is in memory.
Another big challenge is to design cache-conscious index and table managers. There is interesting stuff to do.. you just have to search a bit more:-)
Re:It's not too OLD to code, but rather too YOUNG.
on
Too Old To Code?
·
· Score: 1
But coding isn't everything ! It's just one piece of my job. I spend time writing specs, doing design, reviewing other people's design, coding, testing etc. Other activities include dealing with customers, leading my team, training the newbies. Raw coding ability certainly helps. However, I'd rather take somebody who spends time doing great design and pounds out okay code, over a talented coder who isn't interested in the big picture (the product I work on is ~5M LOC). In my experience, the more you are ready to take ownership and responsibility, the more you progress in your career. In my company, we never ask people any programming problems. Instead we describe the work we do, the technology we shipped, and the problems we are working on. Then we wait for the candidate to ask questions. The people we choose are those who get excited and ask the right questions. If they are smart enough to do that, they are smart enough to code for me.
This really is one of the goals of the Linux Technology Center at IBM. It was founded about mid 1999, and intends to do the same thing for Linux that the Java Technology Center does for Java.
I think it's great that we are seeing this kind of stuff so soon.
Benchmarks are useful because they really stress the products in customer-like situations. They help to eliminate many defects. Of course, they might not test a specific customer's requirement. Still they are one point of comparison.
Yes, RI comes at a price, but only when you actually use it. Whether you can afford the cost of RI depends on your particular application.
Not having true transaction support does make MySQL fast for _simple_ web applications.
All said and done though, it's not just the simple queries that people do. Frequently customers end up doing complicated stuff. Building a compiler and optimizer for producing a good access plan for arbitrary queries isn't really just a matter of coding. There has been two decades of active computer science research that's gone into it !! On top of that, you have to build the infrastructure into your code for being able to have the right features. And this is not even saying anything about fancy features like federated technology.
Disclaimer: my salary is paid by a company that vends a commercial RDBMS - I'm obviously biased.
It's not so difficult. We've been supporting DB2 on multiple distros for awhile now. One of our docs folks also wrote a great HOWTO.
IBM is the largest employer of Java(surprse, not SUN). Though I don't see DB2 is in any way buy on Java like Oracle does, but I've no doubt in the futher IBM will migrate more of their products with Java.I don't know on what basis you make this assertion. We (IBM DB2) had support for Java SPs and UDFs _long_ before Oracle. Most of our tools are all written in Java. This means that I can run the Control Center and look at (for instance) the visual explain of plans with exactly the same interface whether I'm on Win32 or AIX or Linux.
As somebody else said, the real story is that we IBM will be supporting DB2 and Websphere on Linux on the S/390. Now that's huge ..
Not really so simple ..
This is in fact the basis for my common interview question. There are many issues here: how do you know that the caller and callee use the same memory manager library (malloc/free) ? In the product I work on we have our own allocators that work on multiple different pools. Designing a good solution for this problem is not easy !
Our TPC benchmark involves a _single_ instance of DB2 running on a partitioned MPP system (shared-nothing). You only tune a _single_ DB2 - our configuration isn't like Microsoft's SQL Server where you have a bunch of different database server instances each of which have to be separately tuned. Our optimizer has deep knowledge of all the various nodes of the environment.
Second, IBM, AFAIK has no such restrictive licensing terms. Oracle on the other hand does indeed prevent anybody from publishing information such as this. We at IBM have run into it ourselves.
Third, I can actually sympathise with Oracle's position. DBs have to be tuned to get 'em to do well. How do we know that the third party tuned the DB correctly ? Of course, building self-managing and self-tuning database systems is a separate challenge.
Fourth, IBM's DB2 is currently the leader on the TPC-C benchmark - published and audited. If GreatBridge is really serious why don't they get their results audited and published by the TPC ?
Fifth, good luck to Postgres ! Competition is always great, and may the best DB win :-)
Sixth, there really isn't any simple answer to "what is the best DB" ? It depends on particular business requirements.
Seventh, I speak for myself and not for IBM.
It's a fun place to work. It really is. Send us your resume if you want to join in.
Fair question. Since I work for IBM and on the DB2 engine I'll bite .. well actually that means that I'll respond but I can't really give you a full technical explanation.
We would very much like to support a type-4 JDBC driver (for even more reasons than you might expect). There are reasons why it hasn't happened yet - mostly because of staging and technical issues. X and Y has to happen before Z can happen. Perhaps Y is changing drastically and so it makes sense for Y to be complete before doing Z. It's an unfortunate situation to be in, but sometimes it happens.
I cannot officially commit as to when a type-4 driver will be available apart from saying "in a future release". This is because IBM has a very conservative policy of delivering exactly to its commitments. When is the last time you read about IBM commiting to something and slipping a deadline ?
BTW, it's "DB2" and not "DB/2" .. people saying the latter pisses the hell out of folks here :-)
Not that this is not intended as a troll...I'm generally interested. I'll be graduating with a BS in CS in 2 years, and I'm trying to get a head start on job prospecting. As such, I don't want to work for a place that imposes arbitrary rules on work habits and the like.
Not at all !!! I work for IBM in the Santa Teresa and Almaden Labs (divvy my time) in San Jose. Today I'm dressed in a UserFriendly.Org "Evil Genius in Training" t-shirt, shorts and sandals. As long as you're not naked, nobody gives a damn. Nobody gives a damn what time I come in or go either. My manager doesn't even give a damn if I want to take more vacation than I'm "offically entitled to".
The values that are strong in my organization are simple - technical achievement, period. Code talks ! Heck, every time I visit my second-line manager (boss' boss) he is hacking away on his debugger :-)
I strongly recommend IBM for anybody looking for interesting, fun systems work. Feel free to send me your resume especially if you'd like to work on the internals of a database engine.
Speaking as a database person there is plenty of interesting systems level database research. One topic people work on is main-memory databases where an entire table or index is in memory.
.. you just have to search a bit more :-)
Another big challenge is to design cache-conscious index and table managers. There is interesting stuff to do
But coding isn't everything ! It's just one piece of my job. I spend time writing specs, doing design, reviewing other people's design, coding, testing etc. Other activities include dealing with customers, leading my team, training the newbies. Raw coding ability certainly helps. However, I'd rather take somebody who spends time doing great design and pounds out okay code, over a talented coder who isn't interested in the big picture (the product I work on is ~5M LOC). In my experience, the more you are ready to take ownership and responsibility, the more you progress in your career. In my company, we never ask people any programming problems. Instead we describe the work we do, the technology we shipped, and the problems we are working on. Then we wait for the candidate to ask questions. The people we choose are those who get excited and ask the right questions. If they are smart enough to do that, they are smart enough to code for me.
I think it's great that we are seeing this kind of stuff so soon.
There's no reason why CMVC shouldn't exist on Linux. I believe there's already a CMVC client on Linux although I haven't tried it yet.