Partitioning और window functions

PostgreSQL में Time Series Analysis

Jasmin Ludolf

Content Developer, DataCamp

Partitioning

  • बड़ी टेबल को छोटे subsets, या partitions में बाँटें
  • बड़े datasets पर काम करते समय उपयोगी
  • टाइम सीरीज़ डेटा:
    • रोज़ नया डेटा आता है
    • तारीख़ के रेंज से partition करें

एक बड़ी टेबल के दो subsets में बाँटने का चित्रण

PostgreSQL में Time Series Analysis

A range

  • रेंज की सीमाएँ:

    • निचला सिरा inclusive
    • ऊपरी सिरा exclusive
  • रेंज का विकल्प: event या category से partition करें

Range 1 : 2000-2010

2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009

Range 2 : 2010-2020

2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020

PostgreSQL में Time Series Analysis

Partition by

  • PARTITION BY RANGE
CREATE TABLE timetable (
    date_info DATE,
    train_id INTEGER,
    departure_time TIMESTAMP,
    arrival_time TIMESTAMP,
    delay INTEGER
) PARTITION BY RANGE (date_info);
PostgreSQL में Time Series Analysis

Partition of

  • PARITION OF FOR VALUES FROM
  • timetable एक partitioned टेबल है, date_info पर RANGE method से partitioned

 

CREATE TABLE timetable_y2020 PARTITION OF timetable
    FOR VALUES FROM ('2020-01-01') to ('2020-12-31');
PostgreSQL में Time Series Analysis

Window functions

  • नियमित SQL क्वेरी सरल करें
  • टेबल की हर पंक्ति के लिए एक मान लौटता है (दूसरी पंक्तियों पर निर्भर हो सकता है)

 

  • Window: पंक्तियों का सेट जिस पर फंक्शन चलता है
  • Window function: वही फंक्शन जो उस window पर चलता है
  • Aggregate functions तुलनात्मक होते हैं, पर परिणाम एक मान में group नहीं होता
PostgreSQL में Time Series Analysis

Over clause

  • OVER क्लॉज़ बताता है कि यह window function है
  • उदाहरण: regional_timetable में date, times, id, delays, और region
  • यदि PARTITION BY नहीं है: window function पूरी टेबल को एक partition मानता है
SELECT region, train_id, delay, AVG(delay) OVER (PARTITION BY region)
FROM regional_timetable;
|region|train_id|   delay|     avg|
|------|--------|--------|--------|
| north|       6|00:00:05|00:00:05|
| north|       2|00:00:03|00:00:05|
| north|       5|00:00:07|00:00:05|
|  east|       1|00:00:10|00:00:21|
|  east|       3|00:00:32|00:00:21|
| south|       8|00:01:00|00:01:00|
PostgreSQL में Time Series Analysis

अभ्यास करते हैं!

PostgreSQL में Time Series Analysis

Preparing Video For Download...