Název:
C-store: úložiště relačních dat po sloupcích
Překlad názvu:
C-store: storing relational data by columns
Autoři:
Částek, Petr ; Žemlička, Michal (oponent) ; Pokorný, Jaroslav (vedoucí práce) Typ dokumentu: Diplomové práce
Rok:
2009
Jazyk:
cze
Abstrakt: [cze][eng] Nestandardní přístup k implementaci relačních databázi - práce implementuje databázový systém ukládající data po sloupcích místo po řádcích. Vychází z návrhu systému C Store. Omezuje se však pouze na základní řešení problematiky. Řešeny jsou dvě oblasti: počáteční vytvoření včetně naplnění statické databáze převodem dat z jiného zdroje a dotazování. Databáze neukládá data do tabulek, ale tzv. projekcí - skupin několika stejně dlouhých sloupců. Nad takovou databází je následně možné vyhodnocovat dotazy rychleji, než u databází ukládajících data po řádcích, protože databázový stroj nemusí číst nerelevantní sloupce. Dotazování je umožněno předložením exekučního plánu sestávajícího z operátorů systému C Store. Operátory pracují se sloupci nebo celými projekcemi. Skládání těchto operátorů nahradí formulaci dotazů v notaci SQL - teď pro jednoduchost, do budoucna jako plánovač vyhodnocování dotazů. Práce formuluje pravidla chování různých operátorů. Tyto operátory také implementuje. Okrajově se mluví o optimalizaci exekučního plánu. K optimalizaci patří i rozšíření systému C Store o přímý přístup k položkám. Praktickým výstupem je knihovna poskytující programátorovi rozhraní pro práci s databází.Non standard approach to the implementation of relational databases this work implements a database system storing the data by columns instead of rows. It is based on the C Store system design and is limited only to the fundamental solution issues. Two areas are being solved: the initial creation of the database, including import of static database data from another source, and querying. The database does not store the data in tables but in projections groups of columns of the same length. By using this database layout it is possible to evaluate queries faster than with database storing by rows as the database engine does not have to read irrelevant columns. Querying is allowed by providing an execution plan consisting of the C Store query operators that work with columns or projections. Composition of these operators can replace queries in SQL notation. This work sets the rules of behavior of various operators, implements these operators and also mentions the optimization of the execution plan. The optimization also includes a C Store system extension providing direct access to data items, which in some cases radically reduce the amount of IO operations. The practical output of the work is a library that provides a programming interface for database access and manipulation.