Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Help with understanding chess game database structures

Author: Shane Hudson

Date: 16:10:45 01/18/01

Go up one level in this thread


On January 17, 2001 at 20:45:46, Wayde Beasley wrote:

>Can someone here explain in general terms the strategies and approaches that
>have been taken to store massive databases of chess games.  How are the indexes
>created?  Is there a good information resource on this topic hidden on the net
>somewhere?
>

Well if you are interested in file formats of commercial databases, the
chess formats website at http://homes.dsl.nl/~rudolf/ is useful. A lot
is known about the old chessbase (.cbi/.cbf) format (which is terribly
slow by the way, it is amazing anyone ever created a format that stupid)
but relatively little about the newer Chessbase or Chess Assistant formats.

I have written a free chess database app (Scid) with source code available,
that stores games in a 3-file format, with a fixed-length 41-byte index record
for each game, plus a variable-length game record (which is around one
byte per move, so the average record for an unannotated game of 40 moves per
side is around 85 bytes). There is a real trade-off between speed and space,
depending on what type of chess searches you want to do: exact positions only,
material configurations, or patterns like an IQP? In my program, there is
redundant data in the 41-byte index record for each game that helps to
eliminate games without needing to decode any of their moves. Email me if
you'd like more details of what I implemented for Scid.

Cheers,
Shane Hudson



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.