全部产品
Search
文档中心

MaxCompute:Sumber daya penyimpanan - Penyimpanan berjenjang

更新时间:Dec 16, 2025

MaxCompute mendukung tiga tier penyimpanan: Standard, Infrequent Access (IA), dan Archive. Secara default, data disimpan di tier Standard. Berdasarkan frekuensi akses data, Anda dapat mengatur tier penyimpanan tabel atau partisi tertentu ke IA atau Archive untuk menerapkan penyimpanan berjenjang bagi data panas dan dingin serta mengurangi biaya penyimpanan.

Tier penyimpanan

Tier penyimpanan

Deskripsi

Standard

Tier penyimpanan default. Tier ini cocok untuk skenario di mana data sering diakses dan memerlukan operasi baca-tulis yang sering.

IA

Cocok untuk data yang tidak sering diakses. Hal ini dapat secara efektif mengurangi biaya penyimpanan.

Catatan
  • Data dalam tier penyimpanan IA dan Archive tidak dapat diakses langsung oleh Hologres. Saat Hologres membaca data langsung dari MaxCompute, last_access_time dari tabel atau partisi di MaxCompute tidak diperbarui. Oleh karena itu, jika Anda mengonfigurasi aturan lifecycle untuk penyimpanan berjenjang berdasarkan kondisi last_access_time, beberapa tabel atau partisi yang terus-menerus hanya dibaca oleh Hologres juga dapat memenuhi aturan tersebut.

  • Jika volume data yang besar diakses atau data diakses secara sering, biaya yang dikenakan mungkin lebih tinggi daripada biaya untuk tier penyimpanan Standard. Contohnya:

    • Biaya mengakses seluruh data dalam sebuah tabel atau partisi di tier penyimpanan IA sekali per bulan setara dengan biaya penyimpanan data tersebut di tier penyimpanan Standard.

    • Biaya mengakses seluruh data dalam sebuah tabel atau partisi di tier penyimpanan Archive sekali setiap enam bulan setara dengan biaya penyimpanan data tersebut di tier penyimpanan Standard.

Archive

Penagihan penyimpanan berjenjang

  • Untuk informasi lebih lanjut tentang penagihan penyimpanan, lihat Biaya penyimpanan.

  • Jika sebuah tabel atau partisi diatur ke tier penyimpanan IA atau Archive, pertimbangkan volume data dan frekuensi aksesnya. Jika data berukuran besar diakses secara sering, biaya yang dikenakan mungkin lebih tinggi daripada biaya untuk tier penyimpanan Standard.

    • Biaya mengakses seluruh data dalam sebuah tabel atau partisi di tier penyimpanan IA sekali per bulan setara dengan biaya penyimpanan data tersebut di tier penyimpanan Standard.

    • Biaya mengakses seluruh data dalam sebuah tabel atau partisi di tier penyimpanan Archive sekali setiap enam bulan setara dengan biaya penyimpanan data tersebut di tier penyimpanan Standard.

  • Masuk ke Expenses and Costs. Pada halaman Billing > Bill Details, Anda dapat melihat biaya untuk berbagai kelas penyimpanan. Item yang dapat ditagih untuk penyimpanan Standard, penyimpanan IA, dan penyimpanan Archive masing-masing bernama Storage, Tiered Storage-IA, dan Long-term Storage. Untuk informasi lebih lanjut, lihat Lihat detail tagihan.

Lingkup penerapan

  • Batasan wilayah: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Chengdu), China (Hong Kong), China East 2 Finance, China North 2 Finance, China South 1 Finance, Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jepang (Tokyo), Jerman (Frankfurt), dan AS (Silicon Valley).

  • Data dalam tier penyimpanan IA dan Archive tidak dapat diakses langsung oleh Hologres. Saat Hologres membaca data langsung dari MaxCompute, last_access_time dari tabel atau partisi di MaxCompute tidak diperbarui. Oleh karena itu, jika Anda mengonfigurasi aturan lifecycle untuk penyimpanan berjenjang berdasarkan kondisi last_access_time, beberapa tabel atau partisi yang terus-menerus hanya dibaca oleh Hologres juga dapat memenuhi aturan tersebut.

Mengatur tier penyimpanan

Anda dapat mengonversi data antar tier penyimpanan. Mengubah tier penyimpanan tidak memengaruhi akses data.

Bagian ini menjelaskan konversi kelas penyimpanan.

Konversi

Deskripsi

Standard ke IA

Mendukung konversi manual dan otomatis. Tidak ada biaya akses I/O yang dikenakan. Waktu pembaruan data terakhir dan waktu akses data terakhir dari tabel atau partisi tidak diperbarui.

Standard ke Archive

IA ke Archive

Mendukung konversi manual dan otomatis. Konversi manual dikenai biaya akses I/O, tetapi konversi otomatis tidak. Waktu pembaruan data terakhir dan waktu akses data terakhir dari tabel atau partisi tidak diperbarui.

IA ke Standard

Hanya mendukung konversi manual. Biaya akses I/O dikenakan. Waktu pembaruan data terakhir dan waktu akses data terakhir dari tabel atau partisi diperbarui.

Archive ke IA

Archive ke Standard

Pengaturan kustom manual

Anda dapat mengatur tier penyimpanan tabel non-partisi atau partisi secara manual ke IA atau Archive. Pengaturan ini berlaku segera.

Format perintah

ALTER TABLE <TABLE_NAME> [PARTITION(<PARTITION_SPEC>)]
        SET <TBLPROPERTIES|PARTITIONPROPERTIES>("storagetier"="standard|lowfrequency|longterm");

Deskripsi parameter

  • TABLE_NAME: Wajib diisi. Nama tabel atau tabel partisi yang tier penyimpanannya ingin dimodifikasi.

  • PARTITION_SPEC: Wajib diisi saat Anda memodifikasi tier penyimpanan suatu partisi.

  • TBLPROPERTIES|PARTITIONPROPERTIES: Memodifikasi tier penyimpanan tabel atau partisi. Nilai yang valid:

    • TBLPROPERTIES: Memodifikasi tier penyimpanan tabel.

    • PARTITIONPROPERTIES: Memodifikasi tier penyimpanan partisi.

  • storagetier: Wajib diisi. Tier penyimpanan. Nilai yang valid:

    • standard: Penyimpanan Standard. Hanya biaya penyimpanan yang dikenakan.

    • lowfrequency: Penyimpanan IA. Biaya penyimpanan dan biaya akses data untuk penyimpanan IA dikenakan.

    • longterm: Penyimpanan Archive. Biaya penyimpanan dan biaya akses data untuk penyimpanan Archive dikenakan.

Catatan

Untuk tabel partisi, Anda hanya dapat mengatur tier penyimpanan untuk partisinya, bukan untuk tabel itu sendiri.

Contoh penggunaan

  • Contoh 1: Atur tier penyimpanan tabel non-partisi ke IA.

    ALTER TABLE tablename
            SET TBLPROPERTIES("storagetier"="lowfrequency");

    Lihat properti tabel. Anda dapat memeriksa tier penyimpanan saat ini di bidang StorageTier.

    --Lihat properti tabel.
    DESC extended tablename;  
    
    ---Hasil berikut dikembalikan:
    +-------------------------------------------------------------------+
    | Owner:                    ALIYUN$mofan_****@test.aliyunid.com      |
    | Project:                  mf_mc_****                                |
    | TableComment:                                                     |
    +-------------------------------------------------------------------+
    | CreateTime:               2021-11-18 15:14:00                     |
    | LastDDLTime:              2023-09-11 14:34:55                     |
    | LastModifiedTime:         2023-09-13 15:02:28                     |
    | LastAccessTime:           2023-09-14 10:50:57                     |
    +-------------------------------------------------------------------+
    | InternalTable: YES      | Size: 1923683131                        |
    +-------------------------------------------------------------------+
    | Native Columns:                                                   |
    +-------------------------------------------------------------------+
    | Field| Type| Label |ExtendedLabel| Nullable| DefaultValue|Comment |
    +-------------------------------------------------------------------+
    | empno    | bigint |       |               | true     | NULL  |    |
    | ename    | string |       |               | true     | NULL  |    |
    | job      | string |       |               | true     | NULL  |    |
    | mgr      | bigint |       |               | true     | NULL  |    |
    | hiredate | datetime |     |               | true     | NULL  |    |
    | sal      | bigint |       |               | true     | NULL  |    |
    | comm     | bigint |       |               | true     | NULL  |    |
    | deptno   | bigint |       |               | true     | NULL  |    |
    +-------------------------------------------------------------------+
    | Extended Info:                                                    |
    +-------------------------------------------------------------------+
    | TableID:                  8e0cc78c81ab4ad7af30bff7a8e****         |
    | IsArchived:               false                                   |
    | PhysicalSize:             5771049393                              |
    | FileNum:                  3                                       |
    | StoredAs:                 AliOrc                                  |
    | CompressionStrategy:      normal                                  |
    | odps.timemachine.retention.days: 1                                |
    | ColdStorageStatus:        N/A                                     |
    | encryption_enable:        false                                   |
    | StorageTier:              lowfrequency                            |
    | StorageTierLastModifiedTime:  2023-09-11 14:34:55                 |
    +-------------------------------------------------------------------+
  • Contoh 2: Atur tier penyimpanan partisi tertentu dalam tabel partisi bank_data_pt ke IA.

    ALTER TABLE bank_data_pt  PARTITION (credit='yes') SET PARTITIONPROPERTIES ("storagetier" = 'lowfrequency');

    Lihat properti partisi. Anda dapat memeriksa tier penyimpanan saat ini di bidang StorageTier.

    --Lihat properti partisi.
    DESC extended bank_data_pt PARTITION(credit='yes');  
    
    --Hasil berikut dikembalikan:
    +------------------------------------------------------------------------------------+
    | PartitionSize: 0                                                                   |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2024-05-10 10:28:16                                      |
    | LastDDLTime:              2024-05-10 10:31:01                                      |
    | LastModifiedTime:         2024-05-10 10:28:16                                      |
    +------------------------------------------------------------------------------------+
    | IsExstore:                false                                                    |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | ColdStorageStatus:        N/A                                                      |
    | StorageTier:              LowFrequency                                             |
    | StorageTierLastModifiedTime:  2024-05-10 10:31:01                                  |
    +------------------------------------------------------------------------------------+

Atur secara otomatis menggunakan aturan lifecycle

Anda dapat mengonfigurasi aturan lifecycle untuk penyimpanan berjenjang di tingkat project atau tabel partisi. Sistem akan secara otomatis mengonversi tier penyimpanan berdasarkan aturan tersebut.

  • Pengaturan tingkat project:

    Setelah dikonfigurasi, aturan ini berlaku sebagai aturan default untuk semua tabel non-partisi dalam project dan untuk partisi dalam tabel partisi yang tidak memiliki aturan khusus. Tabel dan partisi tersebut akan secara otomatis dikonversi ke tier penyimpanan yang sesuai.

  • Pengaturan tingkat tabel partisi:

    Setelah aturan khusus ditetapkan untuk tabel partisi, aturan tersebut memiliki prioritas lebih tinggi daripada aturan tingkat project. Jika semua partisi dalam tabel memenuhi aturan tersebut, partisi tersebut akan secara otomatis dikonversi ke tier penyimpanan yang sesuai.

Batasan penting

Aturan tidak dapat dikonfigurasi pada granularitas yang lebih rinci:

  • Anda tidak dapat menetapkan aturan independen untuk satu tabel non-partisi. Tabel tersebut mewarisi aturan project.

  • Anda tidak dapat menetapkan aturan independen untuk partisi tertentu dalam tabel partisi. Partisi tersebut mewarisi aturan tabel partisi induknya.

Eksekusi aturan

  • Jika sebuah tabel atau partisi memenuhi aturan penyimpanan Archive (longterm) dan aturan penyimpanan IA (lowfrequency), tabel atau partisi tersebut akan dikonversi ke longterm sebagai preferensi.

  • Jika lifecycle tabel atau partisi pertama kali memenuhi aturan lowfrequency, tabel atau partisi tersebut dikonversi ke tier lowfrequency. Jika kemudian memenuhi aturan longterm, tabel atau partisi tersebut dikonversi ke tier longterm. Tidak ada biaya akses yang dikenakan untuk tier lowfrequency selama konversi dari lowfrequency ke longterm. Untuk detail penagihan, lihat Penagihan penyimpanan berjenjang.

  • Platform memindai aturan dua kali sehari. Oleh karena itu, konversi mungkin tidak dilakukan segera setelah kondisi terpenuhi dan dapat terjadi penundaan.

Format perintah

  • Tetapkan aturan lifecycle di tingkat project

    SETPROJECT odps.table.lifecycle.config=<lifecycle_config_json_string>;

    Anda juga dapat mengonfigurasi aturan tersebut di Konsol MaxCompute sebagai berikut:

    1. Masuk ke Konsol MaxCompute dan pilih wilayah di pojok kiri atas.

    2. Di panel navigasi sebelah kiri, pilih Manage Configurations > Projects.

    3. Pada halaman Projects, temukan project target dan klik Manage di kolom Actions.

    4. Pada halaman Project Settings, Anda dapat memilih tab Parameter Configuration.

    5. Di bagian Lifecycle Configuration, klik Edit.

    6. Konfigurasikan parameter Last Access Configuration Policy dan Last Modified Configuration Policy.

      • Last Access Configuration Policy: bersesuaian dengan parameter DaysAfterLastAccessGreaterThan.

      • Last Modified Configuration Policy: bersesuaian dengan parameter DaysAfterLastModificationGreaterThan.

  • Tetapkan aturan lifecycle untuk tabel partisi

    • Tetapkan aturan saat membuat tabel partisi:

      CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name>
       [PRIMARY KEY (<pk_col_name>, <pk_col_name2>),(<col_name> <data_type> [NOT NULL] [DEFAULT <default_value>] [comment <col_comment>], ...)]
       PARTITIONED BY (<col_name> <data_type> [comment <col_comment>], ...)
      tblproperties ('lifecycle_config' = '<lifecycle_config_json_string>')
      ;
    • Modifikasi aturan untuk tabel partisi:

      ALTER TABLE <TABLE_NAME> SET TBLPROPERTIES ('lifecycle_config' = '<lifecycle_config_json_string>');
  • Lihat konfigurasi aturan lifecycle untuk penyimpanan berjenjang tabel partisi

    SHOW CREATE TABLE <table_name>;

Deskripsi parameter

Tabel berikut menjelaskan parameter utama. Untuk informasi lebih lanjut, lihat Parameter umum.

lifecycle_config_json_string:

  • Aturan lifecycle yang ditetapkan di tingkat project didefinisikan sebagai berikut.

    {
      "TierToLowFrequency": {
        "DaysAfterLastModificationGreaterThan": <days>, // Jumlah hari setelah modifikasi terakhir.
        "DaysAfterLastAccessGreaterThan": <days>, // Jumlah hari setelah akses terakhir.
      },
      "TierToLongterm": {
        "DaysAfterLastModificationGreaterThan": <days>,
        "DaysAfterLastAccessGreaterThan": <days>
      }
      // Setiap kondisi bersifat opsional. Beberapa kondisi memiliki hubungan OR.
    }
  • Kode berikut menunjukkan definisi aturan lifecycle untuk tabel partisi.

    {
      \"TierToLowFrequency\": {
        \"DaysAfterLastModificationGreaterThan\": <days>, // Jumlah hari setelah modifikasi terakhir.
        \"DaysAfterLastAccessGreaterThan\": <days>, // Jumlah hari setelah akses terakhir.
      },
      \"TierToLongterm\": {
        \"DaysAfterLastModificationGreaterThan\": <days>,
        \"DaysAfterLastAccessGreaterThan\": <days>
      }
      // Setiap kondisi bersifat opsional. Beberapa kondisi memiliki hubungan OR.
    }
  • TierToLowFrequency: Identifier untuk tier penyimpanan IA.

  • TierToLongterm: Identifier untuk tier penyimpanan Archive.

  • DaysAfterLastModificationGreaterThan: Jumlah hari setelah waktu modifikasi data terakhir untuk memicu konversi otomatis. Nilai ini bersesuaian dengan LastModifiedTime dari tabel atau partisi.

  • DaysAfterLastAccessGreaterThan: Jumlah hari setelah waktu akses data terakhir untuk memicu konversi otomatis. Jika LastAccessTime dari tabel atau partisi kosong:

    • Untuk tabel atau partisi yang dibuat sebelum 1 Oktober 2023, waktu dihitung berdasarkan 2023-10-01 00:00:00 di zona waktu UTC+0 secara default.

    • Untuk tabel atau partisi yang dibuat pada atau setelah 1 Oktober 2023, jika data belum pernah diakses, waktu dihitung berdasarkan CreateTime.

Contoh penggunaan

  • Contoh 1: Tetapkan aturan lifecycle di tingkat project.

    setproject odps.table.lifecycle.config={"TierToLongterm":{"DaysAfterLastAccessGreaterThan":180},"TierToLowFrequency":{"DaysAfterLastAccessGreaterThan":120}};
  • Contoh 2: Batalkan konfigurasi lifecycle di tingkat project.

    setproject odps.table.lifecycle.config=;
  • Contoh 3: Tetapkan aturan lifecycle untuk tabel partisi.

    --Tetapkan aturan saat membuat tabel partisi.
    CREATE TABLE lifecycle_part_t (key string) 
    PARTITIONED BY (ds  STRING)
    tblproperties ('lifecycle_config' = '{\"TierToLowFrequency\": {\"DaysAfterLastModificationGreaterThan\": 2,\"DaysAfterLastAccessGreaterThan\": 2},\"TierToLongterm\": {\"DaysAfterLastModificationGreaterThan\": 4,\"DaysAfterLastAccessGreaterThan\": 7}}')
    ;
    --Modifikasi aturan untuk tabel partisi.
    ALTER TABLE lifecycle_part_t SET tblproperties ('lifecycle_config'='{\"TierToLowFrequency\": {\"DaysAfterLastModificationGreaterThan\": 90,\"DaysAfterLastAccessGreaterThan\": 30},\"TierToLongterm\": {\"DaysAfterLastModificationGreaterThan\": 180,\"DaysAfterLastAccessGreaterThan\": 7}}');
  • Contoh 4: Batalkan konfigurasi lifecycle untuk penyimpanan berjenjang tabel partisi.

    ALTER TABLE lifecycle_part_t SET tblproperties ('lifecycle_config'='{}');

Konfigurasi izin akses untuk data penyimpanan berjenjang

Mengakses data di tier penyimpanan IA atau Archive dikenai biaya akses. Anda dapat menggunakan fungsi GET_PARTITION_META dengan kontrol akses tingkat baris untuk mengelola izin akses data di tier penyimpanan IA atau Archive dan secara efektif mengontrol akses.

GET_PARTITION_META

Catatan

GET_PARTITION_META adalah fungsi khusus yang hanya dapat digunakan bersama kontrol akses tingkat baris. Fungsi ini tidak dapat digunakan dalam kueri SQL biasa.

Sintaks

struct GET_PARTITION_META(<tableName>, <pt_col1>, <pt_col2>, ..., <pt_col_n>);

Deskripsi parameter

Parameter

Deskripsi

tableName

Nama tabel. Tabel harus berupa tabel partisi. Nilainya bertipe String. Nama dapat dalam format project.table atau project.schema.table.

pt_col

Setiap parameter dari pt_col1 hingga pt_col_n sesuai dengan tingkat partisi dari tabel partisi. Setiap parameter harus berupa referensi kolom.

Nilai kembali

Mengembalikan nilai Struct bertipe struct<storagetier:string>. Struct tersebut berisi satu bidang String yang menjelaskan tier penyimpanan partisi yang bersesuaian.

Perhatian

  • Saat Anda menambahkan aturan tingkat baris ke tabel, pertimbangkan perilaku akses pengguna lain. Jika pengguna lain telah mengakses tabel tersebut, tetapkan aturan eksplisit untuk mereka guna mencegah penolakan akses yang tidak diinginkan dan masalah penyaringan data. Untuk informasi lebih lanjut, lihat Kontrol akses tingkat baris.

  • Secara default, tabel MaxCompute dapat diakses tidak hanya melalui SQL tetapi juga oleh mesin eksternal, seperti Spark dan Flink, yang membaca data tabel. Namun, fungsi GET_PARTITION_META saat ini hanya didukung oleh mesin SQL MaxCompute. Oleh karena itu, jika fungsi GET_PARTITION_META digunakan dalam kontrol akses tingkat baris, tabel tersebut hanya dapat dibaca melalui mesin SQL MaxCompute. Mesin lain tidak dapat mengakses tabel tersebut.

  • Untuk mengakses data, Anda harus memiliki izin akses data, khususnya izin SELECT pada data, selain memenuhi persyaratan izin tingkat baris.

  • Kondisi filter dalam GET_PARTITION_META menghasilkan efek pemangkasan partisi yang berbeda tergantung skenarionya.

    • Kondisi filter hanya melibatkan bidang partisi dari tabel partisi. Misalnya, Anda dapat mengizinkan akses ke tier penyimpanan Standard dan mensyaratkan bahwa nilai partisi tingkat pertama adalah 2024.

      GET_PARTITION_META('storage_table', pt1, pt2).storagetier == 'standard') AND pt1='2024'

      Saat Anda menggunakan SQL untuk mengakses storage_table, jika klausa WHERE tidak berisi kondisi partisi, sistem mendukung pemangkasan partisi untuk mencegah pemindaian tabel penuh. Hanya partisi dalam storage_table yang memenuhi persyaratan yang diakses.

    • Kondisi filter berisi nilai bidang non-partisi, dan operator AND digunakan untuk menghubungkan kedua kondisi filter tersebut. Misalnya, Anda dapat mengizinkan akses ke tier penyimpanan Standard dan menggunakan operator AND dengan nilai non-partisi a>100.

      GET_PARTITION_META('storage_table', pt1, pt2).storagetier == 'standard') AND a > 100

      Saat Anda menggunakan SQL untuk mengakses storage_table, jika klausa WHERE tidak berisi kondisi partisi, pemangkasan partisi tetap didukung. Hanya partisi yang disimpan di tier standard yang diakses.

    • Kondisi filter berisi nilai bidang non-partisi, dan operator OR digunakan untuk menghubungkan kedua kondisi filter tersebut. Misalnya, Anda dapat mengizinkan akses ke tier penyimpanan Standard dan menggunakan operator OR dengan nilai non-partisi a>100.

      get_partition_meta('storage_table', pt1, pt2).storagetier == 'standard') OR a > 100

      Saat Anda menggunakan SQL untuk mengakses storage_table, dua skenario mungkin terjadi:

      • Jika klausa WHERE tidak berisi kondisi partisi, semua partisi diakses untuk memindai data yang memenuhi kondisi a>100.

      • Jika klausa WHERE berisi kondisi partisi, hanya data dalam partisi yang bersesuaian yang memenuhi kondisi standard atau a>100 yang dipindai.

Contoh penggunaan

Definisikan tabel partisi storage_table.

CREATE TABLE storage_table(a BIGINT, b BIGINT) PARTITIONED BY (pt1 STRING, pt2 STRING);
  • Contoh 1:

    Berikan izin policy01 kepada pengguna default untuk mengakses data penyimpanan Standard di storage_table. Semua pengguna, termasuk pemilik project, tidak dapat mengakses data penyimpanan IA atau Archive, dan nilai null dikembalikan untuk permintaan tersebut.

    CREATE ROW ACCESS POLICY policy01 
    ON storage_table 
    TO DEFAULT 
    FILTER USING (get_partition_meta('storage_table', pt1, pt2).storagetier == 'standard');

    Jika kata kunci berikut muncul di bagian Summary Logview, penyaringan tingkat baris dipicu.

    image

  • Contoh 2:

    Berikan izin policy02 kepada pengguna user_x untuk mengakses data penyimpanan IA dan Archive di storage_table.

    CREATE ROW ACCESS POLICY policy02 
    ON storage_table 
    TO USER (user_x)  --Anda juga dapat memberikan izin kepada role menggunakan TO role rolename lalu memberikan role tersebut kepada pengguna.
    FILTER USING (get_partition_meta('storage_table', pt1, pt2).storagetier IN ('lowfrequency','longterm'));

    Dua skenario mungkin terjadi:

    • Jika tabel sudah memiliki izin policy01, semua pengguna kecuali `user_x` dapat mengakses data penyimpanan Standard di storage_table tetapi tidak dapat mengakses data penyimpanan IA atau Archive. Nilai null dikembalikan untuk data yang tidak dapat diakses. Pengguna `user_x` dapat mengakses data penyimpanan IA dan Archive di storage_table tetapi tidak dapat mengakses data penyimpanan Standard. Nilai null dikembalikan untuk data yang tidak dapat diakses ini.

    • Jika izin policy01 tidak dikonfigurasi untuk tabel tersebut, semua pengguna kecuali `user_x` ditolak akses ke data penyimpanan apa pun di storage_table, yang menghasilkan nilai kembalian null. Hanya `user_x` yang diberikan akses ke data penyimpanan IA dan Archive tetapi ditolak akses ke data penyimpanan Standard, yang juga menghasilkan nilai null.

  • Contoh 3:

    Berikan izin policy03 kepada pengguna user_y untuk mengakses semua data di storage_table.

    CREATE ROW ACCESS POLICY policy03 
    ON storage_table 
    TO USER (user_y)  -- Anda juga dapat memberikan izin kepada role menggunakan klausa TO role rolename lalu memberikan role tersebut kepada pengguna.
    FILTER USING (true);  -- Konstanta true menunjukkan bahwa semua data dalam tabel dapat diakses

    Dua skenario mungkin terjadi:

    • Jika tabel memiliki izin policy01, semua pengguna kecuali `user_y` dapat mengakses data penyimpanan Standard di storage_table. Mereka tidak dapat mengakses data penyimpanan IA atau Archive, dan nilai null dikembalikan untuk permintaan tersebut. Pengguna user_y dapat mengakses data dari semua kelas penyimpanan di storage_table.

    • Jika tabel tidak memiliki izin policy01, semua pengguna kecuali `user_y` tidak dapat mengakses data apa pun di storage_table, dan nilai null dikembalikan. Hanya pengguna user_y yang dapat mengakses data semua kelas penyimpanan di storage_table.