İçindekiler
Kassandra bir Veritabanıdır NoSQL güçlü ve ölçeklenebilir. Açık kaynak kodludur ve mimarisi, içindeki tüm düğümlerin aynı olduğu dağıtılmış bir sistem olarak tasarlanmıştır, böylece verilerin kümedeki tüm düğümler arasında dağıtılmasına izin verir.Depolama alanı Kassandra olarak tanımlanır anahtar / değer bir anahtarın bir veya daha fazla değerle eşlenebileceği yer. bir Veri tabanı Her satırın anahtarıyla tanımlandığı satır kayıtlarına yöneliktir ve bu sistemin özelliği, bir satırın birden fazla düğümde saklanabilmesidir.
Kuruluma geçmeden önce Kassandra sistemimizde, bunun mimarisi hakkında biraz bilgi sahibi olmalıyız. Veri tabanı, bu şekilde neye sahip olduğumuzu ve neyi başarabileceğimizi bileceğiz.
Bilgi kopyalama hakkında konuştuğumuzda kendimize sorduğumuz ilk sorulardan biri şudur: Kaç kopyaya ihtiyacımız var? Cassandra'da bu, yanıtlanması kolay bir soru değil, ancak aklımızda tutmamız gereken şey, bu faktörün aynı satırda depolanan düğüm sayısını gösterdiğidir.
Örneğin, 2 çoğaltma faktörü, kümedeki düğümlerin bilgilerinin iki kopyasının olacağını garanti eder. Çoğaltma faktörü için iki değerini seçmek, geliştirme ortamındaki bir düğümdeki hataları kapsamak için iyidir ve üretim ortamları için minimum olabilir, çünkü bir düğüm bozulursa diğeri tüm istekleri yerine getirir, bu nedenle düşünmemiz gereken bir şeydir. uygulamadan önce dikkatlice
tuş alanıKassandra bilgileri, adı verilen bir şeyde gruplandırmamıza izin verir. anahtar boşluklar, nerede söyleyebiliriz ki bunlar anahtar boşluklar bunlar uygulama bilgileri için kaplardır. Bir kümenin uygulama başına bir anahtar alanı vardır, ancak Kassandra bunları kullan anahtar boşluklar çoğaltmayı işlemek için.
Sütun ailesitanımlarımızı yaptıktan sonra tuş alanı, içinde denilen bir şey var sütun ailesi, bunlar benzer kaplardır, ancak bir satır koleksiyonu içindir. Her satır sıralı bir sütun koleksiyonudur ve ilişkisel veritabanlarına göre bir benzetme yapabiliriz. sütun ailesi tablolara biraz benzerler.
Çoğaltma stratejisiİçinde Kassandra Bilginin kopyalanması için iki strateji vardır, bunlardan biri ve daha önce ele aldığımız basit strateji veya BasitStrateji tanımlanan çoğaltma faktörü karşılanana kadar bilgileri bir sonraki düğüme kopyalamaktan sorumludur. İkinci strateji denir AğTopolojisiStrateji, bilgileri birden fazla veri merkezine dağıtmak istiyorsak en iyi seçenek budur.
tarafından kullanılan protokol Kassandra düğümlerin konumlarını ve bunların kümedeki bilgilerini paylaşmaya denir. Dedikodu. Bu düğümlerin sürekli olarak "mırıldandığı" ve kümedeki en fazla 3 düğümle bilgi alışverişinde bulunduğu yerler.
Bu protokolün, diğerleri gibi, diğer düğümlere istek gönderme kuralları vardır, burada bunun için üç adım görebiliriz ve her düğüm her zaman bu adımları tekrarlar:
1- Rastgele aktif bir düğüme üfürüm.
2- Rastgele aşağı doğru bir düğüme doğru bir üfürüm başlatın.
3- Bu adım isteğe bağlıdır ve birinci adımda seçilen düğüm bir çekirdek düğüm değilse, başka bir rastgele çekirdek düğüme mırıldanmayı tanımlar.
Ancak bilgiyi taşımak ve düğümler arasındaki iletişimi gerçekleştirmek için Kassandra adlı bir bileşen kullanın İspiyonlamakNe demek istediğini görelim.
Temel olarak bu bileşen, çeşitli ölçümlere dayalı olarak sorgular ve çoğaltma için diğer düğümleri alan düğümler arasındaki bilgi hareketini yönetmekten sorumludur. Bu yapılandırma, küme içindeki tüm düğümler için aynıdır, ancak türüne göre değişiklik gösterebilir, bakalım hangilerine sahip olduğumuza bakalım:
BasitSnitchBasit veri merkezi dağıtımlarında kullanılır ve ispiyonlamak bu şekilde yapılandırılan veri merkezinden herhangi bir bilgiyi kullanmaz. Davranışı basittir ve bir sonraki düğümü bulmaktır.
Dinamik muhbirBu yapılandırma, replikaların performansını izler ve uzun yanıt sürelerini cezalandıran ve bilgilerinizi sıkıştıran düğümleri önleyen basit bir ölçüme dayalı olarak en iyisini seçer.
RackÇıkarımSnitchBu yapılandırmanın yaptığı, IP adresinin, IP'nin son bölümünün düğümü, ikincisinin rafları ve üçüncünün veri merkezlerini tanımladığı düğümlerin konumunu belirlemek için kullanmaktır.
PropertyFileSnitchBu, bir özellikler dosyasında küme topolojisinin tanımlanmasına izin verir, genellikle bu yapılandırma aşağıdaki durumlarda kullanılır: RackÇıkarımSnitch Uygulanabilir olmayan.
DedikoduMülkiyetDosyaSnitchİlk yapılandırma için bir özellikler dosyası kullanır ve diğer düğümlere bilgi göndermek için mırıltı ile devam eder.
kurulumu Kassandra Takım halinde yapacağız Windows 8, daha önce belirli gereksinimleri karşılamamız gereken, neye ihtiyacımız olduğunu görelim:
1- En azından sahip olmalıyız Java 7 sistemimizde yüklü, bizde yoksa aşağıdaki linkten en güncel sürümünü indirebiliriz.
2- Ayrıca ihtiyacımız var Microsoft Visual C ++ 2008 Yeniden Dağıtılabilir Paketi (x86).
3- Sonunda paketi indirmek için İnternet bağlantısı DataStax.
Gereksinimlerimizi gözden geçirdikten sonra proje sayfasına gideceğiz ve sistemimize uygun 32 veya 64 bit sürümü arayacağız:
BÜYÜT
Bağlantı belgelerine bir göz atmak istersek Kassandra Farklı programlama dilleri ile sayfayı aşağı inebilir ve bunun için neye ihtiyacımız olduğunu görebiliriz. İndirdikten sonra herhangi bir Windows uygulaması gibi kurulum yapıyoruz. Bu kurulumdan sonra belirtmekte fayda var. Kassandra varsayılan olarak bir test kümesi oluşturacaktır.Kurulum ile birlikte sistemimize birkaç araç yüklenir, bunlardan biri web arayüzüdür. Kassandra aramak Operasyon Merkezi, tarayıcımıza aşağıdaki adresi girersek girebileceğimiz:
http://localhost: 8888 / opscenter / index.htmlBu arayüz, birkaç ilginç şey yapmamıza izin verir, ancak çalışmak için en uygun olanı değildir. Kassandra, ancak bu eğitimin amaçları için onu bilmek, bize neler sunduğunu görmek ve böylece Veritabanının yapısını öğrenmeye başlamak için bir başlangıç noktasına sahip olmak önemlidir.
Bu arayüze girerken bulduğumuz ilk şey, Gösterge Panelidüğüm sağlığı, depolama kapasitesi veya yazma istekleri gibi çeşitli performans ölçümlerini görselleştirebildiğimiz yer:
BÜYÜT
Bu arayüzde yeni bir küme oluşturabiliriz, bunun için sağ üst kısma gidiyoruz ve Yeni Küme, aşağıdaki ekranı açacaktır:İstenen verileri girip tıklıyoruz küme oluştur, buna ek olarak, açılır menüye eşit olarak düğümler ekleyebiliriz. Küme Eylemleri, sağ üstte. Bölümde Verme, mevcut düğümleri ve veri merkezlerini ve ayrıca sağlık, verilerin boyutu ve hatta oluşturulan uyarılar gibi belirli parametreleri görebiliriz:
BÜYÜT
Bölümde Aktiviteler Kümede gerçekleştirilen faaliyetlerin bir listesini ve ayrıca bir olay günlüğü görebiliriz; bu, kümenin yöneticileri olduğumuzda oldukça faydalı bir şeydir. Veri tabanı:BÜYÜT
Ardından web arayüzümüzdeki en önemli bölüme sahibiz ve bu da Veri, burada daha iyi bilinen bilgi kaplarımızı tanımlayabiliriz anahtar boşluklar ve "tablolar" veya sütun aileleri.Oluşturmak için tuş alanı, önce bölüme gitmeliyiz Veri ve orada seçeneği seçin Ekle, adını, basit veya ağ topolojisi olabileceğini açıkladığımız çoğaltma stratejisini ve çoğaltma faktörünü giriyoruz.
Kurtardık ve çoktan yaratmış olurduk tuş alanı, hatırladığımız gibi bu kapların önemli bir işlevi vardır. Kassandra y, çoğaltma faktörünü tanımlamaktır. Konteynerimiz tanımlıyken bir ekleyeceğiz. sütun ailesi, bunun için keyspace'e giriyoruz ve seçeneği seçiyoruz Ekle. Buraya adı, sütun tipini ve karşılaştırıcı tipini giriyoruz.
Bununla zaten yarattık sütun ailesiGördüğümüz gibi, son derece basittir, ancak bu arayüz bizi birçok şeyde sınırlandırır ve sadece yeni başlayan kullanıcılar için yapının nasıl olduğunu anlamak isteyen iyi bir başlangıç noktasıdır. Kassandra ve onunla nasıl başa çıkıyor? kümeler, düğümler, anahtar alanlar ve sütun aileleri.
Bununla, mimarisinin ne olduğunu görebileceğimiz bu öğreticiyi bitirdik. Kassandra, protokolü, bileşenleri ve kurulumu. Web arayüzü aracılığıyla yapıyı öğrendik ancak bununla buzdağının sadece ucuna dokunduk, ilerideki derslerde tam olarak gireceğiz. CQL ve profesyonel olarak nasıl çalışılır Kassandra.