Custom Tables - Limitations & Fair Usage Guidelines

Overview

Custom Tables provide a flexible way to extend platform capabilities for specific business requirements. However, they are not intended to function as a full relational database system (RDBMS) and should be used with proper design considerations to ensure optimal performance and scalability. 

Important: Custom Tables are best suited for reference data, simple mappings, and lightweight extensions, not core business data storage. 


Key Limitations 

Non-Relational Structure 

Custom Tables are not suitable for relational data models and do not support the following: 

  • Table joins  
  • Foreign keys  
  • Composite keys  

Column Limitations 

  • Avoid creating tables with more than 15 columns  
  • High column counts can lead to:  
  • Increased storage usage  
  • Slower query performance  
  • Higher processing overhead  

Recommendation: Keep the schema minimal and relevant to the use case. 

 

Record Volume Guidelines 

  • Tables with 5–6 columns can handle up to ~50,000 records  
  • As the number of columns increases, the recommended record capacity decreases  
  • Not suitable for storing large-scale or high-frequency transactional data  


Performance Considerations

Frequent operations can impact overall system performance: 

  • High-frequency imports  
  • Frequent updates or reads  
  • Repeated refresh operations  

Potential impacts: 

  • Increased hardware utilization  
  • Slower API response times  
  • Delays in processing  

Fair Usage Guidelines 

Table Design Best Practices

  • Keep the number of tables limited and purposeful  
  • Use only the necessary columns  
  • Avoid over-complicating the schema  

Data Volume Management

Maintain controlled limits on: 

  • Number of tables  
  • Number of columns (recommended: 10–15)  
  • Number of records  

Best practices:

  • Archive old data  
  • Perform periodic cleanup 

Import & Refresh Strategy 

  • Avoid frequent imports (e.g., multiple times per hour)  
  • Prefer batch processing over real-time updates  
  • Limit unnecessary refresh or re-index operations  

 Supported Data Types and Field Limits 

  • Custom Tables support the following data types: 
  • Text – up to 4000 characters  
  • Text Area – up to 8000 characters  
  • Number – supports up to 38 digits (precision/scale 38/38)  
  • Boolean  
  • Date and Time  

Guideline: Select appropriate data types to optimize storage and performance. 

Usage Guidelines: When to Use vs Avoid 

Use Custom Tables When:

  • Data is small, stable, and structured  
  • Use case is configuration, reference, or lightweight extension  
  • No complex relationships are required  
  • Data is not available in standard platform features  

Avoid Using Custom Tables When:

  • Data is large or frequently changing  
  • Relationships between datasets are required  
  • Use case involves real-time or transactional systems  
  • Data is expected to grow significantly over time  

Best Practices 

  • Keep table structure simple and minimal  
  • Limit columns and records  
  • Avoid frequent updates or imports  
  • Regularly clean up unused data 

Recommended Use Cases (B2B)

Custom Tables are most effective when used for small, controlled, and well-defined extensions such as: 

 

Temporary or Transitional Data 

  • Storing short-term data during:  
    • Data migration
    • Feature rollout
    • Interim processes  
  • Examples:
    • Maintaining mappings between legacy system identifiers and new system identifiers during migration 

 

External System Reference Mapping 

  • Mapping identifiers between external systems and the platform  
  • Maintaining a small, stable integration reference data  
  • Examples: 
  • Mapping ERP Customer ID to Znode Customer ID  
  • Linking External Product ID with Znode Product SKU  
  • Storing reference IDs used for syncing data with third-party systems 

 

UI-Level Data Extensions 

  • Used for storing additional information intended for UI display purposes, such as: 
  • Enhancing existing screens with supplementary fields  
  • Displaying non-critical, contextual information to users 
  • Examples: 
  • Adding a “Special Handling Note” field on detail pages  
  • Displaying a “Priority” or “Status” label within UI screens  
  • Showing an additional field like “Internal Remarks” in detail views 

 

Simple Data Mapping 

  • Mapping small datasets such as:  
  • Customer to Tag  
  • Product to Label  
  • Region to Attribute  
  • Example: 
  • Assigning a tag like “Premium” or “New” to specific customers  
  • Adding a label like “Seasonal” or “Clearance” to certain products  
  • Mapping regions to a category like “Urban” or “Rural.” 

Basic Business Rules 

  • Managing simple conditions or flags  
  • Supporting threshold-based or eligibility-based logic  
  • Examples: 
  • Marking orders as “High Value Order” if the amount is above a certain limit  
  • Flagging customers as “Eligible for Free Shipping” based on order value  
  • Setting a simple rule like “Allow Bulk Orders” → Yes / No for selected customers 

 

Configuration & Lookup Data 

  • Storing business-specific codes, labels, or categories  
  • Maintaining small lookup datasets  
  • Examples: 
  • Mapping internal customer types like CUST_TYPE_1 to Retail Customer or Wholesale Customer  
  • Creating a list of order statuses like Pending, Approved, On Hold  
  • Defining categories such as Gold, Silver, Bronze for customer segmentation 

 Reporting Support Data (Lightweight) 

  • Storing small datasets used for filtering or categorization in reports  
  • Examples: 
    • Tagging products as “High Margin” or “Low Margin” for analysis  
    • Creating custom report filters like “Priority Customers” 

 Feature Flags & Conditional Controls 

  • Enabling or disabling features for specific customers or scenarios  
  • Managing simple yes/no or condition-based settings  
  • Examples: 
    • Marking customers as “Eligible for Express Checkout” → Yes / No  
    • Enabling a “Special Discount” feature only for selected customers  

Data Maintenance & Growth Considerations 

Data Growth  

Always consider how your data will grow over time. 

If your data is expected to: 

  • Increase significantly  
  • Require frequent updates  
  • Become complex  

Consider alternative approaches instead of using Custom Tables. 

Data Maintenance  

  • Custom Tables require regular monitoring and maintenance  
  • Ensure data remains relevant and up to date  
  • Periodically remove unused or outdated records  

Integration Consideration 

  • Avoid using Custom Tables for high-frequency integration data  
  • Use them only for reference-level mappings, not continuous data exchange  

Summary 

Custom Tables should be used to extend platform functionality in a controlled and optimized manner. Proper usage ensures: 

  • Better system performance  
  • Scalability  
  • Easier maintenance  

They are a powerful tool when used correctly but should not replace core platform architecture or database design principles.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.