C-Store: um protótipo de DBMS orientado a colunas
Nota: Não use este repositório como um DBMS real. É um protótipo de pesquisa quase sem manutenção.
C-Store foi um protótipo de um SGBD colunar, focado em análise (focado na leitura), desenvolvido em meados dos anos 2000. Leia mais sobre isso na página inicial do projeto (congelado/arquivado). Envolveu investigadores como Daniel Abadi, Samuel Madden, Miguel Ferreira e outros (sem incluir o proprietário/mantenedor deste repositório!); e resultou em diversas publicações acadêmicas.
O desenvolvimento da C-Store como um projeto/repositório de software livre terminou em 2006, com o último lançamento (por assim dizer) feito em outubro de 2006: C-Store 0.2. O desenvolvimento continuou como um produto comercial, Vertica, atualmente propriedade da Micro Focus (após sua fusão com a Hewlett-Packard Enterprise Solutions em 2017) - mas é claro, não se pode estudar a base de código fechada do Vertica.
A versão FOSS final do C-Store está disponível para download gratuito no site do projeto, mas infelizmente - ela sofre de vários problemas:
- Incompatível com (versões mais recentes de) compiladores modernos (até mesmo o GCC, que é direcionado) - eles falham ao compilá-lo.
- Incompatível com a biblioteca padrão C++, especialmente no que diz respeito à localização dos arquivos.
- Incompatível com versões mais recentes de bibliotecas de suporte (por exemplo, Berkeley DB, compressão LZO) e/ou sua localização em distribuições Linux modernas.
- Usa Makefiles escritos manualmente em vez de gerá-los.
- Não tenta detectar a localização de software relevante no sistema.
- Tem muito código questionável, embora compilável: ambiguidade, conversão de tipo insegura e assim por diante.
Essas questões motivaram a criação deste repositório. A intenção é resolver – corrigir ou contornar – os problemas acima, com alterações mínimas e sem alterar a funcionalidade do C-Store. Outro objetivo possível é expandir um pouco a gama de sistemas nos quais o CMake seria construído e executado. Não há intenção de otimizar ainda mais o código ou introduzir qualquer nova funcionalidade.
Contato e feedback
Nota: O proprietário/mantenedor deste repositório não é um dos autores ou pesquisadores envolvidos originalmente com o C-Store!
- Você encontrou um bug no código? Relate isso através da página de problemas.
- Você tem dúvidas sobre o C-Store como projeto , seu design ou até mesmo detalhes de implementação? Pergunte a um dos autores originais. No entanto, o proprietário/mantenedor do repositório está envolvido na pesquisa de arquitetura de armazenamento de colunas e pode estar interessado em discutir sua ideia em outros contextos.
- Você está tendo problemas para construir uma C-Store em
- ...GNU/Linux? Relate isso através da página de problemas.
- ... alguma outra plataforma? Não é de surpreender - a C-Store foi projetada apenas para ser desenvolvida em Linux. No entanto, você pode escrever ao mantenedor do repositório para tentar explicar por que deseja fazer isso funcionar em outras plataformas.
- Você tem uma ideia específica sobre como melhorar o design ou implementação da C-Store ?
- Não se preocupe... o código está essencialmente congelado e é mantido como um recurso para pesquisadores em armazenamentos de colunas.
- Incomode-se! ... mas não na própria C-Store: entre em contato com o mantenedor do repositório para conversar sobre a arquitetura do armazenamento de colunas e possíveis colaborações.