Skip to content

[Task] docs: Create storage backend implementation guide #457

Description

@kcenon

Summary

Document the storage backend system including all 8 supported backends, selection criteria, data retention policies, and custom backend implementation guide.

Parent Issue

Part of: [EPIC] docs: Address documentation gaps across all ecosystem systems (kcenon/common_system#325)

Background (Why)

monitoring_system supports 8 storage backends (Memory, File, SQLite, PostgreSQL, MySQL, S3, GCS, Azure) via storage/storage_backends.h, but there is no documentation explaining when to use each backend, how to configure them, or how to implement custom backends.

Source files:

  • include/kcenon/monitoring/storage/storage_backends.h — All backend implementations

Scope (What)

Create docs/guides/STORAGE_BACKENDS.md covering:

1. Storage Architecture

  • Backend abstraction interface
  • Data model (metrics, traces, alerts)
  • Read/write patterns
  • Retention and cleanup

2. Backend Comparison

Backend Persistence Query Speed Scalability Use Case
Memory No Fastest Limited Development, short-term
File Yes Fast Single node Simple deployments
SQLite Yes Good Single node Embedded monitoring
PostgreSQL Yes Good Horizontal Production, analytics
MySQL Yes Good Horizontal Production
S3 Yes Slow Unlimited Long-term archival
GCS Yes Slow Unlimited GCP environments
Azure Blob Yes Slow Unlimited Azure environments

3. Configuration per Backend

  • Connection strings and authentication
  • Buffer sizes and flush intervals
  • Retention policies
  • Cleanup strategies

4. Custom Backend Implementation

  • Backend interface contract
  • Required methods
  • Error handling requirements
  • Testing approach

Acceptance Criteria

  • All 8 backends documented with configuration
  • Comparison table with selection criteria
  • Retention and cleanup policies documented
  • Custom backend implementation guide

Metadata

Metadata

Assignees

Labels

area/storageStorage and disk monitoringdocumentationImprovements or additions to documentationpriority/mediumMedium priority - Important but not urgent

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions