C-Store : un prototype de SGBD orienté colonnes
Remarque : N'utilisez pas ce référentiel comme un véritable SGBD. Il s’agit d’un prototype de recherche pour l’essentiel non entretenu.
C-Store était un prototype de SGBD en colonnes axé sur l'analyse (axé sur la lecture), développé au milieu des années 2000. Apprenez-en davantage sur la page d'accueil (gelée/archivée) du projet. Cela impliquait des chercheurs tels que Daniel Abadi, Samuel Madden, Miguel Ferreira et d'autres (sans compter le propriétaire/mainteneur de ce référentiel !) ; et a donné lieu à plusieurs publications académiques.
Le développement de C-Store en tant que projet/référentiel de logiciels libres s'est terminé en 2006, avec la dernière version (pour ainsi dire) réalisée en octobre 2006 : C-Store 0.2. Le développement s'est poursuivi en tant que produit commercial, Vertica, actuellement détenu par Micro Focus (après sa fusion avec Hewlett-Packard Enterprise Solutions en 2017) - mais bien sûr, on ne peut pas étudier la base de code fermée de Vertica.
La version finale du FOSS du C-Store est disponible en téléchargement gratuit sur le site Web du projet, mais malheureusement, elle souffre de plusieurs problèmes :
- Incompatible avec les (versions plus récentes des) compilateurs modernes (même GCC, qu'il ciblait) - ils ne parviennent pas à le compiler.
- Incompatible avec la bibliothèque standard C++, notamment en ce qui concerne les emplacements des fichiers.
- Incompatible avec les versions plus récentes des bibliothèques de support (par exemple Berkeley DB, compression LZO) et/ou leur emplacement dans les distributions Linux modernes.
- Utilise des Makefile écrits manuellement au lieu de les générer.
- N'essaie pas de détecter l'emplacement des logiciels pertinents sur le système.
- Contient beaucoup de code douteux bien que compilable : ambiguïté, conversion de type dangereuse, etc.
Ces problématiques ont motivé la création de ce référentiel. L'intention est de résoudre - corriger ou contourner - les problèmes ci-dessus, avec des changements minimes et sans altérer la fonctionnalité du C-Store. Un autre objectif possible est d'élargir quelque peu la gamme de systèmes sur lesquels CMake serait construit et exécuté. Il n'est pas prévu d'optimiser davantage le code ou d'introduire de nouvelles fonctionnalités.
Contact et commentaires
Remarque : le propriétaire/mainteneur de ce référentiel n'est pas l'un des auteurs ou chercheurs impliqués à l'origine dans C-Store !
- Avez-vous trouvé un bug dans le code ? Signalez-le via la page des problèmes.
- Avez-vous des questions sur le C-Store en tant que projet , sa conception ou encore les spécificités de sa mise en œuvre ? Demandez à l'un des auteurs originaux. Cependant, le propriétaire/mainteneur du référentiel est impliqué dans la recherche sur l'architecture du magasin de colonnes et peut être intéressé à discuter de votre idée dans d'autres contextes.
- Rencontrez-vous des difficultés à créer C-Store sur
- ... GNU/Linux ? Signalez-le via la page des problèmes.
- ... une autre plateforme ? Pas surprenant : C-Store était uniquement destiné à s'appuyer sur Linux. Cependant, vous pouvez écrire au responsable du référentiel pour essayer d'expliquer pourquoi vous souhaitez que cela fonctionne sur d'autres plates-formes.
- Avez-vous une idée précise sur la façon d' améliorer la conception ou la mise en œuvre du C-Store ?
- Ne vous embêtez pas... le code est essentiellement gelé et est conservé comme ressource pour les chercheurs dans les magasins de colonnes.
- Ne vous embêtez pas ! ... mais pas dans le C-Store lui-même : contactez le responsable du référentiel pour discuter de l'architecture du magasin de colonnes et des collaborations potentielles.