İçindekiler:
- Satır tuşlarını kullanma
- Sütun aileleri oluşturma
- Zaman damgalarını kullanma
- İkili değerlerin işlenmesi
Video: Kapasite Ölçü Birimleri (Bit,Byte, KB,MB,GB,TB) 2024
Bir Bigtable'da bir RDBMS'in yaptığı gibi tablolar bulunur, ancak bir RDBMS'den farklı olarak Bigtable tabloları genellikle diğer tablolarla ilişkiye sahip değildir. Bunun yerine, karmaşık veriler tek bir tabloda gruplanır.
Bir Bigtabltardaki bir tablo, sütun aileleri olarak adlandırılan sütunlardan oluşan bir gruptan ve bir satır anahtardan oluşur. Bunlar bir Bigtable'da tutulan tek bir veri kaydının hızlı bir şekilde aranmasını sağlar.
Satır tuşlarını kullanma
Her satırın benzersiz şekilde tanımlanması gerekir. Burada bir satır anahtarı gelir. Bir satır anahtarı, bir Bigtabandaki tek bir rekora başvurmak için kullanılan benzersiz bir dizedir. Onları birincil anahtara benzeyen veya Bigtables için bir sosyal güvenlik numarası gibi düşünebilirsiniz.
Birçok Bigtable iyi sekonder endeksler (sütun değerlerinin kendileri üzerindeki dizinler) sağlamaz, bu nedenle kayıtların hızlı bir şekilde bulunmasını sağlayan bir satır anahtarının tasarlanması iyi bir performans sağlamak için çok önemlidir.
İyi tasarlanmış bir satır tuşu, uygulamanızın okunmasını ve her kaydın uygulanabilirliğini kendiniz kontrol ettirmeksizin bir kaydın bulunmasını sağlar. Veritabanının bunu yapması daha hızlı.
Satır anahtarları, kayıtları sunucular arasında eşit olarak dağıtmak için çoğu Bigtabla tarafından da kullanılır. Kötü tasarlanmış bir satır anahtarı, diğer sunuculardan daha fazla yük (istek) alan veritabanı kümenizdeki bir sunucuya yönlendirir ve tüm veritabanı hizmetinizin kullanıcı tarafından görünür performansını yavaşlatır.
Sütun aileleri oluşturma
Bir sütun ailesi, sütunların mantıksal bir gruplandırmasıdır. Bigtables, çalışma zamanında herhangi bir tablo tanımında desteklenen sütun sayısını değiştirmenize izin verirse de, izin verilen sütun ailelerini ön tarafta belirtmelisiniz. Bunlar genellikle sunucu çevrimdışı tutulmadan değiştirilemez. Örnek olarak, bir adres defteri uygulaması Ev Adresi için bir aile kullanabilir. Bu, Adres Satırı 1, Adres Satırı 2, Alan, Şehir, İl, Eyalet, Ülke ve Posta Kodu sütunlarını içerebilir.
Tüm adreslerin tüm alanlarda veri bulunmayabilir. Örneğin, Adres Satırı 2, Bölge ve İlçe genellikle boş olabilir. Öte yandan, yalnızca Adres Satırı 1 ve Posta Kodu'nda veri olabilir. Bu iki örnek, aynı Ev Adresi sütun ailesi için de uygundur.
Değişen sayıda kolona sahip olmak dezavantajlarının var. Örneğin, belirli bir aile içerisindeki tüm sütunları listelemek için HBase yapmak istiyorsanız, sütunların tam listesini almak için tüm satırları yinelemelisiniz! Bu nedenle, bu performans düşüşünden kaçınmak için uygulamanızda veri modelinizi Bigtable klonuyla takip etmeniz gerekir.
Zaman damgalarını kullanma
Bir sütundaki her bir değer genellikle farklı sürümleri saklayabilir.Bu dönüşümler, bir zaman damgası değeri kullanılarak başvurulmaktadır.
Değerler asla değiştirilmez - farklı bir zaman damgasıyla farklı bir değer eklenir. Bir değeri silmek için, değeri temelde değerin belirli bir noktada silindiğini işaretleyen bir işaret çubuğu işaretçisi ekleyin.
Aynı satır anahtar ve sütun ailesi için tüm değerler birlikte saklanır; bu, tüm aramaların veya sürüm kararlarının ilgili verilerin bulunduğu tek bir yerde alınması anlamına gelir.
İkili değerlerin işlenmesi
Bigtables'da, değerler yalnızca bayt dizileridir. Örneğin, metin, sayı veya resim olabilirler. Onların içinde sakladığınız sana kalmış.
Sadece birkaç Bigtable klonu değer yazmayı desteklemektedir. Örneğin hipertable, değerleri ayarlamanıza ve değerlere ikincil endeksler eklemenize izin verir. Cassandra, değerler için türler tanımlamanıza izin verir, ancak aralık sorgu dizinleri (her veri türü için işlem sayısından daha az ve daha büyüktür), değer arama operasyonlarını değil anahtar arama operasyonlarını hızlandırmakla sınırlıdır.