Matomo, anteriormente conocido como Piwik, es una plataforma de análisis web de código abierto que proporciona información detallada sobre el tráfico de tu sitio web y el comportamiento de los visitantes. A diferencia de otras soluciones de análisis, Matomo pone un fuerte énfasis en la privacidad de los usuarios y permite a los propietarios de sitios web mantener el control total sobre sus datos.
Con Matomo, puedes rastrear visitas en tiempo real, analizar el origen del tráfico, evaluar la eficacia de tus campañas de marketing, y entender mejor cómo los usuarios interactúan con tu sitio. Además, Matomo es altamente personalizable y se puede ampliar con plugins para satisfacer necesidades específicas de análisis. Al ser una alternativa respetuosa con la privacidad a otras herramientas de análisis dominantes en el mercado, Matomo es la opción preferida para muchos.
Estructura de la base de dato
En Internet existe una gran cantidad de documentación sobre el uso y la instalación de este servicio, que puede utilizarse en sustitución de Google Analytics para proteger nuestra privacidad de manera más seria. Por esta razón, les dejo a continuación el enlace a la página principal.
Mientras que en este artículo nos centraremos en la estructura de la base de datos y cómo se almacenan las informaciones, un aspecto menos discutido que puede ser útil para aquellos que desean integrar los informes con otras herramientas de análisis BI o paneles de control personalizados.
Matomo almacena dos tipos principales de datos: datos de registro: datos analíticos brutos que recibe en el rastreador y datos de archivo: datos analíticos agregados (construidos a partir de datos de registro) que se almacenan en caché y se utilizan para construir informes. Matomo también almacena otras formas más simples de datos, incluyendo: sitios web, usuarios, objetivos y opciones.
Datos de Registro (Log Data)
- Definición: Los datos de registro consisten en los datos crudos recogidos por Matomo cada vez que un usuario interactúa con tu sitio web o aplicación. Estas interacciones pueden incluir páginas vistas, eventos, conversiones de objetivos, clics en enlaces, etc.
- Detalles: Cada acción realizada por el usuario se registra como una línea distinta en los registros, con información detallada como la hora de la visita, la dirección IP del visitante, el navegador utilizado, la página vista, etc. Otros datos pueden ser agregados por plugins específicos.
- Uso: Los datos de registro se utilizan como fuente de información para el procesamiento y análisis. Representan el conjunto de datos más detallado y granular disponible en Matomo.
Datos de Archivo (Archive Data)
- Definición: Los datos de archivo son el resultado del procesamiento de los datos de registro. Cuando los datos se archivan, Matomo agrega los datos de registro para generar estadísticas resumidas, como el número total de visitas, visualizaciones de página, tasas de rebote, conversiones, etc., para períodos de tiempo específicos (día, semana, mes, año).
- Detalles: Estos datos se almacenan en tablas de archivo separadas y están optimizados para una rápida recuperación, permitiendo a Matomo generar informes de manera eficiente sin tener que volver a examinar el conjunto completo de datos de registro cada vez.
- Uso: Los datos de archivo se utilizan para alimentar la interfaz de usuario, proporcionando a los usuarios acceso inmediato a informes agregados. Este proceso reduce la carga sobre la base de datos y mejora el rendimiento general del sistema de análisis.
Por Qué es Importante la Distinción
La distinción entre datos de registro y datos de archivo es fundamental para entender cómo Matomo maneja el análisis de datos:
- Rendimiento: El archivado reduce la carga sobre la base de datos durante la generación de informes, ya que las consultas se pueden ejecutar en un conjunto de datos mucho más pequeño y optimizado.
- Conservación de datos: Los administradores de Matomo pueden configurar políticas de conservación de datos que afectan cuánto tiempo se conservan los datos de registro antes de ser potencialmente eliminados. Los datos de archivo, al ser agregados, pueden conservarse durante un período más largo con un impacto menor en el tamaño de la base de datos.
- Flexibilidad en la generación de informes: Al tener acceso tanto a los datos crudos como a los agregados, los usuarios pueden realizar análisis detallados sobre acciones específicas de los usuarios (registro) u obtener rápidamente insights a través de informes resumidos (archivo).
En resumen, la gestión separada de datos de registro y datos de archivo permite a Matomo ofrecer un sistema de análisis web flexible y de alto rendimiento, capaz de adaptarse tanto a las necesidades de análisis detallado como a la generación eficiente de informes agregados.
Log data
Entonces, los datos de registro se escriben inmediatamente durante el registro de la visita o del evento, no se utilizarán para las agregaciones y no los veremos en nuestros paneles de análisis, con la única excepción del panel de accesos en tiempo real que toma los datos precisamente de aquí.
Existen cinco tipos de datos de registro:
- visits (table log_visit)
- action types (table log_action)
- plugin specific actions (table log_action y log_link_visit_action)
- conversions (table log_conversion)
- ecommerce items (table log_conversion_item)
Los datos de registro se almacenan de manera similar: nuevos datos se añaden al conjunto a un volumen alto y las actualizaciones no existen, excepto para las visitas que se actualizan mientras las visitas están activas. Así que hasta que una visita termina, es posible que Matomo intente actualizarla.
Los datos de registro se leen al calcular los datos analíticos y a veces los datos antiguos serán eliminados (a través de la función de depuración de datos). Los backends deben asegurar que la inserción de nuevos datos de registro sea lo más rápida posible y que la agregación de datos de registro no sea demasiado lenta (aunque obviamente, más rápido es mejor).
Archive data
Los datos de archivo consisten en métricas e informes. Las métricas son valores numéricos y se almacenan como tales. Los informes se almacenan en instancias de DataTable y se persisten como cadenas binarias comprimidas. (https://developer.matomo.org/guides/datatable)
Los datos de archivo están asociados con el ID del sitio web, el período y el segmento para el cual son, junto con el nombre identificativo de los datos. Todos los datos de archivo serán consultados muchas veces por esta información. Actualmente, el segmento se cifra y se adjunta al final del nombre de la métrica. Los datos de archivo también se persisten con la fecha y hora actuales, por lo que es posible saber cuán antiguos son algunos datos. (https://developer.matomo.org/guides/archive-data)
Detalles de las tablas
Los datos de archivo se almacenan en tablas particionadas por meses, y las tablas que faltan se crean automáticamente. Los informes que agregan visitas de enero de 2024 se mantendrán en una tabla diferente de los informes que agregan visitas de febrero de 2024.
Matomo crea dos tipos de tablas, una para cada tipo de dato de archivo. Las tablas archive_numeric almacenan datos métricos y archive_blob almacenan informes. Las tablas tienen un sufijo con el año y el mes: la tabla archive_numeric para enero de 2024 se nombraría archive_numeric_2014_01.
archive_numeric
- el índice index_idsite_dates_period se utiliza al consultar datos de archivo. Esto permite a Matomo consultar rápidamente datos de archivo para cualquier sitio y período, y para datos que fueron archivados después de una cierta fecha y hora.
- el índice index_period_archived se utiliza al purgar datos de archivo. Esto permite a Matomo encontrar rápidamente datos de archivo para un período específico que es suficientemente antiguo como para ser purgado.
archive_blob
- el índice index_period_archived se utiliza de la misma manera que en las tablas archive_numeric.
- las tablas archive_blob no tienen un índice que las haga rápidas para consultar filas por sitio, período y fecha archivada. Esto se debe a que no se deben consultar de esta manera. En su lugar, se debe consultar la tabla archive_numeric y guardar los valores de idarchive.
Esto significa que, para entender cómo Matomo maneja y almacena datos de archivo, es crucial comprender la estructura de estas tablas y cómo se utilizan para almacenar y acceder a los datos de manera eficiente. Las tablas particionadas mensualmente facilitan la organización y el acceso a los datos históricos, permitiendo a Matomo manejar grandes volúmenes de datos de manera eficaz.
Consideraciones generales
Matomo es un software expansible con decenas de plugins, muchos gratuitos y otros de pago mediante una cuota anual. Esta particularidad hace que las tablas base puedan ser integradas con cientos de nuevos datos en comparación con la versión base. Por lo tanto, cualquier plugin que instalen, si desean acceder a los datos directamente, lean la documentación del propio plugin.
Este es un ejemplo de nombres de tablas que encontrarán en su base de datos una vez instalado Matomo, el prefijo Matomo puede ser personalizado de manera que los nombres de las tablas comiencen con un sufijo personalizado que también ayuda con los problemas de seguridad.
matomo_access | matomo_option |
matomo_archive_blob | matomo_plugin_setting |
matomo_brute_force_log | matomo_privacy_logdata_anonymizations |
matomo_changes | matomo_report |
matomo_custom_dimensions | matomo_report_subscriptions |
matomo_goal | matomo_segment |
matomo_locks | matomo_sequence |
matomo_log_action | matomo_session |
matomo_log_conversion | matomo_site |
matomo_log_conversion_item | matomo_site_setting |
matomo_log_link_visit_action | matomo_site_url |
matomo_log_profiling | matomo_tracking_failure |
matomo_log_visit | matomo_twofactor_recovery_code |
matomo_logger_message | matomo_user |
matomo_user_dashboard | matomo_user_language |
Learn more
- To learn how log data is aggregated see our Archiving guide and LogAggregator class.
- To learn how archive data is cached see our Archive Data guide.
- To learn about Matomo's logging Getting started extending Matomo guide.
- To learn about database backed sessions read this FAQ entry.
- To learn how plugins can persist data read the Extending the Database guide.