C-Store: Ein spaltenorientierter DBMS-Prototyp
Hinweis: Verwenden Sie dieses Repository nicht als tatsächliches DBMS. Es handelt sich um einen größtenteils nicht gewarteten Forschungsprototyp.
C-Store war ein Prototyp für ein säulenförmiges, analyseorientiertes (leseorientiertes) DBMS, das Mitte der 2000er Jahre entwickelt wurde. Lesen Sie mehr darüber auf der (eingefrorenen/archivierten) Homepage des Projekts. Daran waren Forscher wie Daniel Abadi, Samuel Madden, Miguel Ferreira und andere beteiligt (ohne den Besitzer/Betreuer dieses Repositorys!); und führte zu mehreren wissenschaftlichen Veröffentlichungen.
Die Entwicklung von C-Store als Projekt/Repository für freie Software endete 2006, wobei die (sozusagen) letzte Veröffentlichung im Oktober 2006 erschien: C-Store 0.2. Die Entwicklung wurde zwar als kommerzielles Produkt, Vertica, fortgesetzt, das sich derzeit im Besitz von Micro Focus befindet (nach der Fusion mit Hewlett-Packard Enterprise Solutions im Jahr 2017) – aber natürlich kann man die geschlossene Codebasis von Vertica nicht studieren.
Die endgültige FOSS-Version von C-Store steht zum kostenlosen Download auf der Projektwebsite zur Verfügung, weist jedoch leider mehrere Probleme auf:
- Inkompatibel mit (neueren Versionen) moderner Compiler (sogar GCC, auf das es abzielte) – sie können es nicht kompilieren.
- Inkompatibel mit der C++-Standardbibliothek, insbesondere im Hinblick auf Dateispeicherorte.
- Inkompatibel mit neueren Versionen unterstützender Bibliotheken (z. B. Berkeley DB, LZO-Komprimierung) und/oder deren Speicherort in modernen Linux-Distributionen.
- Verwendet manuell geschriebene Makefiles, anstatt sie zu generieren.
- Versucht nicht, den Standort relevanter Software auf dem System zu ermitteln.
- Enthält viel fragwürdigen, aber kompilierbaren Code: Mehrdeutigkeit, unsichere Typkonvertierung und so weiter.
Diese Probleme motivierten die Erstellung dieses Repositorys. Ziel ist es, die oben genannten Probleme mit minimalen Änderungen und ohne Änderung der C-Store-Funktionalität anzugehen – zu beheben oder zu umgehen. Ein weiteres mögliches Ziel besteht darin, die Palette der Systeme, auf denen CMake aufbaut und läuft, etwas zu erweitern. Es besteht keine Absicht , den Code weiter zu optimieren oder neue Funktionalitäten einzuführen.
Kontakt und Feedback
Hinweis: Der Eigentümer/Betreuer dieses Repositorys ist nicht einer der Autoren oder Forscher, die ursprünglich an C-Store beteiligt waren!
- Haben Sie einen Fehler im Code gefunden? Melden Sie es über die Problemseite.
- Haben Sie Fragen zum C-Store als Projekt , seinem Design oder auch zu konkreten Umsetzungsdetails? Fragen Sie einen der Originalautoren. Der Repository-Besitzer/Betreuer ist jedoch an der Forschung zur Column-Store-Architektur beteiligt und könnte daran interessiert sein, Ihre Idee in anderen Kontexten zu diskutieren.
- Haben Sie Probleme beim Aufbau von C-Store?
- ... GNU/Linux? Melden Sie es über die Problemseite.
- ... irgendeine andere Plattform? Kein Wunder – C-Store war nur für den Aufbau auf Linux gedacht. Sie können jedoch dem Repository-Betreuer schreiben, um zu erklären, warum dies auf anderen Plattformen funktionieren soll.
- Haben Sie eine konkrete Idee, wie Sie das Design oder die Implementierung von C-Store verbessern können ?
- Machen Sie sich keine Sorgen ... der Code ist im Wesentlichen eingefroren und wird als Ressource für Forscher in Spaltenspeichern verwaltet.
- Machen Sie sich die Mühe! ... aber nicht im C-Store selbst: Kontaktieren Sie den Repository-Betreuer, um über die Column-Store-Architektur und mögliche Kooperationen zu sprechen.