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;