CQL - Consistancy, Inserts and Selects

Sorting And Filter

SQL
Copy
-- filter hanya bisa menggunakan partition key select * from employee_by_id where id = 1; -- success select * from employee_by_id where name = 'John'; -- error -- sorting hanya bisa menggunakan clustering column, dan wajib di filter dulu select * from employee_by_car_make_sorted where car_make = 'BMW' order by age, id; -- success select * from employee_by_car_make_sorted where car_make = 'BMW' order by name; -- error -- mensorting field tertentu harus berdasarkan urutan saat membuat tabel -- jika ingin mensorting by id, age juga harus di sorting select * from employee_by_car_make_sorted where car_make = 'BMW' order by age, id; -- success select * from employee_by_car_make_sorted where car_make = 'BMW' order by id; -- error -- filter harus mengguanakan semua partition key select * from employee_by_car_make_and_car_model where car_make = 'BMW' and car_model = 'TDR-3000'; -- success select * from employee_by_car_make_and_car_model where car_make = 'BMW'; -- error -- baik partition key dan clustering diwajibkan untuk di input insert into employee_by_car_make_and_car_model(car_make,car_model,id,name) values ('BMW','TDR-3000',1,'John'); -- success insert into employee_by_car_make_and_car_model(car_make,id,name) values ('BMW',1,'John'); -- error

Consistency Level

Consistency level adalah unit pengukuran yang digunakan untuk menentukan seberapa konsisten data pada suatu database. Terdapat beberapa level consistency level, di antaranya:
Any (hanya digunakan pada operasi penulisan data) → memastikan data tersimpan di setidaknya 1 node.
Integer (seperti 1, 2, 3, dst.) → memastikan data tersimpan di X node.
Quorum → memastikan data tersimpan di mayoritas node dalam cluster. Rumus untuk menghitung Quorum adalah RF+1/2, di mana RF adalah Replication factor.
Dan masih banyak lagi tingkatan consistency level yang dapat disesuaikan dengan kebutuhan aplikasi.
SQL
Copy
-- cek level konsistensi CONSISTENCY; -- mengubah level konsistensi CONSISTENCY QUORUM;