Part 10 — CQL — Materialized Views

Muhammad Hafidz
2 min readMay 13, 2024

--

Apache Cassandra Series

Materialized View

Ketika kita memiliki masalah dengan performa searching data di tabel yang sangat besar, kita dapat menggunakan materialized view. Materialized view berfungsi sebagai view alternatif dari tabel yang sudah ada, dan dapat dioptimalkan dengan Partition Key agar pencarian data lebih cepat. Selain itu, jika terjadi perubahan pada tabel asli, materialized view juga akan secara otomatis diperbarui untuk mencerminkan perubahan tersebut.

Tabel employee_by_id merupakan tabel awal dimana id merupakan Partition Key.

create table employee_by_id
(

id int primary key,
name text,
phone set<text>,
position text
);

Kemudian dibuat Materialized View bernama employee_by_position, dengan position sebagai Partition Key. Sebagai catatan field yang digunakan sebagai Partition Key tidak boleh null, baik di Tabel asli maupun Materialized View.

create materialized view test_keyspace.employee_by_position
as select * from test_keyspace.employee_by_id
where id is not null
primary key ( position );

Sekarang employee dapat difilter berdasarkan position.

select *
from employee_by_position where position = 'CEO';

🔔 Jika anda menyukai artikel ini, silahkan subscribe agar anda bisa mendapatkan notifikasi jika ada artikel baru atau anda bisa melihat artikel yang telah dipublikasikan disini. 🚀

📝 Jika ada pertanyaan atau saran, anda bisa menulisnya di kolom komentar atau mengirim pesan lewat Medium.

Thank you for your support! 🌟

--

--