全部产品
Search
文档中心

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

更新时间:Nov 29, 2025

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

Prasyarat

  • Log telah dikumpulkan dan disimpan dalam Logstore. Untuk informasi selengkapnya, lihat Ikhtisar 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 berikut: 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, status code, 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 dapat ditampilkan 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 Konfigurasi daftar putih alamat IP.

    Self-managed MySQL database on an ECS instance

    Tambahkan aturan grup keamanan 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 grup keamanan.

    AnalyticDB 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 Konfigurasi 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 sesuai kebutuhan.

      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

        Wilayah tempat instansiasi basis data berada. Rinciannya sebagai berikut:

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

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

        • Jika Anda menggunakan database MySQL yang dikelola sendiri pada Instance ECS, atur parameter region ke wilayah Instance ECS.

        Penting

        Instans RDS, instans AnalyticDB for MySQL, atau Instance ECS harus berada di wilayah yang sama dengan proyek SLS.

        vpc-id

        ID VPC tempat instansiasi basis data berada. Rinciannya sebagai berikut:

        • Jika instans RDS PostgreSQL Anda berada di virtual private cloud (VPC), atur vpc-id ke ID VPC tersebut.

        • Untuk database ADB PostgreSQL di virtual private cloud (VPC), atur vpc-id ke ID VPC tersebut.

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

        host  

        Alamat database. Rinciannya sebagai berikut:

        Dalam VPC, jika alamat IP instansiasi basis data berubah setelah Anda membuat tabel eksternal, akses ke tabel eksternal tersebut akan terpengaruh. Misalnya, hal ini dapat terjadi jika instansiasi basis data dimigrasikan. Masalah ini tetap terjadi meskipun Anda menggunakan titik akhir internal dalam konfigurasi. Saat tabel eksternal dibuat, backend menyelesaikan nama domain menjadi alamat IP dan menyimpan alamat IP tersebut ke 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, atur parameter host ke alamat internal instans RDS. Alamat internal dapat berupa titik akhir internal atau alamat IP pribadi.

        • Jika Anda menggunakan database AnalyticDB for MySQL, atur parameter host ke alamat internal instans AnalyticDB for MySQL. Alamat internal dapat berupa titik akhir internal atau alamat IP pribadi.

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

        • Jika database dapat diakses melalui Internet, atur parameter ini ke nama domain publik atau alamat IP publik.

        port

        Nomor port. Rinciannya sebagai berikut:

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

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

        • 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 sebagai berikut:

        1. `table_name`, seperti `test`.

        2. `schema_name.table_name`, seperti `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. Pada tab Log Storage > Logstores, klik logstore yang diinginkan.

    4. Jalankan pernyataan kueri.

      Tentukan bidang userid dalam log dan bidang uid dalam tabel database pada 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. Pada halaman kueri dan analisis Logstore, jalankan 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结果