APACHE CASSANDRA - BAŞLANGIÇ 2 - Örnek Veritabanı Bağlantısı



           Cassandra ile başlangıcımızı yapalım. Download için http://cassandra.apache.org/download/ adresini kullanabilirsiniz. Cassandra 3 versiyonları için 1.8 kullanılırken 2 versiyonları için 1.7 kullanılır. Biz testimizde 2.2.6 versiyonunu kullanıyor olacağız.
           
           Download ettikten sonra unzip edip Cassandra yı başlatacağız. Bunun için bin klasörü altındaki cassandra.bat dosyasını çalıştırıyoruz.

Sistem sorunsuz bir şekilde ayağa kalktıktan sonra aynı klasör altında cqlsh.bat dosyasını çalışıtırıp sql console una erişiyoruz.







Bir önceki yazımızdaki örnekdatabase komutunu çalıştıralım. 

 CREATE KEYSPACE ornekdatabase WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

sonra 

DESCRIBE keyspaces;

komutuyla hali hazırdaki key spaceleri görebiliyoruz.

Görüldüğü üzere bazı system keyspacelerinin tanımlı olduğunu gözlemliyebiliyoruz.






Şimdi bir tablo oluşturup bu tabloya ait verileri Java dilini kullanarak erişelim.

Örnek tablo için;

use ornekdatabase;

CREATE TABLE users (
        userid text PRIMARY KEY,
        emails set
        );

Insert into  ornekdatabase.users(userid,emails) values('Burak',{'burak@hotmail.com','burak@gmail.com'});




Son olarak örnek kod a geçelim. Maven repo sundan indirilebilirsiniz. Ben 2.2.6 Cassandra için 2.1.10.2 versiyonlu jar la çalıştım sorunsuz bir şekilde.

  


Erişim için örnek kod aşağıdaki gibi.


import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;



public class App 
{
   public static void main(String[] args) {
  
       Cluster cluster;
    Session session;
    
    try {
     cluster = Cluster.builder().addContactPoint("localhost").withPort(9042).build();
     session = cluster.connect("ornekdatabase");
   
     ResultSet results = session.execute("Select * from users");
     
     for (Row row : results) {
         
         System.out.println(row.getString("userid"));
         System.out.println(row.getSet("emails", String.class));
           
     }
     
     
     
    }
    catch (Exception ex) {
    
        ex.printStackTrace();
    
    }
    
  
    
    }
}

Console çıktısında ; 

Burak
[burak@gmail.com, burak@hotmail.com]

gözlemleyeceksiniz.


Yorumlar

Bu blogdaki popüler yayınlar

IONIC BAŞLANGIÇ

Cannot resolve the collation conflict between “Turkish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation

Golang working with interfaces and functions -3