D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] Books on databases

 

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