Yaratıcı | Avinash Lakshman ( d ) ve Prashant Malik ( d ) |
---|---|
Tarafından geliştirildi | Apache Vakfı |
İlk versiyon | 2008 |
Son sürüm |
2.2.14 (11 Şubat 2019) 3.11.10 (1 st Şubat 2021) |
Depozito | git: //git.apache.org/cassandra.git , github.com/apache/cassandra ve git-wip-us.apache.org/repos/asf?p=cassandra.git |
Proje durumu | aktif gelişimde |
Yazılmış | Java |
Çevre | Çapraz platform |
Tür | Sütun odaklı veritabanı |
Lisans | Apache 2 Lisansı ( Ücretsiz Yazılım ) |
İnternet sitesi | cassandra.apache.org |
Apache Cassandra , tek hata noktalarını ortadan kaldırarak yüksek kullanılabilirlik sağlayan, çok sayıda sunucuda büyük miktarda veriyi yönetmek için tasarlanmış, NoSQL benzeri bir veritabanı yönetim sistemidir (DBMS) . Ana düğüm olmadan eşzamansız çoğaltma ve tüm müşteri işlemleri için düşük gecikme süresiyle birden çok veri merkezinde sağlam dağıtım sağlar .
Cassandra performansı vurgular. 2012 yılında, NoSQL sistemlerini inceleyen Toronto Üniversitesi araştırmacıları şu sonuca varmışlardır: “ Uyarlanabilirlik açısından, açık bir kazanan var. Cassandra , tüm testlerde maksimum düğümlerde en yüksek verimi elde eder " ancak " bu, okuma ve yazma işlemlerinde yüksek gecikme süresine neden olur . "
Proje ücretsiz yazılım olarak yayınlanır ve Apache vakfı tarafından desteklenir .
Başlangıçta Facebook tarafından geliştirilen uygulama, Temmuz 2008'de ücretsiz yazılım olarak kullanıma sunuldu ve Twitter , Netflix , digg.com veya Spotify gibi büyük hacimli verileri işleyen şirketler tarafından hızla benimsendi . Facebook Data bölümünün yöneticisi Jeff Hammerbacher , yakınlardaki Amazon DynamoDB (in) altyapısı tarafından sunulan Cassandra benzeri bir BigTable uygulaması olarak tanımlandı .
2015 yılında göre db-engines.com Cassandra kaplar 8 inci veritabanı yönetim sistemleri ve ikinci yer veri tabanı yönetim sistemleri için kombine en popüler her türlü sıralamada yer (arkasında NoSQL MongoDB ).
Bir kümedeki tüm düğümler aynı role sahiptir. Tek bir başarısızlık noktası yoktur . Veriler, sunucular kümesine dağıtılır (her düğüm farklı veriler içerir) ve ana düğüm yoktur: tüm düğümler tüm istekleri işleyebilir.
Cassandra özgü sorgulama dili olan denilen CQL (için Cassandra Query Language ). Java (JDBC), Python (DBAPI2), Node.js (Helenus), Go (gocql) ve C ++ dilleri için uygulamalar mevcuttur .
CQL 3.0'da bir sütun ailesi içeren bir anahtar alanı oluşturmaya bir örnek:
CREATE KEYSPACE MonEspaceDeCle WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 }; USE MonEspaceDeCle; CREATE COLUMNFAMILY MesColonnes (id text, Nom text, Prenom text, PRIMARY KEY(id)); INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('1', 'Doe', 'John'); SELECT * FROM MesColonnes;Hangi verir:
id | nom | prenom ----+-----+-------- 1 | Doe | John (1 rows)Cassandra, zaman içinde tutarlı olan anahtar-değer çiftlerinde bir yapılandırmaya dayanmaktadır . İlişkisel mimari, daha geleneksel unsurlarla (çiftlerin yatay olarak depolanması) sütun odaklıdır . Veriler, tablolardaki birincil anahtarına göre dağıtılır . Bu birincil anahtarın ilk öğesine bölüm anahtarı denir; bir bölümde veriler, birincil anahtarı oluşturan diğer sütunlara göre gruplandırılır. Diğer sütunlar birincil anahtardan ayrı olarak indekslenebilir.
Tablolar, değişiklikleri ve sorguları engellemeden çalışma zamanında oluşturulabilir, silinebilir veya değiştirilebilir.
Cassandra birleştirme veya alt sorgulama yapamaz. Cassandra verilerin normalden normalleştirilmesinden yana .