MySQL Fabric ve MySQL Cluster arasındaki fark nedir


9

MySQL dünyasında yeniyim ve ikisi tarafından karıştırıldım. İkisi de yüksek kullanılabilirlik ve parçalanma sağlamıyor mu?

Ayrıca, WebScaleSQL nasıl karşılaştırılır?

Yanıtlar:


20

Bu 3 şeyin birbiriyle bir ilgisi yok. Size bir giriş yapacağım ve daha fazla ayrıntıyı ayrı olarak arayabilir veya isteyebilirsiniz:

MySQL Kümesi , "NDB Kümesi" veya "MySQL NDB Kümesi" gibi şu anda muzdarip olduğunuz gibi kafa karışıklıklarını önlemek için çoğumuzun aradığı pazarlama adıdır. Bu bir olan MySQL için paylaşımsız bir yapıya izin veren senkron çoğunlukla bellek sadece anahtar-değer deposu (NDB Motoruna bir arka uç sağlayan). Sağladığı otomatik Sharding (yani daha iyi yazma hızı okuyup) ve yüksek kullanılabilirlik. Yüksek verimli anahtar / değer küçük veri sistemleri için iyi çalışır, ancak kurulumu nispeten karmaşıktır (doğru yapılandırılmamışsa veya istenmeyen şekillerde kullanılırsa sorunlara yol açar) ve en iyi şey gecikme değildir- akıllıca (ham hız). Bu basitleştirilmiş sürümdür (yalnızca bellek ve anahtar / değer çiftinden daha fazla şey için kullanılabilir, ancak etrafında tasarlanmıştır). Bence, çok iyi bir mühendislik parçası, ancak ayrı indirmeleri olan normal bir MySQL sunucusundan farklı bir ürün olduğundan (ve belirli bir motorun kullanılmasını gerektirdiğinden) sınırlı kullanım durumlarına sahiptir.

MySQL Fabric , çoğaltılmış GTID ortamında bir dizi normal MySQL sunucusunun yönetilmesine izin veren, python ile yazılmış bir dizi araç / ara katman yazılımıdır . Kendi başına bir küme değilancak birinin yönetilmesini kolaylaştırır. Java ve Python konektörlerine (şimdilik) bağlantılara sahiptir, bu nedenle sunucuların parçalanmasını ve yüksek kullanılabilirliğini otomatik olarak işleyebilir, ancak normal MySQL sunucularının ve düzenli çoğaltmanın üstünde bir katmandır (InnoDB gibi normal depolama motorları kullanılabilir) . Çoğaltma, şimdiye kadar asenkron (veya yarı senkron) olduğundan, kendi başına en iyi tutarlılığı ve güvenliği sağlamayabilir; bu, gelecekteki 5.7 sürümlerinde değişebilir. Ancak, bu yaklaşımın gecikme süresi daha azdır ve MySQL DBA'nın daha tanıdık çoğaltma teknolojisini kullanır. MySQL Fabric mahallede nispeten yeni bir çocuktur, bu yüzden henüz çok genişlememiştir, ancak Oracle'ın rakibin Galera tabanlı kümelerine tepkisi (duyurulan eşzamanlı çoğaltma ile birlikte) gibi görünmektedir.

Parçalama ve HA'ya ihtiyacınız varsa, eski 2 üründen birini kullanabilirsiniz, ancak muhtemelen tamamen farklı senaryolar için.

WebScaleSQL bir HA çözümü değildir, öncekiler gibi, sadece birkaç şirketin MySQL'in çatalına / sürümüne verdikleri ve ihtiyaç duydukları belirli yamaları paylaştıkları ve belki de Oracle'ın uygulamadığı addır . Bildiğim kadarıyla Facebook, Twitter, LinkedIn ve Google tarafından oluşturuldu ve bu ortak tabanın üstünde kendi MySQL sürümlerini yeniden oluşturuyorlar. Destek veya ikili sürüm sağlamazlar. Son kullanıcıysanız, muhtemelen onu kullanmaya özen göstermemelisiniz, ancak ondan ne ortaya çıkacağını veya diğer satıcıların yanıtlarını görmek için projeye dikkat etmelisiniz.

MySQL HA / ölçeklendirmeyi öğrenmeye / başlatmaya çalışıyorsanız, temel MySQL çoğaltmasıyla başlayın (en iyisi olmayabilir, ancak başlamak için en kolay şeydir), o zaman diğer çözümlere devam edebilirsiniz: DRBD [ sic], GTID replikasyonu, NDB, Galera, Tungsten.


Neden DRBD isminden sonra "[sic]" yazıyorsunuz? Onlara baktım ve teknolojik açıdan oldukça etkileyici görünüyorlar.
Vérace

DRBD, blok düzeyinde bir teknolojidir, yani DB veya arabellekleri hakkında hiçbir şey bilmiyor demektir. OLTP sistemleri için mükemmel bir performans beklemeyin; etkin etkin olamaz (salt okunur modda bile değil), MySQL çökerse, yerel olarak çöktüğü gibi kurtarmanız gerekir ve sizi veritabanı bozulmasından korumaz. Mantıksal düzeyde saf bir "paylaşılan hiçbir şey" teknolojisi değildir - daha çok dağıtılmış bir RAID'dir, bu yüzden MySQL için% 100 uygun değildir. Düşük yazma yükü için veya aynı anda birkaç protokol dağıtmanız gerekiyorsa güzeldir. Satır tabanlı yarı senkron çoğaltma, aksi takdirde üstündür.
jynus

@ Vérace ... Özetle, bir kullanım senaryosu itirazı (MySQL kümeleme), daha yüksek seviyeli protokollerin bulunmayabileceği / daha uygun olabileceği diğer durumlarda teknolojiye karşı hiçbir şeyim yok.
jynus

Mükemmel anladım - tamponlama ile ilgili nokta iyi yapılmış - DRBD, dediğiniz gibi, MySQL'in içleri hakkında hiçbir şey bilmiyor - yani bir çökme durumunda işlenen ancak henüz diske yazılmayan şeyler kaybolacak.
Vérace

2

MySQL Fabric, sorguları ve işlemleri doğrudan en uygun MySQL Sunucusuna yönlendirebilen bir MySQL Fabric düğümü / işlemi (yönetim işlevlerini gerçekleştirir) ve Fabric'e duyarlı konektörler olarak uygulanır. MySQL Yapı düğümü, durum ve yönlendirme bilgilerini Durum Deposunda (bir MySQL veritabanı) depolar.

MySQL Kümesi, paylaşılan hiçbir şey sisteminde bellek içi veritabanlarının kümelenmesini sağlayan bir teknolojidir. Paylaşılan hiçbir şey mimarisi, sistemin çok ucuz bir donanımla ve donanım veya yazılım için minimum özel gereksinimlerle çalışmasını sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.