Ev Kişisel Finans NoSQL'de tutarlılık yöntemleri uygulayan NoSQL

NoSQL'de tutarlılık yöntemleri uygulayan NoSQL

İçindekiler:

Video: Veri Ön İşleme 1 : Veri Temizleme (Veri Madenciliği Teorik 2) 2024

Video: Veri Ön İşleme 1 : Veri Temizleme (Veri Madenciliği Teorik 2) 2024
Anonim

Bir veritabanının tutarlılığı özelliği, Veriler bir veritabanına başarıyla yazıldığında, takip eden sorgular verilere erişebilir ve verilerin tutarlı bir görünümünü elde edebilir. Uygulamada, bu, bir veritabanına bir kayıt yazarsanız ve derhal o kaydı talep ederseniz, onu göreceğiniz garantisin demektir. Amazon siparişleri ve banka havaleleri gibi işler için özellikle yararlıdır.

Tutarlılık yine de kayan bir ölçektir ve burada bir konu kapatılamayacak kadar derin. Bununla birlikte, NoSQL dünyasında, tutarlılık genellikle iki kampdan birine ayrılır:

  • ACID Tutarlılığı (ACID Atomicity, Tutarlılık, İzolasyon, Dayanıklılık anlamına gelir): ACID, verilerin yazılmasıyla birlikte, tam bir tutarlılığa sahip olduğunuz anlamına gelir. okur.

  • Son Tutarlılık (BASE): BASE, bir kez verilerin yazıldığı zaman okumak üzere görüneceği anlamına gelir.

Veritabanında güçlü tutarlılığın gerekli olmadığına ve kesinlikle gerekli olduğuna inanan ( kişi - NoSQL şirketlerine tercüme ediyoruz) insanlar arasında bir savaş patlak verdi 'pazarlama departmanları! ).

Gerçeklik arasında bir yerde var. Bir kişinin Facebook yayınını tüm arkadaşları tarafından beş dakika boyunca görmediği önemli mi? Hayır muhtemelen değil. "Facebook yayınını" "milyar dolarlık-finansal işlem" olarak değiştirin ve tutumunuz hızla değişir! Hangi tutarlılık yaklaşımını seçerseniz duruma bağlıdır. Benim durumumda da, kritik kurumsal sistem durumlarında güçlü tutarlılık her zaman seçimdir.

ACID

ACID, yalnızca ilişkisel sistemlere ya da sadece veritabanlarına bağlı bir şey değil, işlem sistemleri için genel bir ilkeler dizisidir, bu nedenle hakkında bilinmesi önemlidir. ACID temel olarak, " Bu veritabanı, verilerin bozulmasını veya kaybedilmesini engelleyebilecek olanakları, " anlamına gelir; bu, tüm veritabanları için verilmemiştir. Aslında, NoSQL veritabanlarının büyük çoğunluğu ACID garantisi sağlamaz.

Vakıf DB, MarkLogic ve Neo4j önemli istisnalardır. Bazı NoSQL veritabanları, bir işlemin tamamlanmasına izin verilmeden önce başka birisinin bir belgeyi değiştirip değiştirmediğini doğrulayan Kontrol ve Belirle adlı daha düşük dereceli bir garanti sağlar. Tek kayıt temelli olarak uygulanmaya eğilimli olduğu için bu davranış genellikle sınırlıdır.

MongoDB, Kontrol ve Ayar özellikleri sağlayan dikkate değer bir veritabanıdır. MongoDB ile bir düğüm değerinde veri güncellenirken kilitlenebilir ve böylece işlem tamamlanıncaya kadar tüm okuma ve tüm yazma işlemleri engellenir.Şirket bu sınırlamayı kaldırmaya çalışıyor.

BASE

BASE, ACID garantisi vermek yerine, veritabanının ayarlanabilir tutarlılık ve veri kullanılabilirliği dengesine sahip olduğu anlamına gelir. Verili bir veritabanı kümesindeki düğümlerin, veritabanının bir bölümünün birincil yöneticileri olarak davranması ve diğer düğümlerin salt okunur yinelemeleri olması genellikle duruma bağlıdır.

Her istemcinin tüm güncelleştirmeleri görmesini sağlamak için (yani, verilerin tutarlı bir görünümüne sahip olurlar), verileri taşıyan birincil düğüme yazma okuma tüm kopyaları güncel olana kadar kilitlenmelidir. Buna, iki - faz taahhüdümü denir - değişiklik yerel olarak yapılır ancak yalnızca diğer tüm düğümler güncellendiğinde müşteriye uygulanır ve doğrulanır.

BASE, işlemin başarıyla tamamlanması için aynı veriyi tutan düğümlerin yalnızca bir alt kümesinin kullanılmasını gerektiren bu gereksinimi hafifletir. İşlemin tamamlanmasından bir süre sonra, salt okunur çoğaltma güncellenir.

Bu yaklaşımın avantajı, işlemlerin daha hızlı yapılmasıdır. Okunabilir canlı kopyaları olması da, verilerinizin okuma yükünü yayarak okumayı daha hızlı hale getirebileceğiniz anlamına gelir.

Olumsuz yön, okunan bazı kopyalara bağlanan müşterilerin belirtilmemiş bir süre için güncel olmayan bilgileri görebilmesidir. Bazı senaryolarda bu durum iyidir. Facebook'ta yeni bir mesaj yayınlarsanız ve bazı arkadaşlarınız bunu birkaç dakika görmüyorsa, büyük bir kayıp değil. Yine de, bankanıza bir ödeme emri gönderirseniz derhal bir işlem yapmak isteyebilirsiniz.

Yalnızca salt okunur çoğaltmalara alternatif bir yaklaşım, bir kümedeki yalnızca bir düğümün veritabanının belirli bir bölümüne hizmet ettiği, paylaşılan - hiçbir kümesine sahip olmaktır.

Paylaşımsız hiçbir şey, çoğaltmayı kaybettiğiniz anlamına gelmez. Bu yöntemi kullanan veri tabanları, genellikle verilerini bir başka birincil düğümdeki veya düğümlerin üzerindeki bir ikincil alana kopyalar; ancak yalnızca herhangi bir zamanda okuma ve yazma için tek bir düğüm vardır.

Paylaşımsız kümeler daha basit bir tutarlılık modeli avantajına sahipler ancak kopyalara iki fazlı taahhütte bulunmaları gerekir. Bu gerçek, tüm kopyalar güncellenirken işlemin kilitlendiği anlamına gelir. (Diğer düğümler için bir dahili kilit artı kilitleme, iki aşamalı verir.

Bununla birlikte, shared-nothing çoğaltma veri alanları, salt okunur kopyaları olan paylaşılan veri kümelerinden daha az etkiye sahiptir; veritabanının bir parçası. Bu nedenle, paylaşılan-yok bir kümede iki aşamalı taahütler okunabilir kopyaları olan bir kümede olduğundan daha hızlıdır.

ACID veya BAZ seçimi?

Tahmin edebileceğiniz gibi, tartışmanın büyük kısmı, NoSQL satıcılarının farklı, benzersiz bir yaklaşım iddia ederek kendilerini rakiplerinden ayırt etmeleri olabilir. Bununla birlikte, yol haritasında ACID uyumluluğuna sahip olan NoSQL satıcılarının sayısına dikkat etmek ilginçtir.

Bazı NoSQL veritabanları, BASE'in destekçileri olmasına rağmen, yol haritalarında ACID uyumluluğuna sahiptir; bu da, ilgili ACID garantilerinin, kuruluş, misyon - kritik sistemleri arasındaki oranını gösterir.

Birçok şirket fikirleri sınarken standartlardan bağımsız ürün kullanıyor ancak fikirleri kritik bir sistemde yaşamak isteyince ACID uyumlu bir ücretli veri tabanına geçiyorlar.

ACID'ye ihtiyacınız olup olmadığına karar vermenin en kolay yolu, insanların ve diğer sistemlerin verilerinizle olan etkileşimlerini değerlendirmektir. Örneğin, verileri eklerseniz veya güncellerseniz, bir sonraki sorgunun değişikliği görebildiğinden emin misiniz? Başka bir deyişle, veritabanının mevcut durumuyla ilgili önemli kararlar mı veriliyor? Eski verilerden biraz görmek bu kararların ölümcül olabileceği anlamına mı gelir?

Finansal hizmetlerde tutarlılık ihtiyacı açıktır. Tüccarların hisse senedi satın almayı düşünün. Ticareti öncesi nakit dengesi kontrol etmeli ve ticareti karşılayacak paraya sahip olduklarından emin olmalıdırlar. Doğru bakiyeyi görmezlerse, başka bir işlem üzerinde para harcamaya karar verirler. Sorgulayan veri tabanı sonunda tutarlıysa, yeterli fon eksikliğini göremeyebilir ve böylece kuruluşlarını finansal riske maruz bırakabilirler.

Sağlık hizmeti, savunma, istihbarat ve diğer sektörlerde BASE üzerinde ACID için benzer vakalar oluşturulabilir. Her şey yine de verilere kaynıyor ve zamanlamanın ve veri güvenliğinin önemi.

NoSQL'de tutarlılık yöntemleri uygulayan NoSQL

Editörün Seçimi

Kullanarak Excel Array İşlevini kullanın: LOGEST for Statistical Analysis - aumlalar

Kullanarak Excel Array İşlevini kullanın: LOGEST for Statistical Analysis - aumlalar

Bir ilişki kurulması mümkündür doğrusal olmaktan çok eğrisel olan iki değişken arasında. Excel işlevi LOGEST, bu eğrisel denklem için a ve b'yi tahmin eder. Aşağıdaki resim LOGEST İşlev Argümanları iletişim kutusunu ve bu örneğe ait verileri göstermektedir. Sonuçlar için de bir dizi gösterir. Bu işlevi kullanmadan önce ...

Excel Veri Analizi Eklentisi'ni kullanarak - <TABLOLAR ile

Excel Veri Analizi Eklentisi'ni kullanarak -

Veri Analizi eklentisi (Excel'in önceki sürümlerinde Analiz Araç Paketi veya ATP olarak bilinir) her çeşit istatistiksel analiz yapmanıza yardımcı olur - ve satış tahminleri kesinlikle bir tür istatistiksel analizdir. Bir eklenti, Visual Basic kodunu içerir: Excel'in çalıştırabildiği bir BASIC sürümünde genellikle yazılmış bir program. Bu ...

Editörün Seçimi

Yaşlanma Karşıtı İpuçları -

Yaşlanma Karşıtı İpuçları -

Akdeniz'de yaşayan bir yaşam tarzı da hissetmenize ve bakmanıza yardımcı olabilir elinden gelenin en iyisi. Besin maddelerinde yüksek bir diyet, ılımlı aktivite ve arkadaşlarınızla çok fazla kahkaha sizi sağlığın avantajlarından istifade etmenizi sağlar! İşte Akdeniz yaşam tarzıyla zarifçe yaşlanmanın bazı yolları. Uzun ömürlülüğün artırılması: NIH-AARP Diyet ve Sağlık Araştırması ...

Akdeniz Diyetinde Meze ve Tatlı Tarifleri - AYDINLATMA

Akdeniz Diyetinde Meze ve Tatlı Tarifleri - AYDINLATMA

Akdeniz Diyeti lezzet ve lezzetle doludur. Çeşitlilik. Herhangi bir yaşam tarzı gibi, bir salata ve antreyi içeren Akdeniz menü seçimleri yapmanız gerekir. Akdeniz yaşam tarzınıza uyan mezeler ve tatlılar için çok seçenek var.

Akdeniz'de Popüler Fındık ve Tohum Çeşitleri Diyet -

Akdeniz'de Popüler Fındık ve Tohum Çeşitleri Diyet -

Burada bir liste Akdeniz beslenme için gerekli olan fıstığı ve tohumları. Seçtiğiniz fındık ve tohum çeşitleri ne olursa olsun, kendinize bir iyilik yapıyor ve faydalar biriktiriyorsunuz demektir. Ayrıca ne kadar çok yerseniz, aldığınız besin maddelerinin çeşitliliği de o kadar artar. Fakat bazı fıstık ve tohumlar düşer ...

Editörün Seçimi

Web Sitelerini 960 Grid - Mankenler İçinde Tasarlama

Web Sitelerini 960 Grid - Mankenler İçinde Tasarlama

Web sayfalarını tasarlama zorluğuna, web sayfalarının neden 960 px genişliğiyle başlaması gerekir. Fakat onlar mı? Hayır, hepsini değil. Ancak web tasarımcılarının sayfaları standart bir 960 px genişliğine getirmek için çekim yapmalarının zorlayıcı güçlü nedenleri var: işlev ve ...

Bir Gezinti Yapısı Nasıl Geliştirilir - aumlalar

Bir Gezinti Yapısı Nasıl Geliştirilir - aumlalar

Bir gezinme yapısı bir web sitesinin planlanması için anahtardır. Bir gezinme yapısı, yalnızca sayfaları çizmekten çok daha üst düzeyde soyutlamayı içerir. Bir navigasyon akış şeması (veya site haritası), materyalleri aracılığıyla ziyaretçilere nasıl rehberlik edeceğinizi organize eder. Sitenizde bir şeyler arayan engellerin ziyaretçiler önünde bulunmasını istemezsiniz. ...

HTML5'i HTML5 Dışı Ortamlarda Dağıtma - mankenler

HTML5'i HTML5 Dışı Ortamlarda Dağıtma - mankenler

HTML5 öğeleri en çok sayfa düzeni oluşturmak için mantıklı bir yol. Üstbilgi ve altbilgi gibi, hangi içeriğin hangi öğe içerisine girdiğini açıkça gösteren etiketlerle, tasarımcıların yaşamını kolaylaştırıyorlar. Ayrıca, arama motorları HTML5 yapı öğelerini tanımayı ve bunları birleştirmeyi öğrenirler; içeriği, arayan kişiler için daha erişilebilir hale getirirler ...