{"id":3208,"date":"2026-02-26T05:54:44","date_gmt":"2026-02-26T05:54:44","guid":{"rendered":"https:\/\/renewasoft.com.tr\/?p=3208"},"modified":"2026-03-01T15:27:07","modified_gmt":"2026-03-01T15:27:07","slug":"time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance","status":"publish","type":"post","link":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/","title":{"rendered":"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance)"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text css=&#8221;&#8221;]<\/p>\n<p><strong>Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance)<\/strong><\/p>\n<p>As real-time monitoring expands in energy facilities, the question \u201cAre we collecting the data?\u201d quickly turns into \u201cHow do we store this data for years and still query it fast?\u201d. On the SCADA side, second-level (or higher-frequency) telemetry continuously streams across hundreds to thousands of tags\u2014kW, flow, gate position, vibration, temperature, and more. Within a few months, row counts can approach the billion scale. At that point, continuing with a classic relational single-table design typically leads to index bloat, query latency, rising costs, and operational maintenance burden.<\/p>\n<p>In this post, we describe the TSDB approach for time-series data and, within the PostgreSQL ecosystem, the Timescale-like \u201chypertable + chunk\u201d model in the SCADA context. The goal is to keep real-time dashboards fast at millisecond\u2013second scale while storing multi-year archives at a manageable cost. To do that, we cover partition\/chunk strategy, retention policies, downsampling (summary data), common query patterns, and performance\/operations practices as one coherent system.<\/p>\n<p><strong>1) TL;DR (5 points)<\/strong><\/p>\n<ol>\n<li>SCADA data is a \u201chigh write volume + time-range queries\u201d problem; time-based partitioning (partition\/chunk) is essential [1][2].<\/li>\n<li>Keeping everything as raw data forever is not sustainable; you should build the \u201craw short, summaries long\u201d pyramid with retention + downsampling [3][4].<\/li>\n<li>The right indexes and the right chunk\/partition size determine both ingestion speed and query latency. PostgreSQL declarative partitioning provides the core mechanism [2].<\/li>\n<li>Most queries collapse into a few patterns: last X minutes trend, time-range aggregation, post-alarm investigation, dashboard KPIs. TSDB design should follow these patterns.<\/li>\n<li>In Hydrowise, the goal is to store SCADA time series in hot\u2013warm\u2013cold layers, continuously compute KPIs, and keep alarm\/analytics screens fast.<\/li>\n<\/ol>\n<p><strong>2) Concepts and theoretical background<\/strong><\/p>\n<p><strong>2.1 What is time-series data?<\/strong><\/p>\n<p>Time-series data is data where each record carries a timestamp and is commonly produced as a stream of sensor\/measurement samples. In SCADA, this appears as tag-based measurements (kW, flow, vibration RMS, etc.). Key properties include:<\/p>\n<ul>\n<li>High write intensity (often append-only).<\/li>\n<li>Queries typically use time ranges (last 15 min, today, last 30 days).<\/li>\n<li>Aggregations are frequent (avg, max, min, percentiles, rollups).<\/li>\n<li>As \u201ccardinality\u201d (number of tags and label combinations) grows, cost increases.<\/li>\n<\/ul>\n<p><strong>2.2 Why do we need a TSDB approach?<\/strong><\/p>\n<p>With a classic relational model, a single large table + indexes becomes heavy over time. A practical time-series solution is to naturally split data along the time axis (partitioning) and move \u201colder data\u201d into archive\/summary levels. PostgreSQL supports splitting tables into partitions via declarative partitioning [2]. In Timescale-like TSDB approaches, these pieces are typically managed automatically as \u201cchunks\u201d; new chunks are created by time interval and queries are routed to the relevant chunks [1].<\/p>\n<p><strong>Technical Note: Hypertable + Chunk Logic<\/strong><\/p>\n<ul>\n<li>Hypertable: A structure that looks like one logical table but is physically split into time ranges.<\/li>\n<li>Chunk interval: The time range covered by each piece (e.g., 1 day, 7 days).<\/li>\n<li>Goal: Parallelize writes, filter access to old data, and run maintenance (compression\/retention) per chunk [1].<\/li>\n<\/ul>\n<p>(Source: [1])<\/p>\n<p><strong>3) How it works: Building blocks of TSDB design<\/strong><\/p>\n<p><strong>3.1 Data modeling: \u201cnarrow\u201d vs \u201cwide\u201d<\/strong><\/p>\n<p>Two common schema approaches exist in SCADA:<\/p>\n<ol>\n<li>A) Narrow (measurement table): (time, tag_id, value, quality, status)<\/li>\n<li>B) Wide (many columns per row): (time, kW, flow, gate, vibration, \u2026)<\/li>\n<\/ol>\n<p>In practice, as the number of SCADA tags grows, a wide layout becomes difficult to manage. A narrow layout makes adding new tags easier and better matches time-series workloads. The trade-off is that it requires correct indexing and correct partition\/chunk tuning. In the Timescale ecosystem, decisions such as \u201csingle hypertable vs multiple tables\u201d matter for this reason [5].<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3211 aligncenter\" src=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-300x298.png\" alt=\"\" width=\"508\" height=\"505\" srcset=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-300x298.png 300w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-150x150.png 150w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-264x262.png 264w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-407x405.png 407w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-402x400.png 402w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3-100x100.png 100w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image3.png 492w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/strong><\/p>\n<p><strong>3.2 Partition\/Chunk strategy<\/strong><\/p>\n<p>Time-based partitioning is the foundation of query performance. In PostgreSQL, partitioning splits a table by a partition key, and \u201cpartition pruning\u201d can exclude irrelevant partitions from a query [2]. In Timescale documentation, the chunk-interval concept is described as automatically splitting time series into chunks [1].<\/p>\n<p>How do we choose chunk\/partition size?<\/p>\n<ul>\n<li>Too small: Too many chunks \u2192 metadata\/maintenance overhead.<\/li>\n<li>Too large: More scanning per query \u2192 higher latency.<\/li>\n<\/ul>\n<p>Typical SCADA practice: 1\u20137 day chunks for raw data; larger intervals for summarized data.<\/p>\n<p><strong>3.3 Retention: \u201cHow long do we keep data?\u201d<\/strong><\/p>\n<p>Keeping SCADA data as raw forever is expensive. TSDB approaches generally apply a hot\u2013warm\u2013cold pyramid:<\/p>\n<ul>\n<li>Hot: raw, second-level data (7\u201330 days)<\/li>\n<li>Warm: 1 min \/ 5 min summaries (3\u201312 months)<\/li>\n<li>Cold: 1 hour \/ 1 day summaries (1\u20135 years or archive)<\/li>\n<\/ul>\n<p>InfluxDB documentation clearly explains downsampling + expiry via retention policies and continuous queries [3][4]. The same idea can be applied on the Timescale side with continuous aggregates plus retention\/compression policies; policies can be defined on hypertables\/continuous aggregates [6].<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3210 aligncenter\" src=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-300x105.png\" alt=\"\" width=\"511\" height=\"179\" srcset=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-300x105.png 300w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-768x268.png 768w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-350x122.png 350w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-540x189.png 540w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-920x322.png 920w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-730x255.png 730w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2-600x210.png 600w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image2.png 947w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/strong><\/p>\n<p><strong>3.4 Downsampling: \u201cSummarize raw data\u201d<\/strong><\/p>\n<p>Downsampling converts older raw data into lower-resolution summaries. For example:<\/p>\n<ul>\n<li>1-second raw \u2192 1-minute avg\/max\/min<\/li>\n<li>1-minute \u2192 1-hour average + percentiles<\/li>\n<\/ul>\n<p>This yields:<\/p>\n<ul>\n<li>Faster dashboard queries (fewer rows).<\/li>\n<li>Lower storage cost.<\/li>\n<li>Readable long-term trends.<\/li>\n<\/ul>\n<p><strong>3.5 Compression: \u201cCompress old chunks\u201d<\/strong><\/p>\n<p>Because time-series data is often append-only, \u201cold data\u201d rarely changes\u2014ideal for compression. In the Timescale ecosystem, mechanisms like compression and compression policies can automatically compress older chunks [6].<\/p>\n<p><strong>Risk Box: Most common TSDB design mistakes<\/strong><\/p>\n<ul>\n<li>Keeping raw data indefinitely (cost explosion).<\/li>\n<li>Not controlling cardinality (tag\/label explosion).<\/li>\n<li>Choosing chunk interval randomly (too small or too large).<\/li>\n<li>Creating indexes for everything (hurts write performance).<\/li>\n<li>Collecting data without time synchronization (NTP\/PTP) (timestamp drift).<\/li>\n<\/ul>\n<p>(Basis: partitioning\/retention principles [2][3][4])<\/p>\n<p><strong>4) SCADA query types: Four primary usage patterns that drive design<\/strong><\/p>\n<p><strong>4.1 \u201cLast X minutes\u201d real-time trend<\/strong><\/p>\n<p>Operator screens and alarm dashboards typically query the last 5\u201330 minutes. For these queries:<\/p>\n<ul>\n<li>Index: (tag_id, time DESC) or time-focused index<\/li>\n<li>Chunk: small but not too small (1 day is a good starting point)<\/li>\n<li>Cache: short-lived cache at the dashboard layer<\/li>\n<\/ul>\n<p><strong>4.2 \u201cAggregation over a time range\u201d<\/strong><\/p>\n<p>For KPIs (average power, daily flow, max vibration), a typical pattern is:<\/p>\n<ul>\n<li>WHERE time BETWEEN \u2026<\/li>\n<li>GROUP BY time_bucket(\u2026) \/ date_trunc(\u2026)<\/li>\n<\/ul>\n<p>Downsampling\/continuous aggregates make a major difference here.<\/p>\n<p><strong>4.3 \u201cPost-alarm forensic investigation\u201d<\/strong><\/p>\n<p>You often want multi-tag correlation in a 10\u201330 minute window before\/after an alarm. These queries involve:<\/p>\n<ul>\n<li>Many tags \u2192 high cardinality<\/li>\n<li>Narrow time window \u2192 indexing becomes critical<\/li>\n<\/ul>\n<p>Grouping tags by unit and optimizing queries are important for this workload.<\/p>\n<p><strong>4.4 \u201cLong-term reporting and comparisons\u201d<\/strong><\/p>\n<p>Monthly\/yearly reports must read from summary tables instead of raw data; otherwise billions of rows are scanned. This is why the retention + downsampling pyramid is essential [3][4].<\/p>\n<p><strong>5) Example scenario: Building TSDB design step-by-step for a hydropower plant<\/strong><\/p>\n<p>Assumptions:<\/p>\n<ul>\n<li>1,500 tags<\/li>\n<li>On average 1 measurement per second per tag (1 Hz)<\/li>\n<li>Daily rows \u2248 1,500 \u00d7 86,400 = 129,600,000 rows\/day<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3213 aligncenter\" src=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image5-300x266.png\" alt=\"\" width=\"516\" height=\"457\" srcset=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image5-300x266.png 300w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image5-295x262.png 295w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image5-456x405.png 456w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image5-450x400.png 450w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image5.png 492w\" sizes=\"auto, (max-width: 516px) 100vw, 516px\" \/><\/p>\n<p>At this scale, a single-table approach quickly struggles. With a TSDB approach, you can apply the following plan:<\/p>\n<p>Step 1 \u2014 Measurement schema (narrow)<\/p>\n<p>measurements(time, tag_id, value, quality)<\/p>\n<p>Index: (tag_id, time) and time-based partition\/chunk [2].<\/p>\n<p>Step 2 \u2014 Chunk interval selection<\/p>\n<p>Use 1-day chunks for raw data (operational queries over last 30 days). Rationale: day-based maintenance and pruning convenience.<\/p>\n<p>Step 3 \u2014 Retention plan<\/p>\n<ul>\n<li>Hot (raw, 1 second): 30 days<\/li>\n<li>Warm (1-minute summaries): 12 months<\/li>\n<li>Cold (1-hour summaries): 5 years<\/li>\n<\/ul>\n<p>Step 4 \u2014 Downsampling rule<\/p>\n<p>Before deleting data older than 30 days, produce 1-minute and 1-hour summaries.<\/p>\n<p>Follow the \u201csummarize first, then expire\u201d logic as in InfluxDB RP + CQ [3][4].<\/p>\n<p>Step 5 \u2014 Compression<\/p>\n<p>Compress chunks older than 30 days; queries are rare but still possible when needed [6].<\/p>\n<p>Figure 1 \u2014 Hot\u2013Warm\u2013Cold retention pyramid (raw short, summaries long).<\/p>\n<p>Caption: Long-term storage cost is controlled while reporting performance is preserved.<\/p>\n<p>Figure 2 \u2014 SCADA measurement pipeline: Edge buffer \u2192 TSDB ingest \u2192 Continuous aggregates \u2192 Dashboard\/Alarm screens.<\/p>\n<p>Caption: Shows an end-to-end flow that reduces data loss under outage scenarios.<\/p>\n<p><strong>6) Hydrowise \/ Renewasoft approach: \u201cSCADA data is not only stored\u2014it is operated\u201d<\/strong><\/p>\n<p>In Hydrowise, you can think of time-series handling in three layers:<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3209 aligncenter\" src=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image6-285x300.png\" alt=\"\" width=\"518\" height=\"545\" srcset=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image6-285x300.png 285w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image6-249x262.png 249w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image6-385x405.png 385w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image6-380x400.png 380w, https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/image6.png 420w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/strong><\/p>\n<p><strong>1) Data layer (ingest + quality)<\/strong><\/p>\n<ul>\n<li>Tag stream via OPC UA\/SCADA integration<\/li>\n<li>Timestamp standardization (NTP\/PTP)<\/li>\n<li>Quality flags (quality) to separate \u201ctrustworthy measurements\u201d<\/li>\n<\/ul>\n<p><strong>2) TSDB layer (performance + cost)<\/strong><\/p>\n<ul>\n<li>Time-based splitting via hypertable\/chunk or PostgreSQL partitioning logic [1][2]<\/li>\n<li>Retention + downsampling plan (hot\u2013warm\u2013cold) [3][4]<\/li>\n<li>Compression and archival policies [6]<\/li>\n<\/ul>\n<p><strong>3) Product layer (operational value)<\/strong><\/p>\n<ul>\n<li>KPI dashboard (kW, flow, efficiency, vibration trends)<\/li>\n<li>Alarm screens and event investigation<\/li>\n<li>Feature extraction for maintenance\/failure analytics (feature-store mindset)<\/li>\n<\/ul>\n<p>Internal link suggestions (site):<\/p>\n<ul>\n<li>\/hydrowise\/scada-entegrasyonu<\/li>\n<li>\/hydrowise\/gercek-zamanli-izleme<\/li>\n<li>\/hydrowise\/predictive-maintenance<\/li>\n<li>\/renewasoft\/ot-guvenligi<\/li>\n<\/ul>\n<p>External authority sources:<\/p>\n<ul>\n<li>PostgreSQL Table Partitioning (official docs) [2]<\/li>\n<li>InfluxDB Downsampling &amp; Retention Guide (official docs) [3]<\/li>\n<\/ul>\n<p><strong>7) Info card: \u201cTSDB design checklist\u201d<\/strong><\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>Do you have time synchronization (NTP\/PTP)?<\/li>\n<li>Is tag inventory and cardinality controlled?<\/li>\n<li>Was chunk\/partition interval tested?<\/li>\n<li>Is the retention pyramid defined (hot\u2013warm\u2013cold)?<\/li>\n<li>Do you have downsampling jobs\/continuous aggregates?<\/li>\n<li>Are indexes aligned to query patterns?<\/li>\n<li>Are backfill and outage scenarios planned?<\/li>\n<li>Monitoring: are write rate, disk usage, query latency, and bloat measured?<\/li>\n<\/ul>\n<p>(Basis: partitioning and retention principles [2][3][4])<\/p>\n<p><strong>8) Frequently asked questions (FAQ)<\/strong><\/p>\n<p><strong>1) Is Timescale\/TSDB mandatory?<\/strong><\/p>\n<p>Not strictly, but without time-based partitioning and retention planning it is difficult to sustain performance for second-level SCADA streams [2][3].<\/p>\n<p><strong>2) What should the chunk interval be?<\/strong><\/p>\n<p>There is no single correct value. For raw data, 1\u20137 days is common. The best choice is determined by testing against write rate, query patterns, and maintenance cost [1][2].<\/p>\n<p><strong>3) How many days should I keep raw data?<\/strong><\/p>\n<p>It depends on operational needs. In practice, 7\u201330 days raw plus longer-term summaries is common [3][4].<\/p>\n<p><strong>4) What can downsampling break?<\/strong><\/p>\n<p>If aggregations are chosen incorrectly, short spikes can disappear. Keep max\/min and percentiles as part of the summaries.<\/p>\n<p><strong>5) Do \u201cbad actor\u201d (noisy) tags affect TSDB?<\/strong><\/p>\n<p>Yes. Frequently changing or faulty sensors increase write volume and impact both storage and queries. Separate monitoring and quality controls are recommended.<\/p>\n<p><strong>6) What is the most critical risk when moving SCADA data to the cloud?<\/strong>Time synchronization, data integrity, and OT security (segmentation, authorization, logging) must be handled together [7].<\/p>\n<p><strong>7) Is PostgreSQL partitioning enough, or is a dedicated TSDB required?<\/strong><\/p>\n<p>PostgreSQL partitioning is a strong foundation [2]. TSDB solutions can reduce operational effort by automating chunk management, compression, and continuous aggregates [1][6].<\/p>\n<p><strong>9) Conclusion and next steps (CTA)<\/strong><\/p>\n<p>As SCADA time-series data grows, it turns into a workload that stresses classic table designs. The solution is to design time-based partitioning (partition\/chunk), a retention plan, and the downsampling pyramid together. This trio keeps real-time dashboards fast and controls multi-year archive cost [2][3][4].<\/p>\n<p>Actionable next steps:<\/p>\n<p><strong>1) Inventory your tags and estimate daily row volume.<\/strong><\/p>\n<p><strong>2) Define hot\u2013warm\u2013cold retention targets.<\/strong><\/p>\n<p><strong>3) Choose a chunk\/partition interval for raw data and test it on a pilot table.<\/strong><\/p>\n<p><strong>4) Enable 1-minute and 1-hour summary tables (downsampling).<\/strong><\/p>\n<p><strong>5) With Hydrowise, align indexes and summary strategy with the query patterns of your KPI dashboards and alarm screens.<\/strong><\/p>\n<p><strong>References<\/strong><\/p>\n<p>[1] TigerData (Timescale). Hypertables documentation. 2025. (https:\/\/www.tigerdata.com\/docs\/use-timescale\/latest\/hypertables) Accessed: 2026-02-22<\/p>\n<p>[2] PostgreSQL Global Development Group. Table Partitioning (DDL Partitioning). 2025. (https:\/\/www.postgresql.org\/docs\/current\/ddl-partitioning.html) Accessed: 2026-02-22<\/p>\n<p>[3] InfluxData. Downsampling and Data Retention (InfluxDB documentation). 2016. (https:\/\/archive.docs.influxdata.com\/influxdb\/v1.0\/guides\/downsampling_and_retention\/) Accessed: 2026-02-22<\/p>\n<p>[4] InfluxData. Downsampling and Data Retention (InfluxDB documentation). 2015. (https:\/\/archive.docs.influxdata.com\/influxdb\/v0.11\/guides\/downsampling_and_retention\/) Accessed: 2026-02-22<\/p>\n<p>[5] TigerData (Timescale). Best Practices for Time-Series Data Modeling (hypertables vs multiple tables). 2024. (https:\/\/www.tigerdata.com\/learn\/best-practices-time-series-data-modeling-single-or-multiple-partitioned-tables-aka-hypertables) Accessed: 2026-02-22<\/p>\n<p>[6] TigerData (Timescale). add_compression_policy() documentation. 2025. (https:\/\/www.tigerdata.com\/docs\/api\/latest\/compression\/add_compression_policy) Accessed: 2026-02-22<\/p>\n<p>[7] Stouffer, K. et al. NIST SP 800-82 Rev. 3 \u2014 Guide to Operational Technology (OT) Security. 2023. (https:\/\/csrc.nist.gov\/pubs\/sp\/800\/82\/r3\/final) Accessed: 2026-02-22[\/vc_column_text][\/vc_column][\/vc_row]<\/p><p><\/p><\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text css=&#8221;&#8221;] Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) As real-time monitoring expands in energy facilities, the question \u201cAre we collecting the data?\u201d quickly turns into \u201cHow do we store this data for years and still query it fast?\u201d. On the SCADA side, second-level (or higher-frequency) telemetry [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":3338,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1853,224,1855,230,1867],"tags":[],"class_list":["post-3208","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-and-business-value","category-company-news-announcements","category-critical-infrastructure-cybersecurity-and-industrial-systems-security","category-data-analytics-and-machine-learning","category-scada-iot-and-data-architecture"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) - Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) - Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e\" \/>\n<meta property=\"og:description\" content=\"[vc_row][vc_column][vc_column_text css=&#8221;&#8221;] Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) As real-time monitoring expands in energy facilities, the question \u201cAre we collecting the data?\u201d quickly turns into \u201cHow do we store this data for years and still query it fast?\u201d. On the SCADA side, second-level (or higher-frequency) telemetry [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\" \/>\n<meta property=\"og:site_name\" content=\"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-26T05:54:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-01T15:27:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Can Ahmet Parlak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Can Ahmet Parlak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\"},\"author\":{\"name\":\"Can Ahmet Parlak\",\"@id\":\"https:\/\/renewasoft.com.tr\/#\/schema\/person\/b24f03f9c8562e91969597338cdd0203\"},\"headline\":\"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance)\",\"datePublished\":\"2026-02-26T05:54:44+00:00\",\"dateModified\":\"2026-03-01T15:27:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\"},\"wordCount\":1865,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/renewasoft.com.tr\/#organization\"},\"image\":{\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg\",\"articleSection\":[\"and Business Value\",\"Company News &amp; Announcements\",\"Critical Infrastructure Cybersecurity and Industrial Systems Security\",\"Data Analytics and Machine Learning\",\"SCADA, IoT and Data Architecture\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\",\"url\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\",\"name\":\"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) - Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e\",\"isPartOf\":{\"@id\":\"https:\/\/renewasoft.com.tr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg\",\"datePublished\":\"2026-02-26T05:54:44+00:00\",\"dateModified\":\"2026-03-01T15:27:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage\",\"url\":\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg\",\"contentUrl\":\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg\",\"width\":1080,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/renewasoft.com.tr\/index.php\/tr\/ana-sayfa\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/renewasoft.com.tr\/#website\",\"url\":\"https:\/\/renewasoft.com.tr\/\",\"name\":\"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/renewasoft.com.tr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/renewasoft.com.tr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/renewasoft.com.tr\/#organization\",\"name\":\"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e\",\"url\":\"https:\/\/renewasoft.com.tr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/renewasoft.com.tr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2025\/03\/images.jpg\",\"contentUrl\":\"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2025\/03\/images.jpg\",\"width\":225,\"height\":225,\"caption\":\"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e\"},\"image\":{\"@id\":\"https:\/\/renewasoft.com.tr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/renewasoft\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/renewasoft.com.tr\/#\/schema\/person\/b24f03f9c8562e91969597338cdd0203\",\"name\":\"Can Ahmet Parlak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/renewasoft.com.tr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b787ef7c02fa884b71d5374326fa7f4c416d0e85579add56148674fb29508542?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b787ef7c02fa884b71d5374326fa7f4c416d0e85579add56148674fb29508542?s=96&d=mm&r=g\",\"caption\":\"Can Ahmet Parlak\"},\"url\":\"https:\/\/renewasoft.com.tr\/index.php\/author\/ahmet\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) - Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/","og_locale":"tr_TR","og_type":"article","og_title":"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) - Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e","og_description":"[vc_row][vc_column][vc_column_text css=&#8221;&#8221;] Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) As real-time monitoring expands in energy facilities, the question \u201cAre we collecting the data?\u201d quickly turns into \u201cHow do we store this data for years and still query it fast?\u201d. On the SCADA side, second-level (or higher-frequency) telemetry [&hellip;]","og_url":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/","og_site_name":"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e","article_published_time":"2026-02-26T05:54:44+00:00","article_modified_time":"2026-03-01T15:27:07+00:00","og_image":[{"width":1080,"height":720,"url":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg","type":"image\/jpeg"}],"author":"Can Ahmet Parlak","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Can Ahmet Parlak","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#article","isPartOf":{"@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/"},"author":{"name":"Can Ahmet Parlak","@id":"https:\/\/renewasoft.com.tr\/#\/schema\/person\/b24f03f9c8562e91969597338cdd0203"},"headline":"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance)","datePublished":"2026-02-26T05:54:44+00:00","dateModified":"2026-03-01T15:27:07+00:00","mainEntityOfPage":{"@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/"},"wordCount":1865,"commentCount":0,"publisher":{"@id":"https:\/\/renewasoft.com.tr\/#organization"},"image":{"@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg","articleSection":["and Business Value","Company News &amp; Announcements","Critical Infrastructure Cybersecurity and Industrial Systems Security","Data Analytics and Machine Learning","SCADA, IoT and Data Architecture"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/","url":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/","name":"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance) - Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e","isPartOf":{"@id":"https:\/\/renewasoft.com.tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage"},"image":{"@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg","datePublished":"2026-02-26T05:54:44+00:00","dateModified":"2026-03-01T15:27:07+00:00","breadcrumb":{"@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#primaryimage","url":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg","contentUrl":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-1-Mar-2026-18_25_51.jpg","width":1080,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/renewasoft.com.tr\/index.php\/en\/2026\/02\/26\/time-series-data-how-to-store-scada-data-with-a-timescale-tsdb-approach-partitioning-retention-query-performance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/renewasoft.com.tr\/index.php\/tr\/ana-sayfa\/"},{"@type":"ListItem","position":2,"name":"Time-Series Data: How to Store SCADA Data with a Timescale\/TSDB Approach (Partitioning, Retention, Query Performance)"}]},{"@type":"WebSite","@id":"https:\/\/renewasoft.com.tr\/#website","url":"https:\/\/renewasoft.com.tr\/","name":"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e","description":"","publisher":{"@id":"https:\/\/renewasoft.com.tr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/renewasoft.com.tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":"Organization","@id":"https:\/\/renewasoft.com.tr\/#organization","name":"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e","url":"https:\/\/renewasoft.com.tr\/","logo":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/renewasoft.com.tr\/#\/schema\/logo\/image\/","url":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2025\/03\/images.jpg","contentUrl":"https:\/\/renewasoft.com.tr\/wp-content\/uploads\/2025\/03\/images.jpg","width":225,"height":225,"caption":"Renewasoft Enerji ve Yaz\u0131l\u0131m A.\u015e"},"image":{"@id":"https:\/\/renewasoft.com.tr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/renewasoft\/"]},{"@type":"Person","@id":"https:\/\/renewasoft.com.tr\/#\/schema\/person\/b24f03f9c8562e91969597338cdd0203","name":"Can Ahmet Parlak","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/renewasoft.com.tr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b787ef7c02fa884b71d5374326fa7f4c416d0e85579add56148674fb29508542?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b787ef7c02fa884b71d5374326fa7f4c416d0e85579add56148674fb29508542?s=96&d=mm&r=g","caption":"Can Ahmet Parlak"},"url":"https:\/\/renewasoft.com.tr\/index.php\/author\/ahmet\/"}]}},"_links":{"self":[{"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/posts\/3208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/comments?post=3208"}],"version-history":[{"count":2,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/posts\/3208\/revisions"}],"predecessor-version":[{"id":3339,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/posts\/3208\/revisions\/3339"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/media\/3338"}],"wp:attachment":[{"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/media?parent=3208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/categories?post=3208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/renewasoft.com.tr\/index.php\/wp-json\/wp\/v2\/tags?post=3208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}