Data Best Practices
Maximize your data’s value with proven strategies for organization, sharing, and management. This comprehensive guide covers everything from basic data sharing to advanced optimization techniques.Data Sharing Fundamentals
Tables vs Views: The Foundation Decision
Your choice between tables and views sets the foundation for everything else. Choose wisely based on your use case:- Use Tables When
- Use Views When
- Special Considerations
Write Operations Required
Perfect for: Data that needs updates through automations or user input
- User form submissions
- Automation-driven status updates
- Real-time data modifications
- Transactional processing
Performance is Critical
Perfect for: High-frequency queries where speed matters
- Dashboard data sources
- Real-time reporting
- Frequently accessed reference data
- Performance-sensitive workflows
Unique Identifiers
Each row in your data must have a unique identifier. If one doesn’t exist, create it using:- UUID functions
- Concatenated fields
- Incremental number assignment
Table Integrity Guidelines
Critical Changes
These changes cause “No Rows” errors:- Renaming tables
- Renaming shared columns
Changes Requiring Review
Consult with Elementum before:- Deleting columns
- Repurposing columns
- Using Create/Replace table commands
Low-Impact Changes
- Adding new columns (requires Elementum admin to update layouts)
Data Structure Options
Use Case | Recommended Option | Example |
---|---|---|
Read-only access | Regular table/view | Data Mining |
Write access needed | Hybrid table | Reclaim License Data Exchange |
Performance critical | Materialized view/hybrid table | - |
Multi-table queries | Dynamic table | - |
Change Monitoring
Choose your monitoring approach based on frequency:Known Frequency
- Use data mining for hourly, daily, weekly, or monthly updates
- Maximum 100,000 rows per data mine
Real-time Needs
- Use record created/updated triggers
- Enable CHANGE_TRACKING for automated updates
Time-based Updates
- Use time-based triggers for known update schedules
- Elementum detects changes based on resource scheduler or data mine schedule
Field Updates
Automation Options
- Use create triggers for non-null initial values
- Use data mines for batch updates (100,000 row limit)
- Enable change tracking for real-time element updates
Calculated Fields
Use for related item data:Change Tracking Configuration
Capabilities
- Tables: Select, Update, Insert, Delete (with permissions)
- Views: Select only
Implementation Notes
- Enables automation triggers from tables/elements
- Supports table modifications for joins and data mines
- Requires known update frequency for efficient scheduling
Data Loading Strategies
Incremental Loading
- Works directly with CHANGE_TRACKING
- Efficient for regular updates
Flush and Fill
- Requires duplicate checking
- Use search actions before create/update operations
Update Behavior Matrix
CHANGE_TRACKING | Elementum Triggers | Snowflake Triggers |
---|---|---|
Enabled before config | Immediate | Based on scheduler |
Enabled after config | Immediate | Won’t fire |
Disabled | Immediate | Won’t fire |