[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]
Martijn Grooten wrote: > > does anyone have any suggestions for books to read to understand how > databases really work? I don't mean books that explain various MySQL > or Oracle commands, but really books that explain the way databases > (and things such as searches and indexes) really work. I have a > background in maths, so it is not a problem if it is slightly > theoretical. Isn't that what the source code is for ;) I'm half serious. >>From my limited reading before the methods different relational databases use to achieve the same result can vary quite markedly. There is the usual slow convergence on the best discovered so-far techniques over time. Sorting and indexing algorithms are well covered in things like TAOCP. Things like deciding on query plans tends to be something that varies a lot, as it is interesting topic of research, and potentially lucrative. Postgres for example has seen quite a lot of practical changes from 7.34 into version 8. But ultimately it is very empirical approach, Postgres uses a bucketing system, gathers statistics to allow it to estimate likely costs of actions, and then uses a genetic algorithm to find an efficient plan. http://www.postgresql.org/docs/8.3/static/geqo-intro.html Since there is competitive advantage in such areas, I suspect that there are a number of proprietary secrets. Although when I used Oracle you had quite a number of parameters to tweak, so you had a pretty good idea what kind of process the query planner was using. Not least I once had to limit the number of permutations of indexes, to avoid Oracle spending longer finding a good plan for queries, than it would take to execute a really mediocre plan for the same queries. What's the reason for your interest? As current relational databases are kind of the boring end of database research. Bit like 4 stroke internal combustion engine, a lot of research exists on optimising the smallest detail, but there are lots of other interesting engines that get hardly any attention. -- The Mailing List for the Devon & Cornwall LUG http://mailman.dclug.org.uk/listinfo/list FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html