Menggunakan penyimpanan berorientasi kolom

Meningkatkan Performa Kueri di PostgreSQL

Amy McCarty

Instructor

Berorientasi kolom

Penyimpanan berorientasi kolom

  • Relasi antarbaris tetap terjaga
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

Disimpan sebagai

Dua tabel. Tabel pertama berisi daftar id dan species. 01 - panda. 02 - zebra. 03 - zebra. 04 - koala. Tabel kedua berisi daftar id dan age. 01 - 2. 02 - 3. 03 - 10. 04 - 5.

Meningkatkan Performa Kueri di PostgreSQL

Fokus analitik - cocok

Sifat penyimpanan berorientasi kolom

  • Satu kolom disimpan di lokasi yang sama
  • Cepat mengembalikan semua baris
  • Cepat untuk kalkulasi kolom

Fokus analitik

  • Hitung, rata-rata, kalkulasi
  • Pelaporan
  • Agregasi kolom

Disimpan sebagai

Tiga tabel. Tabel pertama berisi daftar id dan name. 01 - Bob. 02 - Sunny. 03 - Beco. 04 - Coco. Tabel kedua berisi daftar id dan species. 01 - panda. 02 - zebra. 03 - zebra. 04 - koala. Tabel ketiga berisi daftar id dan age. 01 - 2. 02 - 3. 03 - 10. 04 - 5.

Meningkatkan Performa Kueri di PostgreSQL

Fokus transaksional - kurang cocok

Relasi baris terjaga

  • Lambat mengembalikan semua kolom
  • Lambat memuat data

Fokus transaksional

  • Sisip dan hapus rekaman cepat

Disimpan sebagai

Tiga tabel. Tabel pertama berisi daftar id dan name. 01 - Bob. 02 - Sunny. 03 - Beco. 04 - Coco. Tabel kedua berisi daftar id dan species. 01 - panda. 02 - zebra. 03 - zebra. 04 - koala. Tabel ketiga berisi daftar id dan age. 01 - 2. 02 - 3. 03 - 10. 04 - 5.

Meningkatkan Performa Kueri di PostgreSQL

Contoh database

 

Postgres Citus Data, Greenplum, Amazon Redshift
MySQL MariaDB
Oracle Oracle In-Memory Cloud Store
Clickhouse, Apache Druid, CrateDB
Meningkatkan Performa Kueri di PostgreSQL

Skema informasi

Mengurangi kolom

  • Gunakan SELECT * seperlunya
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
Meningkatkan Performa Kueri di PostgreSQL

Skema informasi

Mengurangi kolom

  • Gunakan SELECT * seperlunya
  • Gunakan skema informasi
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
Meningkatkan Performa Kueri di PostgreSQL

Menulis kueri Anda

 

  • Telaah tiap kolom dengan kueri terpisah
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
-- Struktur untuk berorientasi kolom
SELECT MIN(age), MAX(age)
FROM zoo_animals
WHERE species = 'zebra'
-- Struktur untuk berorientasi baris
SELECT *
FROM zoo_animals
WHERE species = 'zebra'
ORDER BY age
Meningkatkan Performa Kueri di PostgreSQL

Ayo berlatih!

Meningkatkan Performa Kueri di PostgreSQL

Preparing Video For Download...