Pikirkan tentang proses atau peristiwa yang ingin Anda analisis.
Katakanlah Anda sedang membangun Lougle Analytics, dan ingin menganalisis kunjungan (yang bertentangan dengan permintaan satu halaman) ke situs Anda. Mengunjungi situs web adalah suatu proses.
Sebuah tabel fakta merupakan proses atau acara Anda ingin menganalisis, dalam hal ini adalah daftar kunjungan. Anda dapat memiliki tabel fakta sebanyak yang Anda inginkan, satu per proses atau peristiwa.
Hal-hal apa yang mungkin berguna bagi Anda dalam menganalisis kunjungan situs?
- Informasi tentang browser web (merek, resolusi layar, ...)
- Informasi tentang pengguna (negara, negara bagian, kota, ISP, berdasarkan alamat IP mereka)
- Informasi tentang kapan kunjungan dimulai (tahun, kuartal, bulan, minggu, hari)
- Durasi kunjungan
- Halaman pengarah, halaman pendaratan, dan halaman keluar (judul, jalur url)
- Jumlah halaman yang dikunjungi selama kunjungan
Secara teknis, Anda bisa meletakkan ini semua dalam satu tabel - seperti yang Anda lakukan di Excel, tapi itu akan menjadi sangat cepat, jadi kami akan melakukan SATU tingkat normalisasi. Desain dimensi sering kali hanya "meletakkan semua yang Anda butuhkan untuk analisis dalam satu tabel besar", dan kemudian menormalkan satu tingkat.
Jadi tabel fakta Anda akan terlihat seperti ini:
web_browser_key bigint
ip_address_key bigint
start_date_key int
referring_page_key bigint
landing_page_key bigint
exit_page_key bigint
duration_seconds int
number_of_pages_visited int
Ini memiliki banyak nilai kunci yang merujuk ke nilai dalam tabel lain other, dan dua non-kunci. Non-kunci adalah nilai numerik dan disebut Measures . Bisakah Anda mengambil rata-rata nama merek browser web? Tidak, jadi itu dimensi. Bisakah Anda mengambil rata-rata durasi kunjungan? Ya, jadi itu ukuran.
Tabel lainnya disebut tabel Dimensi , dan ip_address
tabel dimensi mungkin terlihat seperti ini:
ip_address_key bigserial primary key, /* use meaningless surrogate keys */
ip_address inet unique,
country text,
division text,
locality text,
latitude numeric(8,6),
longitude numeric(9,6)
Perhatikan bahwa itu tidak dinormalisasi: negara dapat berasal dari kota (lokalitas). Namun dalam data warehouse, kami peduli tentang memfasilitasi analisis terlebih dahulu. Dengan memfasilitasi analisis, maksud saya menghindari bergabung dalam.
Perhatikan bahwa beberapa data dalam tabel dimensi adalah hierarkis : negara> pembagian> lokalitas. Server OLAP Anda (semoga) memahami hierarki untuk mendukung operasi penelusuran.
Kubus logis hanyalah kumpulan Dimensi dan Ukuran yang Anda kerjakan. Tidak seperti kubus Rubik, ia dapat memiliki lebih dari 3 dimensi. Anggap saja dimensi sebagai kolom dalam kumpulan data Anda.
OLAP adalah serangkaian operasi yang dapat Anda lakukan terhadap kumpulan data, seperti pivoting, slicing, dicing, drilling. Pikirkan Excel PivotTables. Sebuah OLAP Server memfasilitasi OLAP operasi.
† biasanya tanpa kunci asing
city
dalam skema Anda, jadi ketika Anda mengatakancountry could be derived from city
saya tidak positif apa yang Anda maksud.Pada gambar di bawah ini adalah contoh Skema Bintang dasar. Dimensi adalah Dim_Tables.
Biasanya ini adalah nilai yang ingin Anda analisis data. Jadi, Anda ingin melihat penjualan produk tertentu, di negara tertentu, selama rentang tanggal tertentu.
Dalam tabel fact_sales Anda hanya memiliki satu Measure yaitu Units_Sold.
Ukuran (pada tingkat paling sederhana) hanyalah hal-hal yang ingin Anda agregat ketika menganalisis berdasarkan kriteria dalam dimensi.
Jika ada hal lain yang lebih spesifik yang ingin Anda ketahui, beri tahu saya.
sumber