Topik ini menjelaskan praktik terbaik untuk penandaan dan analisis profil di Hologres.
Latar Belakang
Analisis profil adalah proses mengeksplorasi minat pengguna dan menganalisis karakteristik kelompok berdasarkan sifat alami, perilaku, serta preferensi pengguna. Pembuatan profil pengguna merupakan cara penting untuk menggambarkan karakteristik komprehensif dari pengguna individu atau kelompok. Ini memberikan informasi seperti preferensi dan perilaku pengguna kepada personel analisis operasi untuk mengoptimalkan strategi operasional, serta menyediakan informasi peran yang akurat untuk desain produk khusus. Sistem profiling biasanya mengintegrasikan fitur pemrosesan karakteristik pengguna dan analisis profil untuk menyediakan analisis kelompok secara real-time dan identifikasi setelah pemrosesan karakteristik offline, pemetaan tag, dan pemuatan data analisis ad hoc.
Analisis profil telah diterapkan secara luas di berbagai industri dan menjadi cara penting untuk mengoptimalkan strategi operasional serta menerapkan operasi rinci dan pemasaran yang tepat. Berikut adalah beberapa skenario tipikal di mana analisis profil cocok digunakan:
Periklanan: Analisis profil memberikan wawasan tentang pengguna untuk melaksanakan iklan yang ditargetkan.
Gaming: Analisis profil memberikan analisis tingkat churn sehingga strategi operasional dapat disesuaikan untuk meningkatkan kelekatan pengguna.
Pendidikan: Analisis profil memberikan analisis kualitas kursus untuk meningkatkan tingkat retensi.
Namun, analisis profil menghadapi tantangan dalam stabilitas sistem, kemampuan pemeliharaan, dan skalabilitas yang disebabkan oleh kompleksitas data, volume data yang besar, serta mode query.
Personel O&M harus memelihara beberapa tautan data untuk pemrosesan real-time dan offline, yang menghasilkan beban kerja yang berat. Mesin Online Analytical Processing (OLAP) tradisional menggunakan arsitektur di mana penyimpanan digabungkan dengan komputasi. Akibatnya, dalam skenario di mana sumber daya komputasi dan penyimpanan tidak proporsional satu sama lain, terjadi pemborosan sumber daya dan biaya penskalaan serta migrasi sistem tinggi.
Personel operasi memerlukan kemampuan identifikasi yang fleksibel. Untuk menggambarkan pengguna tunggal, ribuan dimensi mungkin diperlukan, termasuk data properti dan perilaku. Multidimensional OLAP (MOLAP) memberikan respons dalam milidetik tetapi kurang fleksibel. Relational OLAP (ROLAP) memberikan fleksibilitas tetapi membutuhkan waktu lebih lama untuk merespons dan mengorbankan performa.
Solusi Hologres
Untuk mengatasi masalah-masalah tersebut, Hologres memungkinkan Anda menentukan solusi yang menawarkan performa tinggi dan skalabilitas dengan mengonfigurasi tautan data, memilih library plug-in, dan mempertimbangkan ukuran sistem bisnis Anda.
Tautan Data
Hologres mendukung pemrosesan data real-time dan offline tanpa perlu memelihara beberapa tautan data. Ini mencegah masalah umum seperti inkonsistensi data dan silo data. Gambar berikut menunjukkan tautan data.
Hologres memberikan manfaat berikut dalam integrasi data:Hologres terintegrasi dengan mulus dengan DataWorks. Masalah dependensi data yang kompleks dapat diselesaikan dengan membuat konfigurasi akses, dan proses pemrosesan serta pemuatan data offline yang stabil disediakan.
Hologres menyediakan penyimpanan berorientasi baris berdasarkan struktur log-structured merge (LSM) untuk skenario yang melibatkan penulisan real-time. Hologres terintegrasi dengan Realtime Compute for Apache Flink untuk memberikan dukungan performa yang stabil untuk penandaan real-time dan pemrosesan karakteristik real-time.
Hologres menyediakan kemampuan federated query dan memungkinkan akses ke layanan penyimpanan data eksternal seperti MaxCompute, Object Storage Service (OSS), dan instance Hologres lainnya dengan menggunakan tabel asing.
Komputasi Profil
Hologres kompatibel dengan ekosistem PostgreSQL dan menyediakan banyak fungsi bawaan. Selain itu, banyak plug-in komputasi profil yang efisien telah dikembangkan berdasarkan praktik terbaik dari Alibaba Cloud dan penggunanya.
Deduplikasi presisi: Fungsi Roaring bitmap
Hologres mendukung Roaring bitmaps. Ini mendukung operasi union dan intersection pada set serta operasi agregat bitwise dengan menggunakan bitmap terkompresi yang efisien. Roaring bitmaps cocok untuk menghitung tabel yang berisi data unik dengan banyak dimensi dan biasanya digunakan dalam deduplikasi (komputasi UV), penyaringan berbasis tag, dan analisis profil pengguna semi-real-time. UV adalah singkatan dari unique visitor.
Identifikasi pengguna berbasis data tindakan: Fungsi identifikasi pengguna yang dituju
Dalam skenario identifikasi pengguna berbasis data tindakan, data tindakan dicatat dalam tabel per hari atau per jam. Pengguna yang melakukan tindakan tertentu dalam periode waktu tertentu tidak dapat langsung diquery karena data tindakan tersebar di beberapa baris. Anda harus melakukan operasi SELF JOIN pada tabel data tindakan beberapa kali untuk menanyakan pengguna tersebut. Sebagai contoh, Anda ingin menanyakan pengguna yang tindakannya adalah
[action='click' and page='Shopping cart'] and [action='view' and page='Favorites'] dengan nilai ds berkisar dari 20210216 hingga 20210218.
Hologres menyediakan fungsi
bit_construct,bit_or, danbit_matchuntuk mencegah dampak negatif operasi JOIN pada performa query dan menyederhanakan operasi SQL. Fungsi-fungsi ini digunakan untuk menyaring pengguna. Pengguna yang uid-nya memenuhi kondisi filter tertentu disimpan sebagai larik bit. Kemudian, fungsibit_matchdigunakan untuk melakukan operasi AND pada larik bit. Kode berikut menunjukkan sebuah contoh.WITH tbl as ( SELECT uid, bit_or(bit_construct( a := (action='click' and page='Shopping cart'), b := (action='view' and page='Favorites'))) as uid_mask FROM ods_app_dwd WHERE ds < '20210218' AND ds > '20210216' GROUP BY uid ) SELECT uid from tbl where bit_match('a&b', uid_mask);bit_construct: mengembalikan nilai untuk ekspresi dan menyimpan nilai-nilai tersebut dalam larik bit. Sebagai contoh, fungsi ini mengembalikan[1,0], [0,0], [0,1]...untuk kondisi a dan b dalam pernyataan SQL sebelumnya.bit_or: melakukan operasi OR pada dua larik bit untuk menanyakan pengguna yang memenuhi kondisi filter.bit_match: menentukan apakah larik bit cocok dengan ekspresi. Sebagai contoh, untuk ekspresia&b, fungsi ini mengembalikan True untuk[1,1]dan False untuk[1,0].
Analisis corong: Fungsi corong
Analisis corong adalah metode analitik konversi populer yang digunakan untuk memahami perilaku pengguna dan menghitung tingkat konversi. Analisis corong banyak digunakan dalam skenario operasi dan analisis data seperti analisis perilaku pengguna, lalu lintas data aplikasi, dan konversi tujuan produk.
Anda dapat menggunakan fungsi corong jendela untuk menanyakan peristiwa dari jendela waktu geser. Fungsi ini menghitung jumlah maksimum peristiwa yang dapat sesuai dengan kondisi query. Analisis retensi adalah skenario paling umum dan tipikal di mana pertumbuhan pengguna dianalisis. Dalam kebanyakan kasus, Anda dapat menggunakan bagan untuk menganalisis retensi pengguna. Fungsi corong dan retensi dapat digunakan untuk menghitung retensi dan tingkat konversi pengguna, mengurangi overhead dalam operasi JOIN yang kompleks, dan meningkatkan performa.
Pemrosesan vektor: Pemrosesan vektor berbasis Proxima
Proxima adalah perpustakaan perangkat lunak berperforma tinggi yang dikembangkan oleh Akademi DAMO Alibaba. Ini memungkinkan Anda mencari tetangga terdekat dari vektor. Proxima memberikan stabilitas dan performa yang lebih tinggi dibandingkan perangkat lunak open source serupa seperti Facebook AI Similarity Search (Fassi). Proxima menyediakan modul dasar yang memiliki performa dan efek terdepan di industri dan memungkinkan Anda mencari gambar, video, atau wajah manusia yang serupa. Hologres terintegrasi mendalam dengan Proxima untuk menyediakan layanan pencarian vektor berperforma tinggi. Pencarian K-nearest neighbors (KNN), Radius nearest neighbors (RNN), dan DOT_PRODUCT didukung.
Solusi
Persyaratan biaya dan performa yang berbeda diberlakukan pada tahap pengembangan yang berbeda dari sistem profiling. Hologres menyediakan solusi berikut berdasarkan pengalaman praktis dan faktor-faktor seperti ukuran data sistem, biaya implementasi, dan performa query:
Tabel lebar
Solusi ini cocok untuk skenario di mana kurang dari 1.000 tag digunakan dan data jarang diperbarui. Tabel properti stabil diagregasi menjadi tabel lebar secara offline, dan operasi JOIN pada beberapa tabel diubah menjadi operasi pada tabel lebar tunggal. Jika tag baru diperlukan, kolom ditambahkan ke tabel lebar untuk tag-tag tersebut. Ini memungkinkan komputasi berbasis tag yang fleksibel dengan menggunakan tabel. Untuk informasi lebih lanjut, lihat Tabel lebar.
Roaring bitmaps
Solusi ini cocok untuk skenario di mana sejumlah besar data terlibat, sejumlah besar tag digunakan, dan deduplikasi diperlukan. Penyimpanan terstruktur Roaring bitmaps mengimplementasikan deduplikasi alami, mencegah overhead JOIN, menyederhanakan operasi, dan mempercepat pengambilan data. Untuk informasi lebih lanjut, lihat Roaring bitmaps.
Indeks Bit-sliced (BSI)
Solusi ini cocok untuk analisis asosiasi tag atribut pengguna dan tag perilaku pengguna, dan dapat secara signifikan mengoptimalkan performa komputasi tag perilaku ber-kardinalitas tinggi yang melibatkan sejumlah besar data setelah deduplikasi. Tag atribut pengguna mencakup jenis kelamin dan provinsi, dan tag perilaku pengguna mencakup jumlah halaman yang dilihat (PV) dan jumlah pesanan. BSI dan Roaring bitmaps digunakan untuk mengubah operasi komputasi kompleks seperti deduplikasi tag, operasi UNION, dan operasi JOIN menjadi operasi biner BSI dan Roaring bitmaps. Ini menyederhanakan operasi komputasi dan dengan cepat memberikan hasil analisis tag perilaku. Untuk informasi lebih lanjut, lihat BSI.
Ringkasan
Hologres mendukung berbagai macam plug-in analisis profil dan memberikan performa yang sangat baik. Ini banyak digunakan dalam skenario komputasi tag dan analisis profil oleh beberapa bisnis inti di dalam Alibaba Group, seperti Alimama, aplikasi pencarian, dan AMap, serta banyak pengguna cloud publik. Skalabilitas dan stabilitas layanan Hologres telah diuji dalam produksi. Hologres telah membuktikan dirinya sebagai pilihan terbaik untuk membangun platform analisis profil dengan stabilitas dan skalabilitas tinggi serta biaya pengembangan dan O&M rendah.