Cassandra - CQL Koleksiyonları

CQL, Koleksiyon veri türlerini kullanma olanağı sağlar. Bu Koleksiyon türlerini kullanarak, tek bir değişkende birden çok değer saklayabilirsiniz. Bu bölüm, Cassandra'da Koleksiyonların nasıl kullanılacağını açıklar.

Liste

Listenin kullanıldığı durumlarda kullanılır

  • elemanların sırası korunacak ve
  • bir değer birden çok kez saklanmalıdır.

Listedeki öğelerin dizinini kullanarak bir liste veri türünün değerlerini alabilirsiniz.

Listeli Tablo Oluşturma

Aşağıda iki sütun, ad ve e-posta içeren örnek bir tablo oluşturmak için bir örnek verilmiştir. Birden fazla e-postayı saklamak için listeyi kullanıyoruz.

cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list<text>);

Bir Listeye Veri Ekleme

Bir listedeki öğelere veri eklerken, aşağıda gösterildiği gibi tüm değerleri virgülle ayrılmış köşeli parantez [] içine girin.

cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu',
['[email protected]','[email protected]'])

Liste Güncelleme

Aşağıda, adı verilen bir tablodaki liste veri türünü güncellemek için bir örnek verilmiştir. data. Burada listeye başka bir e-posta ekliyoruz.

cqlsh:tutorialspoint> UPDATE data
... SET email = email +['[email protected]']
... where name = 'ramu';

Doğrulama

Tabloyu SELECT deyimini kullanarak doğrularsanız, aşağıdaki sonucu alırsınız -

cqlsh:tutorialspoint> SELECT * FROM data;

 name | email
------+--------------------------------------------------------------
 ramu | ['[email protected]', '[email protected]', '[email protected]']

(1 rows)

AYARLAMAK

Küme, bir grup öğeyi depolamak için kullanılan bir veri türüdür. Bir kümenin öğeleri sıralı bir düzende döndürülür.

Set ile Masa Oluşturmak

Aşağıdaki örnek, ad ve telefon olmak üzere iki sütun içeren örnek bir tablo oluşturur. Birden fazla telefon numarasını saklamak için set kullanıyoruz.

cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);

Bir Kümeye Veri Ekleme

Bir kümedeki öğelere veri eklerken, aşağıda gösterildiği gibi tüm değerleri virgülle ayrılmış küme parantezleri {} içine girin.

cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman',    {9848022338,9848022339});

Setin Güncellenmesi

Aşağıdaki kod, data2 adlı bir tablodaki bir kümenin nasıl güncelleneceğini gösterir. Burada sete başka bir telefon numarası ekliyoruz.

cqlsh:tutorialspoint> UPDATE data2
   ... SET phone = phone + {9848022330}
   ... where name = 'rahman';

Doğrulama

Tabloyu SELECT deyimini kullanarak doğrularsanız, aşağıdaki sonucu alırsınız -

cqlsh:tutorialspoint> SELECT * FROM data2;

   name | phone
--------+--------------------------------------
 rahman | {9848022330, 9848022338, 9848022339}

(1 rows)

HARİTA

Harita, bir anahtar / değer çiftini depolamak için kullanılan bir veri türüdür.

Haritalı Tablo Oluşturma

Aşağıdaki örnek, ad ve adres olmak üzere iki sütun içeren örnek bir tablonun nasıl oluşturulacağını gösterir. Birden fazla adres değerini saklamak için harita kullanıyoruz.

cqlsh:tutorialspoint> CREATE TABLE data3 (name text PRIMARY KEY, address
map<timestamp, text>);

Bir Haritaya Veri Ekleme

Bir haritadaki öğelere veri eklerken, tüm key : value aşağıda gösterildiği gibi küme parantezleri {} içinde virgülle ayrılmış çiftler.

cqlsh:tutorialspoint> INSERT INTO data3 (name, address)
   VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );

Setin Güncellenmesi

Aşağıdaki kod, data3 adlı bir tablodaki harita veri türünün nasıl güncelleneceğini gösterir. Burada anahtar ofisin değerini değiştiriyoruz yani robin isimli bir kişinin ofis adresini değiştiriyoruz.

cqlsh:tutorialspoint> UPDATE data3
   ... SET address = address+{'office':'mumbai'}
   ... WHERE name = 'robin';

Doğrulama

Tabloyu SELECT deyimini kullanarak doğrularsanız, aşağıdaki sonucu alırsınız -

cqlsh:tutorialspoint> select * from data3;

  name | address
-------+-------------------------------------------
 robin | {'home': 'hyderabad', 'office': 'mumbai'}

(1 rows)