Part 9 — CQL — UUIDs and Counters
2 min readMay 13, 2024
Apache Cassandra Series
- Part 1 — Introduction to Apache Cassandra
- Part 2 — The CAP Theorm
- Part 3 — Query First Approach
- Part 4 — Partitioning, Rings and Tokens
- Part 5 — Replication, Data Centers and Racks
- Part 6 — CQL — Keyspace and Table
- Part 7 — CQL — Consistancy, Inserts and Selects
- Part 8 — CQL — Timestamps, TTLs, Collections and Secondary Indexs
- Part 9 — CQL — UUIDs and Counters
- Part 10 — CQL — Materialized Views
- Part 11 — Peer To Peer Architecture
- Part 12 — Snitch
- Part 13 — Gossip Protocol
- Part 14 — Cassandra Write Path
- Part 15 — Cassandra Read Path
- Part 16 — Compaction
UUID
Cassandra juga mendukung penggunaan uuid sebagai primary key.
-- membuat tabel dengan uuid
create table employee_by_uuid
(
id uuid,
first_name text,
last_name text,
primary key ( id )
);
-- insert uuid menggunakan uuid()
insert into employee_by_uuid(id, first_name, last_name)
values (uuid(), 'John', 'Cena');
Selain itu di Cassandra juga fitur bernama time uuid yang memungkinkan pengurutan uuid berdasarkan tanggal. Ini sangat membantu untuk melakukan pengurutan data.
-- membuat tabel dengan uuid
create table employee_by_uuid
(
id timeuuid,
first_name text,
last_name text,
primary key ( id )
);
-- insert uuid menggunakan now()
insert into employee_by_timeuuid(id, first_name, last_name)
values (now(), 'John', 'Cena');
Cassandra juga memiliki fitur bernama counter, dia seperti auto_increment di PostgreSQL.
-- membuat tabel dengan counter
create table purchases_by_customer_id
(
id uuid primary key,
purchases counter
);
-- insert baru, wajib mengguanakan update
update purchases_by_customer_id
set purchases = purchases + 1
where id = uuid();
-- update counter
update purchases_by_customer_id
set purchases = purchases + 1
where id = ac51b7c5-0158-48d3-b2da-0a2c03811e65;
🔔 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! 🌟