All Products
Search
Document Center

Simple Log Service:Mengasosiasikan Logstore dengan database MySQL untuk kueri dan analisis

Last Updated:Mar 27, 2026

Topik ini menjelaskan cara mengasosiasikan Logstore dengan database MySQL untuk melakukan kueri dan analisis. Dalam topik ini, log dari perusahaan game digunakan sebagai contoh.

Prasyarat

  • Log telah dikumpulkan dan disimpan dalam Logstore. Untuk informasi selengkapnya, lihat Pengumpulan data.

  • Indeks telah dibuat untuk bidang-bidang dalam log. Untuk informasi selengkapnya, lihat Buat indeks.

  • Database MySQL tersedia. Untuk informasi selengkapnya, lihat Buat database dan akun.

Informasi latar belakang

Perusahaan A adalah perusahaan game yang memiliki dua jenis data: log game pengguna dan metadata pengguna. Simple Log Service (SLS) dapat mengumpulkan log game pengguna secara real time. Log game pengguna berisi informasi event seperti operasi, target, health points (HP), magic points (MP), jaringan, metode pembayaran, lokasi klik, kode status, dan ID pengguna. Metadata pengguna mencakup informasi pengguna seperti jenis kelamin, waktu pendaftaran, dan wilayah. Dalam kebanyakan kasus, metadata pengguna disimpan di database karena tidak muncul dalam log. Perusahaan A ingin melakukan analisis asosiasi terhadap log game pengguna dan metadata pengguna untuk memperoleh rencana operasional yang optimal.

Mesin kueri dan analisis SLS memungkinkan Anda mengasosiasikan Logstore dengan penyimpanan eksternal untuk melakukan kueri dan analisis. Penyimpanan eksternal mencakup database MySQL dan bucket Object Storage Service (OSS). Untuk menganalisis metrik yang terkait dengan properti pengguna, gunakan sintaks SQL JOIN untuk mengasosiasikan log game pengguna dengan metadata pengguna. Anda juga dapat menulis hasil analisis ke penyimpanan eksternal untuk pemrosesan lebih lanjut.背景信息

Prosedur

  1. Buat tabel properti pengguna di database MySQL.

    Buat tabel data bernama join_meta untuk menyimpan ID pengguna, username, jenis kelamin, usia, saldo akun, waktu pendaftaran, dan wilayah pendaftaran.

    CREATE TABLE `join_meta` ( 
      `uid` int(11) NOT NULL DEFAULT '0', 
      `user_nick` text, 
      `gender` tinyint(1) DEFAULT NULL, 
      `age` int(11) DEFAULT NULL, 
      `register_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
      `balance` float DEFAULT NULL, 
      `region` text, PRIMARY KEY (`uid`) 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
  2. Buat daftar putih untuk database MySQL.

    RDS for MySQL database

    Tambahkan blok CIDR 100.104.0.0/16, 11.194.0.0/16, dan 11.201.0.0/16 ke daftar putih. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih alamat IP.

    Database MySQL yang dikelola sendiri pada instance ECS

    Tambahkan aturan security group untuk mengizinkan akses dari blok CIDR 100.104.0.0/16, 11.194.0.0/16, dan 11.201.0.0/16. Untuk informasi selengkapnya, lihat Tambahkan aturan security group.

    ADB untuk database MySQL

    Tambahkan blok CIDR 100.104.0.0/16, 11.194.0.0/16, dan 11.201.0.0/16 ke daftar putih. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih.

  3. Buat external store.

    1. Login ke server tempat CLI diinstal. Jalankan perintah touch untuk membuat file konfigurasi /home/shell/config.json. Tambahkan skrip berikut ke file config.json. Ganti nilai parameter region, vpc-id, host, port, username, password, db, dan table dengan nilai aktual Anda.

      1. Deskripsi parameter

        Contoh

        {
            "externalStoreName":"sls_join_meta_store",
            "storeType":"rds-vpc",
            "parameter":{
                "region":"cn-qingdao",
                "vpc-id":"vpc-m5eq4irc1pucp*******",
                "host":"rm-bp1******rm76.mysql.rds.aliyuncs.com",
                "port":"3306",
                "username":"user",
                "password":"****",
                "db":"scmc",
                "table":"join_meta"
            }
        }

        externalStoreName

        Nama ExternalStore. Nama harus menggunakan huruf kecil.

        storeType

        Jenis sumber data. Atur parameter ini ke rds-vpc.

        region

        Detail wilayah adalah sebagai berikut:

        • Jika Anda menggunakan database ApsaraDB RDS for MySQL, atur parameter region ke wilayah instans RDS.

        • Jika Anda menggunakan database ADB for MySQL, atur parameter region ke wilayah instans ADB.

        • Jika Anda menggunakan database MySQL yang dikelola sendiri pada instance ECS dalam VPC, atur parameter region ke wilayah instans ECS.

        Penting

        Instans RDS, instans ADB, atau instans ECS harus berada di wilayah yang sama dengan proyek Simple Log Service.

        vpc-id

        ID VPC.

        • Untuk instans RDS for PostgreSQL dalam virtual private cloud (VPC), atur vpc-id ke ID VPC.

        • Jika database adalah database ADB PostgreSQL dalam virtual private cloud (VPC), atur vpc-id ke ID VPC yang berisi instans ADB.

        • Jika database Alibaba Cloud Hologres berada dalam virtual private cloud (VPC), atur vpc-id ke ID VPC.

        host  

        Alamat database.

        Dalam VPC, jika alamat IP instans database berubah setelah Anda membuat tabel eksternal, akses ke tabel eksternal akan terganggu. Misalnya, hal ini dapat terjadi jika instans database dimigrasi. Masalah ini tetap terjadi meskipun Anda menggunakan internal endpoint dalam konfigurasi. Hal ini terjadi karena saat tabel eksternal dibuat, backend secara otomatis melakukan resolusi nama domain ke alamat IP dan menyimpan alamat IP tersebut dalam konfigurasi backend. Alamat IP yang sesuai dengan nama domain tidak diperbarui secara otomatis. Dalam kasus ini, Anda harus memperbarui atau membuat ulang tabel eksternal.
        • Jika Anda menggunakan database ApsaraDB RDS for MySQL dalam VPC, atur parameter host ke alamat internal instans RDS. Alamat internal dapat berupa internal endpoint atau alamat IP pribadi.

        • Jika Anda menggunakan database ADB for MySQL dalam VPC, atur parameter host ke alamat internal instans ADB. Alamat internal dapat berupa internal endpoint atau alamat IP pribadi.

        • Jika Anda menggunakan database MySQL yang dikelola sendiri pada instance ECS dalam VPC, atur parameter host ke alamat IP pribadi instance ECS.

        • Jika database dapat diakses melalui jaringan publik, atur parameter ini ke endpoint publik atau alamat IP publik.

        port

        Detail nomor port adalah sebagai berikut:

        • Jika Anda menggunakan database ApsaraDB RDS for MySQL, atur parameter port ke nomor port instans RDS.

        • Jika Anda menggunakan database ADB for MySQL, atur parameter port ke nomor port instans ADB.

        • Jika Anda menggunakan database MySQL yang dikelola sendiri pada instance ECS, atur parameter port ke port layanan MySQL pada instance ECS.

        username

        Username akun database.

        password

        Password akun database.

        db

        Nama database.

        table

        Nama tabel database. Format yang didukung adalah sebagai berikut:

        1. table_name, misalnya test.

        2. schema_name.table_name, misalnya public.test.

  4. Gunakan sintaks SQL JOIN untuk melakukan kueri dan analisis asosiasi.

    1. Login ke Konsol Simple Log Service.

    2. Pada bagian Projects, klik proyek yang diinginkan.

    3. Di tab Log Storage > Logstores, klik logstore yang diinginkan.

    4. Eksekusi pernyataan kueri.

      Tentukan bidang userid dalam log dan bidang uid dalam tabel database dalam pernyataan kueri.

      • Analisis distribusi pengguna aktif berdasarkan jenis kelamin.

        * | 
        select 
          case gender when 1 then 'Male' else 'Female' end as gender, 
          count(1) as pv 
        from log l join sls_join_meta_store u on l.userid = u.uid 
        group by gender 
        order by pv desc

        关联分析

      • Analisis keterlibatan pengguna di berbagai wilayah.

        * | 
        select region , count(1) as pv 
        from log l join sls_join_meta_store u on l.userid = u.uid 
        group by region 
        order by pv desc

        活跃度

      • Analisis tren konsumsi pengguna berdasarkan jenis kelamin.

        * | 
        select 
          case gender when 1 then 'Male' else 'Female' end as gender, 
          sum(money) as money 
        from log l join sls_join_meta_store u on l.userid = u.uid 
        group by gender 
        order by money desc
  5. Simpan hasil kueri dan analisis ke database MySQL.

    1. Buat tabel data bernama report di database MySQL untuk menyimpan jumlah tampilan halaman (PV) per menit.

      CREATE TABLE `report` ( 
        `minute` bigint(20) DEFAULT NULL, 
        `pv` bigint(20) DEFAULT NULL 
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    2. Buat external store untuk tabel report. Untuk informasi selengkapnya, lihat Langkah 3.

    3. Di halaman kueri dan analisis Logstore, eksekusi pernyataan kueri berikut untuk menyimpan hasil ke tabel report. sls_report_store menunjukkan nama external store.

      * | insert into sls_report_store select __time__- __time__ % 300 as min, count(1) as pv group by min

      Setelah hasil disimpan, lihat hasilnya di database MySQL.SQL结果