X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=schema.sql;h=a0556c56be260e7faca57693824374eff4969347;hb=4a312a9c567e5acae9f58587287795e0f7b0cd6c;hp=114670c76da37d0ffc04ebdb7026e50340d2fdf4;hpb=ed5a047c1b8a8f5c43b0192e8e774b91497c9706;p=cumulus.git diff --git a/schema.sql b/schema.sql index 114670c..a0556c5 100644 --- a/schema.sql +++ b/schema.sql @@ -3,12 +3,39 @@ -- -- The index is stored in an SQLite3 database. This is its schema. --- Index of all blocks which have been stored in one snapshot, by checksum. +-- List of snapshots which have been created. +create table snapshots ( + snapshotid integer primary key, + name text not null, + scheme text, + timestamp real +); + +-- List of segments which have been created. +create table segments ( + segmentid integer primary key, + segment text unique not null, + path text, + checksum text, + size integer +); + +-- Index of all blocks which have been stored, by checksum. create table block_index ( blockid integer primary key, - segment text, - object text, + segmentid integer not null, + object text not null, checksum text, - size integer + size integer, + timestamp real, + expired integer ); create index block_content_index on block_index(checksum); +create unique index block_name_index on block_index(segmentid, object); + +-- Summary of segment utilization for each snapshots. +create table segments_used ( + snapshotid integer not null, + segmentid integer not null, + utilization real +);