Key Concepts
Omnismith is designed around a flexible Entity-Attribute-Value (EAV) data model combined with a real-time Time-Series Metric Engine.
This model allows you to define, modify, and expand data schemas dynamically at runtime — without running database migrations, writing SQL scripts, or redeploying software code.
The EAV Mental Model
Section titled “The EAV Mental Model”To understand how Omnismith works, compare it to traditional tools:
| Concept | Real-World Analogy | Software / Database Equivalent | Omnismith Building Block |
|---|---|---|---|
| Attribute | A blank field label on a form (e.g. Price, Status) | Column definition / Field metadata | Attribute |
| Template | A reusable paper form layout (e.g. Support Ticket Form) | Database Table Schema / Class Definition | Template |
| Entity | A completed, submitted paper form (e.g. Ticket #104) | Database Row / Object Instance | Entity |
| Value | The text/number written inside a field on a specific form | Cell value / Property value | Attribute Value |
1. Attributes — The Data Building Blocks
Section titled “1. Attributes — The Data Building Blocks”Attributes define the individual fields and data types that can be attached to templates.
Attribute Classifications
Section titled “Attribute Classifications”Omnismith classifies attributes into two primary functional categories:
- Dimensions:
- Represent static, categorical, or descriptive properties (e.g., Customer Name, Serial Number, Department).
- Maintained in an Audit Change Log that records exact timestamps, old values, new values, and who made the change.
- Metrics:
- Represent numeric parameters that change frequently over time (e.g., CPU Load, Temperature, Account Balance, Response Time).
- Stored in high-performance time-series database storage (TimescaleDB) and rendered as interactive historical chart datasets with configurable aggregation buckets (minute, hour, day).
Data Types
Section titled “Data Types”| Data Type | Description | Example Usage |
|---|---|---|
| String | Text strings | Names, email addresses, descriptions |
| Number | Floating point or integer numbers | Prices, quantities, measurements |
| Boolean | True/False binary flag | Active status, verified flag, VIP status |
| Date | Calendar date without time | Birthday, release date, expiration date |
| DateTime | Full precise timestamp | Event timestamp, system creation time |
| List | Predefined set of selectable options | Priority (Low, Medium, High), Status |
| Reference | Pointer link connecting to another Entity | Linking a Ticket entity to a Customer entity |
2. Templates — The Schema Blueprints
Section titled “2. Templates — The Schema Blueprints”A Template is a virtual schema that groups related attributes together to define a complete record structure.
For example, a Support Ticket template might combine the following attributes:
Title(String dimension)Customer(Reference link to Customer template)Priority(List option: Low / Medium / High)Status(List option: Open / In Progress / Resolved)Resolution Time (min)(Metric number)
Key Characteristics of Templates
Section titled “Key Characteristics of Templates”- Runtime Modularity: Add or remove attributes from a template at any time. Existing entities automatically adapt to the updated template structure.
- Blueprint Export/Import: Templates can be packaged into Blueprints and shared across projects or deployed from the Marketplace.
3. Entities — The Concrete Records
Section titled “3. Entities — The Concrete Records”An Entity is an individual record created from a specific Template.
If your Template is Customer, an entity represents a real customer record (e.g. “ACME Corp”). If your Template is Server Node, an entity represents a specific server instance (e.g. “prod-db-master-01”).
Entity Anatomy
Section titled “Entity Anatomy”flowchart TD subgraph Data Modeling A[Attribute Definitions] -->|attached to| T[Template Blueprint] end
subgraph Live Records T -->|instantiates| E1[Entity Record #1] T -->|instantiates| E2[Entity Record #2]
E1 --> V1[Dimensions: Name, Status] E1 --> V2[Metrics: CPU, Memory over time] E1 --> V3[Audit History Log] end4. References — Connecting Data Entities
Section titled “4. References — Connecting Data Entities”References allow entities created under one template to link directly to entities of another template (e.g. linking an Invoice entity to a Company entity).
- One-to-Many & Many-to-One: Relate multiple support tickets to a single customer record.
- Relational Integrity: Search, filter, and navigate across related entities seamlessly in the UI.
💡 Developer Architecture Note
Section titled “💡 Developer Architecture Note”[!NOTE] Schema-on-Read Flexibility with OpenAPI Support: For developers, Omnismith eliminates schema rigidity. Attributes and entity properties can be queried via standard REST APIs (OpenAPI) using flexible filter parameters (
/api/v1/entity/template/{templateId}). Metrics are exposed via optimized time-series aggregation endpoints without writing custom SQL window functions.
Next Steps
Section titled “Next Steps”[!TIP]
- Put concepts into practice with the Quick Start Guide.
- Explore attribute creation in detail under Data Modeling → Attributes.
- Learn how to build dashboard blocks in Dashboards & Analytics.