Wide Table
A wide table is a database table structure characterized by a large number of columns, often dozens or hundreds, storing multiple attributes about each record in a single row. In time-series databases, wide tables are commonly used for storing sensor data, financial market data, and other scenarios where many metrics need to be captured at each timestamp.
Understanding wide tables
Wide tables are the opposite of narrow tables, storing multiple related attributes horizontally rather than vertically. In time-series applications, a wide table typically has a timestamp column followed by numerous metric columns, making it efficient to retrieve multiple metrics for a given time point.
Performance implications
Storage considerations
Wide tables interact significantly with columnar database architectures:
- Column pruning efficiency - Column pruning becomes especially important as it allows the database to read only required columns
- Compression potential - Similar values in individual columns can achieve better compression ratios
- Disk I/O patterns - Reading specific columns avoids loading unnecessary data
Next generation time-series database
QuestDB is an open-source time-series database optimized for market and heavy industry data. Built from scratch in Java and C++, it offers high-throughput ingestion and fast SQL queries with time-series extensions.
Query performance
The performance impact of wide tables depends on query patterns:
- Selective column queries: When querying only a few columns from a wide table, columnar storage enables efficient data retrieval
- Full row scans: Reading all columns can be slower compared to narrow tables due to increased data volume
For example, in financial market data:
SELECT timestamp, bid_px_00, ask_px_00FROM AAPL_orderbookWHERE timestamp > '2023-01-01'LIMIT 10;
This query benefits from column pruning by accessing only 3 of the many available columns.
Use cases and applications
Industrial IoT
Wide tables excel in industrial monitoring scenarios where multiple sensors record different metrics simultaneously:
- Temperature readings from multiple locations
- Pressure measurements across system components
- Voltage levels across electrical systems
Financial markets
Order book data often uses wide tables to store multiple price levels:
- Bid/ask prices across multiple levels
- Volume information at each price level
- Order counts and other market metrics
Next generation time-series database
QuestDB is an open-source time-series database optimized for market and heavy industry data. Built from scratch in Java and C++, it offers high-throughput ingestion and fast SQL queries with time-series extensions.
Design considerations
When implementing wide tables, consider:
- Column organization: Group related columns together for logical organization
- Partitioning strategy: Time-based partitioning can improve query performance
- Storage efficiency: Use appropriate data types to minimize storage overhead
- Query patterns: Design width based on typical query access patterns
Best practices
To optimize wide table performance:
- Use column pruning effectively by selecting only needed columns
- Implement appropriate indexing strategy for frequently queried columns
- Consider hybrid row-columnar storage for mixed workloads
- Monitor write throughput and adjust ingestion patterns accordingly
Wide tables remain a fundamental pattern in time-series data modeling, particularly valuable when dealing with multiple metrics that share a common timestamp and logical grouping.