Ev Kişisel Finans NoSQL bölümlerini işleme - kuklalar

NoSQL bölümlerini işleme - kuklalar

İçindekiler:

Video: Azure Friday | Azure Cosmos DB: Get the Most Out of Provisioned Throughput 2024

Video: Azure Friday | Azure Cosmos DB: Get the Most Out of Provisioned Throughput 2024
Anonim

Sözcük bölme, NoSQL arazisinde iki farklı kavram için kullanılır. veri bölümü , verilerin bir küme boyunca eşit şekilde dağıtılmasını sağlayan bir mekanizma. Öte yandan, ağ bölümü , aynı veritabanı kümesinin iki parçasının iletişim kuramadığı durumlarda oluşur.

Çok büyük kümelenmiş sistemlerde, bir ekipmanın arızalanması olasılığı giderek artmaktadır. Bir kümedeki sunucular arasındaki bir ağ geçişi başarısız olursa, (bilgisayar alanında jargon olarak anılacaktır) bir fenomen bölünmüş beyin oluşur. Bu durumda, tek tek sunucular hala istek alır, ancak birbirleriyle iletişim kuramazlar.

Bu senaryo, veri sunucusunda en az sunuculu ağ bölümü kümeden kaldırıldığından (veya "gerçek Big Brother modasında" oyundan çıkarılır ") veri tutarsızlığına veya yalnızca veri depolama alanındaki kapasitenin azalmasına neden olabilir).

Bölümlere tolerans gösterme

Bir ağ bölümü oluştuğunda iki seçeneğiniz vardır:

  • Okuma ve yazma işlemlerine hizmet vermek için bazı düzeylerde devam edin.

  • Bölümün bir bölümünü "devreden çıkar" ve her iki bölüm de iletişim kurduğunda verileri daha sonra düzeltmeye karar verin. Bu, genellikle, kümenin, eksik bir ana bölüm düğümü için yeni bir ana okuma kopyasını oylamasını gerektirir.

Riak, bir okumanın başarılı olması için kaç kez veri çoğaltılacağını (üç kopya, varsayılan olarak - n = 3) ve kaç sunucunun sorgulanması gerektiğini belirlemenize izin verir. Bu, bir anahtarın birincil ana kullanıcısının bir ağ bölümünün yanlış tarafında olması durumunda, diğer iki sunucu kullanılabilir olduğunda (yani, r = 2 okunabilir durumdaysa) okuma işlemleri başarılı olabilir demektir.

Riak, birincil bölüm sunucusu ima atıf olarak adlandırılan bir sistemi kullanarak çöktüğünde yazmaları yönetir. Veriler orijinal olarak çoğaltılırken, belirli bir anahtar bölümünün ilk düğümü (varsayılan olarak) aşağıdaki komşu düğümlerden ikisine yazılır.

Birincil yazılamazsa, halkadaki bir sonraki düğüme yazılır. Bu yazarlar etkili bir sonraki düğüme aktarılır. Birincil sunucu yeniden geldiğinde, yazma işlemleri, birincil yazma işlemlerini tekrar ele geçirmeden önce o düğüme tekrar gönderilir.

Bu işlemlerin her ikisinde de, sürüm uyuşmazlıkları olabilir, çünkü farklı çoğaltmalar birkaç milisaniye olsa bile farklı sürüm durumlarında olabilir.

Riak, bu sorunu hafifletmek için aktif anti - entropi adlı başka bir sistem kullanmaktadır. Bu sistem, güncellenmiş değerler üzerinden gezinir ve kopyaların bir noktada, tercihen daha geç olmadan güncellenmesini sağlar.Bu, diğer NoSQL veritabanları tarafından master-köle, paylaşımsız kümeleme desteği ile kullanılan iki aşamalı bir taahhütten kaçınan yüksek bir beslenme hızı sürerken çakışmaları önlemeye yardımcı olur.

Okunurken bir çelişki olursa, Riak yalnızca en yeni veriyi geri getirmeye çalışmak için okuma onarım 'ı kullanır. Sonunda, ve kullandığınız tutarlılık ve kullanılabilirlik ayarlarına bağlı olarak, istemci uygulaması birden fazla sürümle sunulabilir ve kendisi için karar vermenizi istedi.

Bazı durumlarda, bu ticaret avantajı arzu edilir ve sunulan pek çok uygulama, sunulan verilere, hangi sürümün kullanılacağına ve hangi sürümün atılacağına dayalı olarak sezgisel olarak bilinebilir.

İkincil endeksleme

İkincil endeksler, bir değerin içindeki belirli verilere ilişkin endekslerdir. Çoğu anahtar / değerli mağazalar, bu endekslemeyi uygulamaya bırakır. Bununla birlikte, Riak, doküman - tabanlı bölümleme olarak adlandırılan ve sekonder endeksleme yapılmasına izin veren bir şema kullanan farklıdır.

Belgeye dayalı bölümleme, JSON yapılarını Riak veritabanına yazdığınızı varsayar. Daha sonra, bu JSON yapısında aşağıdaki gibi belirli adlandırılmış özelliklerde dizinler oluşturabilirsiniz:

{"sipariş kimliği": 5001, "müşteri kimliği": 1429857, "sipariş tarihi": "2014-09-24 "," Total ": 134. 24}

Bir müşterinin bir önceki ay siparişlerini gösteren bir uygulamanız varsa, burada gösterildiği gibi tüm kayıtları sorgulamak istersiniz; müşteri kimliği sabit bir değerdir (1429857) ve sipariş tarihi belli bir aralıkta (ayın başı ve sonu).

Çoğu çoğu anahtar / değerli mağazada, kombine müşteri numarası ve ayı olan anahtar olan sipariş kimliğinin bir listesi olan başka bir kova oluşturursunuz. Bununla birlikte, Riak'ta ekstra depolama alanına sahip olmakla birlikte uygulama geliştiricisine şeffaf olmanın avantajına sahip olan yalnızca müşteri kimliği (tam sayı) ve sipariş tarihi (tarih) üzerinde ikincil bir dizin eklemeniz yeterlidir.

Bu indeksler de canlı olarak güncelleştirilir; yani, Riak'ta bir doküman değerinin güncellenmesi ile bugüne kadar olan dizinler arasında gecikme yoktur. Verilere olan bu canlı erişimi, göründüğünden daha zor çıkarmak zordur. Sonuçta, endeksler tutarlı değilse, sürekli olarak tutulan verileri bulamazsınız!

Riak'ın Değerlendirilmesi

Riak'ın arkasındaki ticari varlık olan Basho, yaklaşmakta olan 2,0 NoSQL veritabanının her zaman güçlü bir tutarlılığa sahip olduğunu ve diğer NoSQL satıcılarının yaptığı bir iddianın olduğunu söylüyor. NoSQL tedarikçilerinin her zaman güçlü tutarlılığa sahip oldukları iddiası, biftek bifteklerinin bulunduğu pazar günleri hariç, güçlü vejetaryen olmayı iddia etmek gibi bir şeydir.

Riak, ACID uyumlu bir veritabanı değildir. Yapılandırması, ACID uyumluluk modunda çalışacak şekilde değiştirilemez. İstemciler, normal işlemler sırasında veya ağ bölümleri sırasında tutarsız veri alabilir. Riak artan kullanılabilirlik ve bölüm toleransı için mutlak tutarlılık sağlar.

Riak'ı güçlü tutarlılık modunda çalıştırmak, okunan kopyalarının birincil ana ile aynı saatte güncellendiği anlamına gelir. Bu, iki aşamalı bir taahhüt içerir - temelde, ana düğüm yazmanın tamamlandığını onaylamadan önce diğer düğümlere yazar.

Bu yazının yazıldığı sırada Riak'ın güçlü tutarlılık modu ikincil dizinleri veya karmaşık veri türlerini desteklemez (örneğin, JSON). Umarım, Basho bu sorunu veritabanının gelecek sürümlerinde çözecektir.

Yeniden markalanmış ve entegre bir Apache Solr arama motoru, sonunda tutarlı bir güncelleme modeli kullanan Riak Search, güçlü tutarlılık kullanırken yanlış pozitif sonuçlar doğurabilir. Bu durum, verilerin yazılabileceği ve ardından işlemin terk edilebileceği, ancak veriler yine de "yanlış pozitif" arama sonucu bırakarak endeksleme için kullanıldığı - sonuç aslında arama sorgusu için geçerli değildir çünkü oluşur.

Riak ayrıca, yerine çalışma koşullarında hangi düğümün ana sunucu haline geldiğini belirlemek için ayrı bir bekçi işlemi kullanır. Bununla birlikte, bu süreç oldukça uygun değildir, yani birkaç saniye boyunca, bekçi süreci 'un yeni bir kopyası çevrimiçi duruma getirilirken yeni bir düğüm eklenemez veya yeni bir düğüm eklenemez usta seçildi. Yüksek stresli yerine çalışma koşullarında bu olasılığın farkında olmalısınız.

Riak, uygulama geliştiricileri için ikincil dizin oluşturma ve yerleşik JSON değeri desteği gibi bazı güzel özelliklere sahiptir. Diğer veri merkezlerine felaket kurtarma için veri tabanı çoğaltılması yalnızca fiyatı web sitelerinde bulunabilen ücretli sürümde kullanılabilir (gösterilen kira fiyatları, yalnızca lisanslı fiyat geçerlidir).

Riak Control küme izleme aracı, kümeleri izlerken gecikme süresi yüzünden de pek fazla kabul edilmemektedir. Riak çok fazla söz verir ve Basho gelecekteki sürümlerde daha fazla kurumsal - düzey küme yönetimi imkânı eklerseniz, sınıfının en iyisi haline gelecektir.

NoSQL bölümlerini işleme - kuklalar

Editörün Seçimi

Dijital Fotoğrafınızda Odak Noktası Yaratın - mankenler

Dijital Fotoğrafınızda Odak Noktası Yaratın - mankenler

Fotoğraf bir sanat biçimidir. İyi fotoğrafçılar, insanların bakmak isteyeceği çekici bir fotoğraf oluşturmak için kompozisyon kurallarını kullanırlar. Resminizi nasıl görselleştireceğinizi, çerçevede olanı düzenleyebileceğinizi ve ardından ilginç bir fotoğraf oluşturmak için kompozisyon kurallarını nasıl kullanacağınız. Doğal çerçeveleri kullanma Doğal çerçeveleri çizmek için kullanabilirsiniz ...

Dijital Fotoğraf Makinenizi Kullanarak Panoramik Resimler Oluşturma - mankenler

Dijital Fotoğraf Makinenizi Kullanarak Panoramik Resimler Oluşturma - mankenler

Dijital fotoğraf makineniz size yol göstermez panoramik bir fotoğraf çekmek için. Ancak, kesintisiz bir panoramik çekim oluşturmak için çakışan birkaç resim çekebilir ve onları birbirine dikebilirsiniz. Fotoğraf panoramasını oluşturmak için işinize bakalım:

Ham Dosyaları dönüştürme - mankenler

Ham Dosyaları dönüştürme - mankenler

Birçok dijital fotoğraf makinesi, görüntüleri Camera Raw dosya biçiminde veya sadece Ham olarak yakalayabilir. Bu format, JPEG formatında çekim yaparken oluşan olağan post-processing'leri uygulamadan herhangi bir görüntü sensöründen elde edilen ham görüntü verilerini depolar. Ham formatta çekim, bir takım avantajlar sunar. Fakat olumsuz ...

Editörün Seçimi

Ile iBS Dostu Tarçın Krepleri Ghee - dummies'le Domuz Dostu Tarçın Krep

Ile iBS Dostu Tarçın Krepleri Ghee - dummies'le Domuz Dostu Tarçın Krep

Sabahınıza enerji artışı sağlayan krep düşünün endişesizsiniz. Bu tarif, bir sabah herkesin sevebileceği bir Karbonhidrat Diyeti (SCD) versiyonudur.

IBS Sufferers için sardalya Yayılmış Tarif - mankenler

IBS Sufferers için sardalya Yayılmış Tarif - mankenler

Bu aperitif, pumpernickel ekmeği konusunda harika, fakat ayrıca buğdaydan kaçınırsanız, filizlenmiş ekmeği denemek istersiniz. Sardalya, iyi bir kalsiyum ve D vitamini kaynağı olduğu kadar, iltihap düzeylerini azaltmaya yardımcı olduğu bilinen omega-3 yağ asitleri. Kredi: © Digiphoto, 2006 Caroline Nation bunu geliştirdi ...

Editörün Seçimi

ASVAB: Kelime Bilgisi Alt Test Uygulaması - mankenler

ASVAB: Kelime Bilgisi Alt Test Uygulaması - mankenler

ASVAB'da göreceğiniz alt testlerden bir tanesi Kelime Bilgi testi. Test gününde soruların ve biçimin neye benzeyeceği hakkında bir fikir edinmek için aşağıdaki soruları inceleyin. Örnek sorular Kelime Bilgi Zamanı: 35 soru için 11 dakika Talimatlar: Kelime Bilgisi alt testi üçüncü alt testtir ...

ASVAB Paragraf Anlama Alt Sınavında Sözlük Sorularını Nasıl Yanıt Vereceksiniz - mankenler

ASVAB Paragraf Anlama Alt Sınavında Sözlük Sorularını Nasıl Yanıt Vereceksiniz - mankenler

Kelime Bilgisi ASVAB üzerinde alt test, bu tür soru, bir kelimeyi pasaj bağlamında kullanılan şekilde tanımlamanızı gerektirir. Sorunun doğru tanımı, sözcüğün en yaygın anlamı olabilir veya daha az bilinen bir anlam olabilir ...

Sorunlarını Nasıl Yanıtlayalım ASVAB - aumlalar

Sorunlarını Nasıl Yanıtlayalım ASVAB - aumlalar

Sayı problemleri ASVAB üzerinde bulacağınız sayı problemleri oldukça basittir. Sorular, sayıları temel ekleme, çıkarma, çarpma veya bölme ile değiştirmenizi ister. Çoğu kişi bu tür kelime problemlerini oldukça kolay buluyor. Birkaç tane denemek ister misiniz, sadece ayağınızı ıslatmak için mi? Elbette. Jesse ...