All Products
Search
Document Center

MaxCompute:Sumber daya penyimpanan - Penyimpanan tiered

Last Updated:Jun 21, 2026

Penyimpanan tiered MaxCompute mendukung kelas penyimpanan Standard, IA storage class, dan penyimpanan jangka panjang. Secara default, tabel menggunakan penyimpanan Standard. Anda dapat mengatur kelas penyimpanan untuk tabel atau partisi tertentu ke IA storage class atau penyimpanan jangka panjang berdasarkan frekuensi akses data, sehingga memungkinkan tiering otomatis antara data panas dan dingin guna mengurangi biaya penyimpanan.

Kelas penyimpanan tiered

Storage class

Description

Standard

Kelas penyimpanan default. Gunakan untuk data yang sering diakses dan memerlukan operasi baca/tulis yang sering.

IA storage class

Gunakan untuk data yang tidak memerlukan akses sering. Ini secara efektif mengurangi biaya penyimpanan.

Catatan
  • Data yang disimpan dalam IA storage class atau penyimpanan jangka panjang tidak dapat diakses langsung oleh Hologres. Saat Hologres membaca data MaxCompute secara langsung, tabel atau partisi MaxCompute tidak memperbarui last_access_time-nya. Oleh karena itu, jika Anda mengonfigurasi aturan siklus hidup menggunakan kondisi last_access_time, tabel atau partisi yang hanya dibaca terus-menerus oleh Hologres mungkin tetap sesuai dengan aturan tersebut.

  • Jika Anda mengakses volume data yang besar atau mengakses data terlalu sering, biaya Anda mungkin melebihi biaya penyimpanan Standard. Contohnya:

    • Mengakses seluruh tabel atau partisi yang disimpan dalam IA storage class sekali per bulan menimbulkan biaya yang sama dengan penyimpanan Standard.

    • Mengakses seluruh tabel atau partisi yang disimpan dalam penyimpanan jangka panjang sekali setiap enam bulan menimbulkan biaya yang sama dengan penyimpanan Standard.

Long-term storage

Penagihan penyimpanan tiered

  • Untuk detail penagihan penyimpanan, lihat Storage fee.

  • Saat Anda mengatur tabel atau partisi ke IA storage class atau penyimpanan jangka panjang, pantau volume dan frekuensi akses data Anda. Jika Anda mengakses volume data yang besar atau terlalu sering, biaya Anda mungkin melebihi biaya penyimpanan Standard.

    • Mengakses seluruh tabel atau partisi yang disimpan dalam IA storage class sekali per bulan menimbulkan biaya yang setara dengan penyimpanan Standard.

    • Mengakses seluruh tabel atau partisi yang disimpan dalam penyimpanan jangka panjang sekali setiap enam bulan menimbulkan biaya yang setara dengan penyimpanan Standard.

  • Masuk ke Expenses and Costs. Pada halaman Bill > Bill Details, Anda dapat melihat biaya untuk berbagai kelas penyimpanan. Item penagihan untuk Standard, IA storage class, dan penyimpanan jangka panjang masing-masing bernama Storage, Tiered Storage - IA, dan Long-term Storage. Untuk informasi lebih lanjut, lihat View bill details.

Lingkup

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

  • Data yang disimpan dalam IA storage class atau penyimpanan jangka panjang tidak dapat diakses langsung oleh Hologres. Saat Hologres membaca data MaxCompute secara langsung, tabel atau partisi MaxCompute tidak memperbarui last_access_time-nya. Oleh karena itu, jika Anda mengonfigurasi aturan siklus hidup menggunakan kondisi last_access_time, tabel atau partisi yang hanya dibaca terus-menerus oleh Hologres mungkin tetap sesuai dengan aturan tersebut.

Atur kelas penyimpanan

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

Tabel berikut menjelaskan konversi kelas penyimpanan:

Conversion

Description

Standard → IA storage class

Mendukung konversi manual dan otomatis. Tidak dikenakan biaya akses I/O. LastModifiedTime dan LastAccessTime tabel atau partisi tidak diperbarui.

Standard → Long-term storage

Infrequent Access > Long-term Storage

Mendukung konversi manual dan otomatis. Alih bencana manual dikenakan biaya akses I/O. Alih bencana otomatis tidak dikenakan biaya. LastModifiedTime dan LastAccessTime tabel atau partisi tidak diperbarui.

IA storage class → Standard

Hanya mendukung konversi manual. Dikenakan biaya akses I/O. LastModifiedTime dan LastAccessTime tabel atau partisi diperbarui.

Long-term storage → IA storage class

Long-term storage → Standard

Pengaturan kustom manual

Untuk tabel non-partisi atau partisi, atur secara manual kelas penyimpanan ke IA storage class atau penyimpanan jangka panjang. Perubahan berlaku segera.

Sintaks

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

Deskripsi parameter

  • TABLE_NAME: Wajib. Nama tabel yang kelas penyimpanannya ingin Anda ubah.

  • PARTITION_SPEC: Wajib saat mengubah kelas penyimpanan partisi.

  • TBLPROPERTIES | PARTITIONPROPERTIES: Ubah kelas penyimpanan tabel atau partisi. Deskripsi nilai:

    • TBLPROPERTIES: Mengubah kelas penyimpanan tabel.

    • PARTITIONPROPERTIES: Mengubah kelas penyimpanan partisi.

  • storagetier: Wajib. Kelas penyimpanan tiered. Nilai yang valid:

    • Standar: Jenis Penyimpanan Standar. Hanya dikenakan biaya penyimpanan.

    • lowfrequency: IA storage class. Dikenakan biaya penyimpanan dan biaya akses data IA storage class.

    • longterm: Penyimpanan jangka panjang. Dikenakan biaya penyimpanan dan biaya akses data penyimpanan jangka panjang.

Catatan

Anda hanya dapat mengatur penyimpanan tiered untuk partisi dalam tabel partisi. Anda tidak dapat mengatur penyimpanan tiered untuk seluruh tabel partisi.

Contoh

  • Contoh 1: Atur kelas penyimpanan tabel non-partisi ke IA storage class.

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

    Untuk memverifikasi kelas penyimpanan saat ini, periksa bidang StorageTier dalam properti tabel.

    -- View table properties
    DESC extended tablename;  
    --- Sample output
    +-------------------------------------------------------------------+
    | 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 kelas penyimpanan partisi dalam tabel partisi bank_data_pt ke IA storage class.

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

    Untuk memverifikasi kelas penyimpanan saat ini, periksa bidang StorageTier dalam properti partisi.

    -- View partition properties
    DESC extended bank_data_pt PARTITION(credit='yes');  
    -- Sample output
    +------------------------------------------------------------------------------------+
    | 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                                  |
    +------------------------------------------------------------------------------------+

Konfigurasi otomatis menggunakan aturan siklus hidup

Anda dapat mengonfigurasi aturan siklus hidup penyimpanan tiered di tingkat proyek atau tabel partisi. Aturan ini secara otomatis mengonversi kelas penyimpanan berdasarkan kondisi yang ditentukan:

  • Aturan tingkat proyek:

    Setelah Anda menetapkan aturan tingkat proyek, aturan tersebut menjadi aturan default untuk semua tabel non-partisi dalam proyek dan semua partisi dalam tabel partisi yang tidak memiliki aturannya sendiri. Tabel dan partisi tersebut secara otomatis dikonversi ke kelas penyimpanan yang ditentukan.

  • Pengaturan di tingkat tabel partisi:

    Setelah Anda menetapkan aturan untuk tabel partisi tertentu, aturan tersebut menggantikan aturan tingkat proyek. Semua partisi dalam tabel yang memenuhi kondisi aturan secara otomatis dikonversi ke kelas penyimpanan yang ditentukan.

Batasan penting

Anda tidak dapat mengonfigurasi aturan pada granularitas yang lebih rinci:

  • Anda tidak dapat menetapkan aturan independen untuk satu tabel non-partisi (mewarisi aturan proyek).

  • Anda tidak dapat menetapkan aturan independen untuk partisi tertentu dalam tabel partisi (mewarisi aturan tabel).

Eksekusi aturan

  • Saat siklus hidup tabel atau partisi memenuhi aturan penyimpanan jangka panjang (longterm) dan aturan penyimpanan frekuensi rendah (lowfrequency), tabel atau partisi tersebut diprioritaskan dikonversi ke longterm.

  • Jika tabel atau partisi pertama kali memenuhi aturan lowfrequency, tabel atau partisi tersebut dikonversi ke lowfrequency. Jika kemudian memenuhi aturan longterm, tabel atau partisi tersebut dikonversi lagi ke longterm. Konversi dari lowfrequency ke longterm tidak dikenakan biaya akses lowfrequency. Untuk detail penagihan, lihat Tiered storage billing.

  • Platform memindai aturan dua kali sehari. Oleh karena itu, mungkin terjadi penundaan antara saat tabel atau partisi memenuhi kondisi dan saat kelas penyimpanan diperbarui.

Sintaks

  • Tetapkan aturan siklus hidup di tingkat proyek

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

    Anda juga dapat mengonfigurasi ini di konsol MaxCompute:

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

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

    3. Pada halaman Projects, klik Manage di kolom Actions untuk proyek target.

    4. Pada halaman Project Settings, klik 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: Sesuai dengan parameter DaysAfterLastAccessGreaterThan.

      • Last Modified Configuration Policy: Sesuai dengan parameter DaysAfterLastModificationGreaterThan.

  • Tetapkan aturan siklus hidup untuk tabel partisi

    • Tetapkan saat pembuatan tabel:

      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>')
      ;
    • Pengaturan modifikasi tabel partisi:

      ALTER TABLE <TABLE_NAME> SET TBLPROPERTIES ('lifecycle_config' = '<lifecycle_config_json_string>');
  • Lihat konfigurasi siklus hidup penyimpanan tiered tabel partisi

    SHOW CREATE TABLE <table_name>;

Deskripsi parameter

Berikut ini menjelaskan parameter utama. Untuk parameter lainnya, lihat General parameters.

lifecycle_config_json_string:

  • Untuk aturan siklus hidup tingkat proyek, definisikan sebagai berikut:

    {
      "TierToLowFrequency": {
        "DaysAfterLastModificationGreaterThan": <days>, // Days since last modification
        "DaysAfterLastAccessGreaterThan": <days>, // Days since last access
      },
      "TierToLongterm": {
        "DaysAfterLastModificationGreaterThan": <days>,
        "DaysAfterLastAccessGreaterThan": <days>
      }
      // Each condition is optional. Multiple conditions use OR logic.
    }
  • Untuk aturan siklus hidup tabel partisi, definisikan sebagai berikut:

    {
      \"TierToLowFrequency\": {
        \"DaysAfterLastModificationGreaterThan\": <days>, // Days since last modification
        \"DaysAfterLastAccessGreaterThan\": <days>, // Days since last access
      },
      \"TierToLongterm\": {
        \"DaysAfterLastModificationGreaterThan\": <days>,
        \"DaysAfterLastAccessGreaterThan\": <days>
      }
      // Each condition is optional. Multiple conditions use OR logic.
    }
  • TierToLowFrequency: Pengenal untuk IA storage class.

  • TierToLongterm: Pengenal untuk penyimpanan jangka panjang.

  • DaysAfterLastModificationGreaterThan: Menentukan jumlah hari setelah pengaturan diterapkan secara otomatis, berdasarkan LastModifiedTime tabel atau partisi.

  • DaysAfterLastAccessGreaterThan: Menentukan jumlah hari setelah kelas penyimpanan diatur secara otomatis berdasarkan LastAccessTime tabel atau partisi. Jika LastAccessTime kosong:

    • Untuk tabel atau partisi yang dibuat sebelum 1 Oktober 2023, sistem menggunakan waktu UTC+0 2023-10-01 00:00:00 sebagai default.

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

Contoh

  • Contoh 1: Tetapkan aturan siklus hidup di tingkat proyek.

    setproject odps.table.lifecycle.config={"TierToLongterm":{"DaysAfterLastAccessGreaterThan":180},"TierToLowFrequency":{"DaysAfterLastAccessGreaterThan":120}};
  • Contoh 2: Hapus konfigurasi siklus hidup tingkat proyek.

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

    -- Set during table creation
    CREATE TABLE lifecycle_part_t (key string) 
    PARTITIONED BY (ds  STRING)
    tblproperties ('lifecycle_config' = '{\"TierToLowFrequency\": {\"DaysAfterLastModificationGreaterThan\": 2,\"DaysAfterLastAccessGreaterThan\": 2},\"TierToLongterm\": {\"DaysAfterLastModificationGreaterThan\": 4,\"DaysAfterLastAccessGreaterThan\": 7}}')
    ;
    -- Modify an existing table
    ALTER TABLE lifecycle_part_t SET tblproperties ('lifecycle_config'='{\"TierToLowFrequency\": {\"DaysAfterLastModificationGreaterThan\": 90,\"DaysAfterLastAccessGreaterThan\": 30},\"TierToLongterm\": {\"DaysAfterLastModificationGreaterThan\": 180,\"DaysAfterLastAccessGreaterThan\": 7}}');
  • Contoh 4: Hapus konfigurasi siklus hidup penyimpanan tiered dari tabel partisi.

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

Atur izin akses data untuk penyimpanan tiered

Mengakses data yang disimpan dalam IA storage class atau penyimpanan jangka panjang dikenakan biaya akses. Anda dapat mengontrol akses ke data ini dengan menggabungkan row-level access control dengan fungsi GET_PARTITION_META.

GET_PARTITION_META

Catatan

GET_PARTITION_META adalah fungsi khusus. Anda hanya dapat menggunakannya dengan izin tingkat baris. Jangan gunakan dalam kueri SQL biasa.

Sintaks

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

Deskripsi parameter

Parameter Name

Description

tableName

Nama tabel partisi. Harus berupa String. Mendukung format project.table atau project.schema.table.

pt_col

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

Nilai kembalian

Mengembalikan Struct bertipe struct<storagetier:string>. Struct berisi satu bidang String yang menjelaskan kelas penyimpanan partisi yang sesuai.

Catatan

  • Saat menambahkan aturan tingkat baris ke tabel, pertimbangkan pola akses pengguna selain yang dikontrol. Jika pengguna lain telah mengakses tabel, tetapkan aturan eksplisit untuk mereka guna menghindari penyaringan data yang tidak diinginkan akibat pembatasan akses yang tidak disengaja. Untuk informasi lebih lanjut, lihat Row-level access control.

  • Secara default, tabel MaxCompute dapat diakses melalui SQL dan mesin eksternal (seperti Spark dan Flink). Namun, hanya mesin SQL MaxCompute yang mendukung fungsi GET_PARTITION_META. Jika Anda menggunakan GET_PARTITION_META dalam kontrol akses tingkat baris, tabel hanya dapat dibaca oleh mesin SQL MaxCompute. Mesin lain tidak dapat mengakses tabel tersebut.

  • Untuk mengakses data di bawah izin tingkat baris, Anda juga harus memiliki izin SELECT pada data tersebut.

  • Perilaku pemangkasan partisi bervariasi tergantung pada kondisi filter yang digunakan dengan GET_PARTITION_META.

    • Jika kondisi filter hanya melibatkan bidang partisi—misalnya, mengizinkan akses ke penyimpanan Standard di mana nilai partisi tingkat pertama adalah 2024:

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

      Saat Anda mengakses storage_table menggunakan SQL dan klausa WHERE tidak mengandung kondisi partisi, sistem secara native mendukung pemangkasan partisi untuk menghindari pemindaian tabel penuh dan hanya mengizinkan akses read-only ke partisi dalam storage_table yang memenuhi persyaratan.

    • Jika kondisi filter mencakup bidang non-partisi yang dikombinasikan dengan operator AND—misalnya, mengizinkan akses ke penyimpanan Standard di mana a>100:

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

      Saat Anda mengkueri storage_table tanpa kondisi partisi dalam klausa WHERE, pemangkasan partisi tetap berlaku. Hanya partisi yang disimpan sebagai standard yang diakses.

    • Jika kondisi filter mencakup bidang non-partisi yang dikombinasikan dengan operator OR—misalnya, mengizinkan akses ke penyimpanan Standard atau di mana a>100:

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

      Saat Anda mengkueri storage_table, dua skenario berlaku:

      • Jika klausa WHERE tidak memiliki kondisi partisi, semua partisi dipindai untuk menemukan data di mana a>100.

      • Jika klausa WHERE mencakup kondisi partisi, hanya partisi yang ditentukan yang dipindai untuk data yang sesuai dengan standard atau a>100.

Contoh

Buat tabel partisi storage_table.

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

    Buat kebijakan bernama policy01 untuk kelompok pengguna DEFAULT. Kebijakan ini hanya mengizinkan akses ke data penyimpanan Standard dalam storage_table. Semua pengguna (termasuk Pemilik Proyek) ditolak akses ke data IA storage class atau penyimpanan jangka panjang dan menerima hasil kosong.

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

    Jika Ringkasan Logview menampilkan kata kunci berikut, penyaringan tingkat baris dipicu:

    WARNING:[1,15] row access policy is enabled on table yyy_hp_storagetier.storage_table01. Ini menunjukkan bahwa kebijakan akses baris diterapkan selama kueri.

  • Contoh 2:

    Berikan pengguna user_x izin policy02 untuk mengakses data IA storage class dan penyimpanan jangka panjang dalam storage_table.

    CREATE ROW ACCESS POLICY policy02 
    ON storage_table 
    TO USER (user_x)  -- You can also grant to a role using TO role rolename, then assign the role to user_x.
    FILTER USING (get_partition_meta('storage_table', pt1, pt2).storagetier IN ('lowfrequency','longterm'));

    Dua skenario berlaku:

    • Jika tabel telah dikonfigurasi dengan izin policy01, semua pengguna (kecuali user_x) dapat mengakses data penyimpanan standard storage_table, tetapi tidak dapat mengakses data akses jarang atau penyimpanan jangka panjang, dan upaya apa pun untuk melakukannya mengembalikan nilai kosong. Untuk user_x, akses ke data akses jarang dan penyimpanan jangka panjang storage_table diizinkan, tetapi akses ke data penyimpanan standard tidak diizinkan dan mengembalikan nilai kosong.

    • Jika policy01 tidak ditetapkan, semua pengguna (kecuali user_x) tidak dapat mengakses data apa pun dalam storage_table (hasil kosong). Hanya user_x yang dapat mengakses data IA storage class dan penyimpanan jangka panjang tetapi tidak dapat mengakses data penyimpanan Standard (hasil kosong).

  • Contoh 3:

    Berikan pengguna user_y izin policy03 untuk mengakses semua data dalam storage_table.

    CREATE ROW ACCESS POLICY policy03 
    ON storage_table 
    TO USER (user_y)  -- You can also grant to a role using TO role rolename, then assign the role to user_y.
    FILTER USING (true);  -- Constant true allows access to all data in the table.

    Dua skenario berlaku:

    • Jika tabel telah ditetapkan dengan izin policy01, semua pengguna (kecuali user_y) dapat mengakses data penyimpanan Standard storage_table, tetapi tidak dapat mengakses akses jarang atau penyimpanan jangka panjang, dan permintaan tersebut mengembalikan nilai kosong. Pengguna user_y dapat mengakses data semua kelas penyimpanan dalam storage_table.

    • Jika tabel belum diberi izin policy01, semua pengguna (kecuali user_y) tidak dapat mengakses data apa pun yang disimpan dalam storage_table, dan permintaan tersebut mengembalikan nilai kosong. Hanya user_y yang dapat mengakses data semua kelas penyimpanan dalam storage_table.