Today I arrived at this page when I was checking out information about the MySql Falcon engine:
Below is the part I found amusing:
Falcon is NOT
Jim (Starkey) ‘s been at this for a long time, there have been some changes since he wrote his first database at DEC:
- Uni-processors to multi-core
- CPU performance from 1.7 to 42000 MPS
- Address space from 32-bit to 64-bit
- Memory speed from 1 micro to 7 nanoseconds
- Memory from 2mb to 4GB
- Disk access has gone from 20 ms to 7 ms
- back then 100 users was big, now 100,000 users is a small application
- RDMSs moved from decision support -> OLTP -> Data mining -> Web
- DBAs are smarter and they are harder to find
- Application programmers skill levels are down, using higher-level languages
- Expert design means appearance, not architecture
- Applications have much larger databases, more queries per human interaction, fewer rows per results set, latency is more critical, blobs are much larger (more important), and search without context.
What Jim has learned
- CPUs and memory are faster
- Disks are still slow
- MVCC (which was invented by Jim) works
- Record versions on disk are problematic
- Web applications are better and are the future (the attention span is low so you have to make good ones and are forced to constantly be making them better)
- People have more important things to do than tune databases – these days machines are powerful enough to be able to tune themselves, people shouldn’t have to serve databases, it’s the other way around.
Falcon is designed for the next 20 years….
Comment on the highlighted line: This is hilarious but sadly quite true. When a client say “Impress me!”, showing a demo with a sleek and well-cosmeticized UI does not always guarantee to be in, but if the UI is not apealing to eyes, I’m quite guaranteed to be out. At the other hand, a well-designed architecture enables professional look, or makes creating professional look a lot easier. Given the same hardware, Windows XP is not able to run a fancy UI like Linux + Compiz fusion can (I doubt about whether Windows Vista is able to run a clone of Compiz fusion). That’s architectural failure.
Comment on the “Application programmers skill levels are down, using higher-level languages”: It really depends on the application domain. If a banking application programmer, who writes fabulous algorithms in her/his niche DSL, is not fluent on assembly language or C/C++/Java/whatever-assembly-like-languages here , I don’t feel comfortable to think that she/he’s unskilled. But for an operating system hacker, not mastering C/C++ is not tolerable.