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:

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
Always verify uniqueness by running a validation query before linking.

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 CaseRecommended OptionExample
Read-only accessRegular table/viewData Mining
Write access neededHybrid tableReclaim License Data Exchange
Performance criticalMaterialized view/hybrid table-
Multi-table queriesDynamic 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:
STRING_AGG_UNIQUE(HANDLE."Field", ', ')  -- For text
MAX(HANDLE."Field")                      -- For numbers

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_TRACKINGElementum TriggersSnowflake Triggers
Enabled before configImmediateBased on scheduler
Enabled after configImmediateWon’t fire
DisabledImmediateWon’t fire