C-Store: un prototipo de DBMS orientado a columnas
Nota: No utilice este repositorio como un DBMS real. Es un prototipo de investigación que prácticamente no se mantiene.
C-Store fue un prototipo de un DBMS en columnas, centrado en el análisis (enfocado en la lectura), desarrollado a mediados de la década de 2000. Lea más sobre esto en la página de inicio (congelada/archivada) del proyecto. Involucró a investigadores como Daniel Abadi, Samuel Madden, Miguel Ferreira y otros (¡sin incluir al propietario/mantenedor de este repositorio!); y dio lugar a varias publicaciones académicas.
El desarrollo de C-Store como proyecto/repositorio de software libre terminó en 2006, con la última versión (por así decirlo) realizada en octubre de 2006: C-Store 0.2. El desarrollo continuó como un producto comercial, Vertica, actualmente propiedad de Micro Focus (después de su fusión con Hewlett-Packard Enterprise Solutions en 2017), pero, por supuesto, no se puede estudiar la base de código cerrada de Vertica.
La versión final de FOSS de C-Store está disponible para su descarga gratuita en el sitio web del proyecto, pero desafortunadamente sufre varios problemas:
- Incompatible con (versiones más nuevas de) compiladores modernos (incluso GCC, al que apuntaba): no pueden compilarlo.
- Incompatible con la biblioteca estándar de C++, especialmente con respecto a la ubicación de los archivos.
- Incompatible con versiones más recientes de bibliotecas de soporte (por ejemplo, Berkeley DB, compresión LZO) y/o su ubicación en distribuciones modernas de Linux.
- Utiliza Makefile escritos manualmente en lugar de generarlos.
- No intenta detectar la ubicación del software relevante en el sistema.
- Tiene una gran cantidad de código cuestionable aunque compilable: ambigüedad, conversión de tipos inseguros, etc.
Estas cuestiones motivaron la creación de este repositorio. La intención es abordar (arreglar o eludir) los problemas anteriores, con cambios mínimos y sin alterar la funcionalidad de C-Store. Otro posible objetivo es ampliar un poco la gama de sistemas en los que CMake se construiría y ejecutaría. No hay intención de optimizar aún más el código ni de introducir ninguna funcionalidad nueva.
Contacto y comentarios
Nota: ¡El propietario/mantenedor de este repositorio no es uno de los autores o investigadores involucrados originalmente con C-Store!
- ¿Has encontrado un error en el código? Infórmalo a través de la página de problemas.
- ¿Tiene preguntas sobre C-Store como proyecto , su diseño o incluso detalles específicos de su implementación? Pregúntale a uno de los autores originales. Sin embargo, el propietario/mantenedor del repositorio está involucrado en la investigación de la arquitectura del almacén de columnas y puede estar interesado en discutir su idea en otros contextos.
- ¿Tiene problemas para crear C-Store en
- ...¿GNU/Linux? Infórmalo a través de la página de problemas.
- ... ¿alguna otra plataforma? No es sorprendente: C-Store solo estaba destinado a funcionar con Linux. Sin embargo, puede escribirle al responsable del repositorio para intentar explicarle por qué quiere que esto funcione en otras plataformas.
- ¿Tiene una idea específica sobre cómo mejorar el diseño o la implementación de C-Store ?
- No se moleste... el código está esencialmente congelado y se mantiene como recurso para los investigadores en los almacenes de columnas.
- ¡moléstese! ... pero no en C-Store: comuníquese con el mantenedor del repositorio para conversar sobre la arquitectura del almacén de columnas y posibles colaboraciones.