An ActiveRecord-style ORM for InfluxDB time-series database in Ruby applications.
Influxer is a Ruby gem that provides an ActiveRecord-style ORM for interacting with InfluxDB time-series databases. It allows developers to define metrics classes, build queries using familiar ActiveRecord patterns, and integrate time-series data operations seamlessly into Ruby applications. The gem simplifies working with InfluxDB by abstracting its query language into Ruby methods.
Ruby developers and Rails applications that need to store, query, and analyze time-series data using InfluxDB. It's particularly useful for teams already familiar with ActiveRecord who want to incorporate time-series metrics without learning InfluxDB's query syntax from scratch.
Developers choose Influxer because it provides a familiar ActiveRecord interface for InfluxDB, reducing the learning curve and development time. Its tight integration with Rails models and support for scopes makes it easy to incorporate time-series data into existing applications while maintaining clean, maintainable code.
InfluxDB ActiveRecord-style
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Mimics ActiveRecord patterns with methods like where and select, allowing Ruby developers to work with time-series data without learning InfluxQL syntax, as shown in query examples.
Provides built-in methods such as time(:interval) and past(:duration) for common time-based operations, abstracting InfluxDB's GROUP BY time clauses directly from the README.
Enables associations with ActiveRecord models via has_metrics, making it easy to link time-series data to application entities, demonstrated with user.visits.write in the README.
Supports scopes and method chaining, similar to ActiveRecord, for reusable and complex query logic, as illustrated with default_scope and custom scopes.
The gem abstracts only a subset of InfluxDB's capabilities; advanced functions may require falling back to raw queries or might not be supported, given the reliance on external Wikis for documentation.
Adds an extra layer that can introduce latency, especially in high-throughput scenarios where direct database access is more efficient, a common trade-off with ORM-style wrappers.
Important details and advanced usage are often linked to an external Wiki, which might be less maintained or accessible than integrated documentation, as noted in the README for query methods.