aiai-bot commented on issue #3955:
URL: https://github.com/apache/hertzbeat/issues/3955#issuecomment-3744182512

   <!-- code-pr-reviewer -->
   Thanks for the proposal. Apache Doris as a log storage backend is indeed not 
currently implemented in HertzBeat—only GreptimeDB exists for this purpose.
   
   The good news is that the warehouse module is well-architected for this 
extension:
   
   - **Template available**: 
`hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tsdb/greptime/GreptimeDbDataStorage.java`
 provides a complete reference implementation with `saveLogData()`, 
`queryLogsByMultipleConditions()`, `batchDeleteLogs()`, etc.
   - **Interface contracts**: `HistoryDataReader.java` and 
`HistoryDataWriter.java` define the exact methods to implement
   - **Data model**: `LogEntry.java` (OpenTelemetry standard) defines the log 
structure your table schema should map to
   
   **Suggested implementation path:**
   1. Create `DorisDataStorage.java` extending `AbstractHistoryDataStorage`
   2. Use Doris Stream Load API for writes and MySQL JDBC for queries
   3. Add `DorisProperties.java` for configuration (JDBC URL, Stream Load URL, 
credentials, TTL)
   4. Implement TTL via Doris table properties or application-level cleanup
   
   **A few clarifying questions:**
   - Should TTL be enforced database-side (Doris table properties) or 
application-side (scheduled tasks)?
   - Any requirements for Doris-specific features like rollup tables for log 
aggregation?
   - Should both standalone and cluster Doris modes be supported?
   
   This would be a valuable addition given the 12 existing TSDB implementations 
in the codebase prove the architecture's extensibility.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to