MySQL'i glusterfs üzerinde çalıştırabilir miyim?


12

Son zamanlarda glusterfs ile oynuyorum.

Ne denemek istiyorum mysqld glusterfs üstünde MySQL DRBD üstünde çalıştırmak gibi benzer bir şekilde çalıştırmaktır .

MySQL çoğaltmasını ve bu yaklaşım yerine kullanmanın avantajlarını biliyorum ve MongoDB ve diğer NoSQL çözümlerinin de farkındayım.

Ancak, MySQL'i olduğu gibi bırakıp temeldeki dosya sistemini çoğaltabilirsem birkaç projeye kolay bir çözüm olur.

Bu mümkün mü ve eğer nerede olduğunu nasıl öğrenebilirim?

Yanıtlar:


16

Cevap vermeyen oldukça uzun bir gecikme nedeniyle, deneme yanılma yoluyla öğrendim.

Cevap: Evet, mysqld'i glusterflerin üstünde çalıştırabilirim.

Bunu Ubuntu'da ayarladım ve kısaca burada adımlar var:

Asıl sorun, MySQL'in kilitleri nasıl ele aldığıdır.

Bununla birlikte, tüm bunları işlemek için glusterf'lere iletebilirsiniz, böylece birçok mysqld işlemi (ayrı düğümlerde çalışır) / mnt / glusterfs'deki aynı veritabanı dosyalarına erişebilir. Bunu dikkatlice okumalısın .


2
Ne tür bir performans sorunu görüyorsunuz?
CMCDragonkai

4
Bu gerçekten çok ilginç! Ancak, kayıt için, verilerinizin önemli olduğu her durumda bunu kullanmamanızı şiddetle tavsiye ederim. Çalışıyormuş gibi görünmesi güvenli olduğu anlamına gelmez. Şanslı olabilirsiniz ve yarış koşullarına girmemiş olabilirsiniz, ancak bu veri kaybına neden olabilir.
jlh

bir seferde 1 sunucu kullanacaksınız, değil mi? Birden fazla sunucudan çalışmayacağından eminim. Verilerinizi kaybedeceksiniz
Diego Roccia

3

Bunu bir K8 kümesinde denedi. Bir kabın içinde çalışan MySQL, GlusterFS doğrudan düğüme kurulur (kaplanmamış). MySQL kapsayıcısının her zaman G8 ile aynı düğümde çalışacak şekilde ayarlanmış bir afinitesi vardı, bu da birimi K8'in yerel GFS birim sürücüsünü kullanarak birleştiriyor.

NGINX FastCGI (PHP-FPM) önbellekleme etkinken bile WordPress siteleri için deneyimli rastgele yüksek gecikme süresi. MySQL kapsayıcısı için hostPath birimine geçildiğinde, gecikme sorunları ortadan kalktı.


2

Bunun mümkün olduğunu düşünmüyorum. Richard, sağladığınız bağlantı MyIsam hakkında konuşuyor ve bunun zaten tavsiye edilmediğini söylüyorlar. Bir yerde okudum (nerede hatırlamıyorum) birkaç düğüm tarafından paylaşılan innoDB dosyaları kullanarak veri bozulmasına yol açacaktır.


2

Neden farklı MySQL sunucu işlemlerinden aynı DB dosyalarına erişmek istediğinizi bilmiyorum ama nedeni performans ise Galera bir göz gerekir.

http://www.codership.com/content/using-galera-cluster

Maria DB ve Percona XTRA DB Kümesine entegre


GlusterFS'de Master'dan Master'a çoğaltma ne olacak?
CMCDragonkai

Okuma-ölçeklenebilirlik aramıyorsanız Galera için -1. Galera, büyük veritabanları veya yazma performansının önemli olduğu veritabanları için uygun değildir. Deneyimden ve MariaDB ile bir destek sözleşmesinden gelen tavsiyelerden bahsediyorum.
Ross Peoples

@RossPeoples dürüst olmak gerekirse OP yazma performansı için bunu yapmak olası değildir. Gluster muhtemelen her işleme gecikme süresi katar. Muhtemelen, muhtemelen tek bir dB örneğinin çalıştığından emin olmak için bir Kubernete kullanarak HA'yı arıyor olabilir.
Aron

1

Teoride yapabilirsiniz. Pratikte ve özellikle performansla ilgili olarak, Gluster kılavuzu DB dosyalarının veya diğer ince taneli G / Ç sistemlerinin kopyalanması için kullanılmasının amaçlanmadığını önermektedir.

Gluster resmi genel bakışı için buraya bakın:

http://docs.gluster.org/en/latest/Install-Guide/Overview/#is-gluster-going-to-work-for-me-and-what-i-need-it-to-do

Gluster benim için çalışacak mı ve ne yapmam gerekiyor?

... Öte yandan, karışıma yeterli Gluster sunucusu ekleyerek, bazı insanlar teknolojinin ölçek dışı yapısı nedeniyle bizimle diğer çözümlerden daha iyi performans gördü - Gluster, “yapılandırılmış veriler” olarak adlandırılan, canlı olarak desteklenmiyor , SQL veritabanları. Tabii ki, veritabanını yedeklemek ve geri yüklemek için Gluster kullanmak iyi olur - Gluster, en az 16KB dosya boyutu kullanırken (128KB civarında tatlı bir nokta ile) geleneksel olarak daha iyidir.

Bir kez daha, MySQL replikasyonuna sahip olmak istiyorsanız şunları öneririm:

  1. Geleneksel MySQL Master / Slave çoğaltmasını kullanın https://dev.mysql.com/doc/refman/5.7/en/replication.html

  2. Günümüzde Oracle MySQL veya MariaDB gibi tüm MySQL tatlarında uygulanan Codership Galera kümesini kullanın

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.