Multisite bir ağdaki farklı siteler için farklı veritabanı sürümleri kullanmak genellikle desteklenmez ve teknik olarak karmaşıktır. Tipik bir multisite ağ mimarisinde, tüm siteler veritabanı yönetim sisteminin (DBMS) aynı veritabanını ve aynı sürümünü paylaşır. İşte bu konunun, çok bölgeli bir kurulumda farklı veritabanı sürümlerinin kullanılmasıyla ilgili kavramı, sonuçlarını ve alternatiflerini ele alan kapsamlı bir keşif.
Çoklu Ağ Veritabanı Yapısını Anlama
WordPress Multisite gibi çoklu bir ağ, birden çok siteye verileri depolamak için tek bir veritabanı örneği kullanır. Veritabanı, tüm ağ için geçerli olan ve her sitenin verilerini benzersiz önekler kullanarak farklı tablolara ayıran temel ağ tablolarını tutar. Sitelerin kendi ayrı veritabanları yoktur; Bunun yerine, aynı veritabanı sunucusunu ve örneğini paylaşırlar, ancak tek tek sitelere karşılık gelen farklı tablolar veya tablo setleri ile paylaşırlar.
Bu, tüm siteler aynı veritabanı örneğine bağlı olduğundan, temel veritabanı sistemi (MySQL, MariaDB veya diğer desteklenen RDBMS) sürümünün tüm çoklu ağ boyunca düzgün olması gerektiği anlamına gelir. DBMS sürümü, depolanan tüm veriler için veritabanının özelliklerini, performansını ve uyumluluğunu kontrol eder. Bazı sitelerin daha yeni veya farklı bir veritabanı sürümü kullanması mümkün değildir, bazıları ise aynı veritabanı sunucusunda bulunursa eski bir sürüm kullanır.
Teknik Kısıtlamalar
- Tek Veritabanı Örneği: Çoklu bir ağ tek bir veritabanı örneği kullanır. Bu, tüm sitelerde veritabanı sunucusunun yalnızca bir çalışan sürümü olduğu anlamına gelir.
- Veritabanı Motor Uyumluluğu: Veritabanı sürümü, mevcut motor özelliklerini, SQL lehçelerini ve performans optimizasyonlarını yönetir. Bir şema içindeki farklı sürümleri karıştırmak mümkün değildir.
- Tablo önek ayrımı: Her site için veriler tablo önekleri ile ayrılmış olsa da, tabloların hepsi aynı küresel veritabanında bulunur. Bu, tüm tabloların veritabanı motorunun aynı sürümüyle uyumlu olması gerektiği anlamına gelir.
- Tekdüzen DBMS Sürümü: Tüm Multisite Ağı, kartta tek tip bir DBMS sürümüne dayanır. Herhangi bir güncelleme veya indirgeme tüm siteleri aynı anda etkiler.
Farklı veritabanı sürümleri gerekiyorsa ne olur?
Farklı siteler farklı DBMS sürümleri gerektiriyorsa, tipik bir multisite kurulumu bükülmeden bunu yerine getiremez. Bu gereksinim aşağıdakilerden kaynaklanabilir:
- Daha yeni veya eski veritabanı özellikleri gerektiren bazı eklentiler veya temalarla uyumluluk sorunları.
- Farklı bir sürüm tarafından daha iyi sunulan performans ayarlama veya optimizasyon gereksinimleri.
- Veritabanı motora özgü hatalar veya sınırlamalar.
Multisite mimari bir veritabanı örneğine dayandığından, farklı siteler için farklı veritabanı sürümlerini barındırmanın tek gerçek yolu, bunları ayrı ağlara veya ayrı bağımsız kurulumlara bölmek, her biri istenen sürümü çalıştıran kendi veritabanı sunucusu örneğine sahip olmak olacaktır.
Site başına farklı veritabanı sürümlerine alternatifler
Bağımsız WordPress kurulumlarıyla site başına ayrı veritabanı sunucuları
Bir multisite yerine, her biri kendi veritabanı sunucusuna sahip farklı siteler bağımsız olarak ayarlayabilirsiniz. Bu tam esneklik sunar ancak fedakarlıklar:
- Birleşik Yönetim
- Merkezi kullanıcı ve eklenti kontrolü
- Siteler arasında yedekleme kolaylığı
- Paylaşılan temalar ve eklentiler
Bu yaklaşım, sitelerin çok farklı teknik ve güvenlik gereksinimlerine sahip olduğunda en iyisidir.
Aynı sunucuda birden çok veritabanı
Bazen, birden çok veritabanı aynı sürümle aynı veritabanı sunucusu örneğinde bulunabilir. Bu, site başına farklı sürümlere olan ihtiyacı karşılamaz, ancak veri depolama açısından ayrılmaya izin verir.
Multisite kullanın ancak tek tip DBMS sürümü ile
Siteler tek bir veritabanı sürümü altında çalışabiliyorsa, multisite güçlü bir seçenek olmaya devam eder. Ağ içinde, siteler ayrı tablolara sahiptir, ancak hepsi aynı veritabanı sunucusu sürümünü ve çekirdek kurulumunu paylaşır.
WordPress Multisite özellikleri
WordPress Multisite Networks, paylaşılan ağ düzeyinde tablolar (örn. WP_USERS, WP_SITE, WP_BLOGS) ve ardından her site için benzersiz bir site önekine sahip bir site özel tabloları oluşturur (örn. Site 2 için WP_2_Posts). Tüm tablolar tek bir veritabanında bulunur, böylece tek bir veritabanı sürümü tüm ağa hizmet eder. WordPress çekirdeği, eklentiler ve temalar tutarlı bir veritabanı ortamı varsayar.
Farklı sürümleri kullanmaya çalışmanın potansiyel riskleri
Aynı çoklu ağdaki siteler için bir veritabanının farklı bir versiyonunu denemek veya simüle etmek:
- Bazı SQL sorguları bazı sürümlerde kullanılamayan özelliklere dayanırsa veri bozulması.
- DBMS nedeniyle eklenti uyumsuzluğu veya başarısızlık.
- Yedeklemeler ve göçlerdeki karmaşıklıklar.
- Çok bölgeli ortamın genel dengesizliği.
Güvenlik ve performans hususları
Birleşik bir veritabanı sürümü, ağ çapında güvenlik yamalarına ve performans iyileştirmelerine fayda sağlar. Farklı veritabanı sürümlerini korumaya çalışmak, karmaşıklığı ve maliyeti artırarak birden fazla veritabanı sunucusu gerektirir.
Özet
- Multisite Networks bir veritabanı ve bir DBMS sürümünü paylaşır.
- Multisite içindeki farklı siteler farklı veritabanı sürümlerini kullanamaz.
- Site başına ayrı veritabanı sürümleri, bağımsız veritabanlarına sahip ayrı siteler veya ağlar gerektirir.
- Veritabanı versiyonundan istikrar, güvenlik ve yönetim için tekdüzelikten multisite faydaları.
- Farklı veritabanı gereksinimleri için, ayrı DBMS örneklerine sahip bağımsız kurulumlar en iyi çözümdür.