कॉलम-ओरिएंटेड स्टोरेज का उपयोग

PostgreSQL में क्वेरी प्रदर्शन सुधारना

Amy McCarty

Instructor

कॉलम-ओरिएंटेड

कॉलम-ओरिएंटेड स्टोरेज

  • पंक्तियों के बीच संबंध सुरक्षित
id name species age habitat received
01 Bob panda 2 Asia 2018
02 Sunny zebra 3 Africa 2018
03 Beco zebra 10 Africa 2017
04 Coco koala 5 Australia 2016

स्टोर रूप में

दो टेबल। पहली टेबल ids और species की सूची है। 01 - panda. 02 - zebra. 03 - zebra. 04 - koala. दूसरी टेबल ids और ages की सूची है। 01 - 2. 02 - 3. 03 - 10. 04 - 5.

PostgreSQL में क्वेरी प्रदर्शन सुधारना

Analytics फोकस - बेहतरीन अनुकूल

कॉलम-ओरिएंटेड स्टोरेज की विशेषताएँ

  • एक कॉलम एक ही स्थान पर स्टोर
  • सभी पंक्तियाँ जल्दी लौटें
  • कॉलम कैलकुलेशन तेज

Analytics फोकस

  • काउंट, एवरेज, कैलकुलेशन
  • रिपोर्टिंग
  • कॉलम एग्रीगेशन

स्टोर रूप में

तीन टेबल। पहली टेबल ids और names की सूची है। 01 - Bob. 02 - Sunny. 03- Beco. 04 - Coco. दूसरी टेबल ids और species की सूची है। 01 - panda. 02 - zebra. 03 - zebra. 04 - koala. तीसरी टेबल ids और ages की सूची है। 01 - 2. 02 - 3. 03 - 10. 04 - 5.

PostgreSQL में क्वेरी प्रदर्शन सुधारना

ट्रांजैक्शनल फोकस - कम अनुकूल

पंक्ति संबंध सुरक्षित

  • सभी कॉलम लौटाने में धीमा
  • डेटा लोड करने में धीमा

ट्रांजैक्शनल फोकस

  • रिकॉर्ड जल्दी insert और delete

स्टोर रूप में

तीन टेबल। पहली टेबल ids और names की सूची है। 01 - Bob. 02 - Sunny. 03- Beco. 04 - Coco. दूसरी टेबल ids और species की सूची है। 01 - panda. 02 - zebra. 03 - zebra. 04 - koala. तीसरी टेबल ids और ages की सूची है। 01 - 2. 02 - 3. 03 - 10. 04 - 5.

PostgreSQL में क्वेरी प्रदर्शन सुधारना

डेटाबेस उदाहरण

 

Postgres Citus Data, Greenplum, Amazon Redshift
MySQL MariaDB
Oracle Oracle In-Memory Cloud Store
Clickhouse, Apache Druid, CrateDB
PostgreSQL में क्वेरी प्रदर्शन सुधारना

इन्फॉर्मेशन स्कीमा

कॉलम घटाना

  • SELECT * कम उपयोग करें
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_catalog = 'schema_name'
AND table_name = 'zoo_animals'
column_name data_type
id integer
name text
species text
PostgreSQL में क्वेरी प्रदर्शन सुधारना

इन्फॉर्मेशन स्कीमा

कॉलम घटाना

  • SELECT * कम उपयोग करें
  • इन्फॉर्मेशन स्कीमा का उपयोग करें
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_catalog = 'schema_name'
AND table_name = 'zoo_animals'
column_name data_type
id integer
name text
species text
PostgreSQL में क्वेरी प्रदर्शन सुधारना

अपनी क्वेरी लिखना

 

  • हर कॉलम को अलग क्वेरी में जाँचें
id name species age habitat received
01 Bob panda 2 Asia 2018
02 Sunny zebra 3 Africa 2018
03 Beco zebra 10 Africa 2017
04 Coco koala 5 Australia 2016
-- Structure for column oriented
SELECT MIN(age), MAX(age)
FROM zoo_animals
WHERE species = 'zebra'
-- Structure for row-oriented
SELECT *
FROM zoo_animals
WHERE species = 'zebra'
ORDER BY age
PostgreSQL में क्वेरी प्रदर्शन सुधारना

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

PostgreSQL में क्वेरी प्रदर्शन सुधारना

Preparing Video For Download...