• 20-09-2019, 15:57:14
    #1
    Vps'emde bulunan 3 subdomainde 3 farklı dbye sahibim. Her bir mySql db nin boyutu 1Gb den büyük.
    Bü 3 db yi tek bir dbde birleştirsem performans sorunu yaşarmıyım. Yani sadece tablo ön eklerini değiştirerek tek bir db dosyasında toplasam sorun yaşar mıyım? Örneğin Vps de şuan ortalama mysql işlemci kullanımı %10 ise bu işlemden sonra sunucuya binen yük artar mı? Sitelerde performans sorunu yaşanır mı? Birleşimden sonra ki db boyutu yaklaşık 5Gb olacak. Neden böyle bir şey yapıyorsun derseniz kullanıcı girişlerini ortak yapma gibi bir durum var ondan dolayı.
  • 20-09-2019, 16:07:24
    #2
    çalışıyorsa tozu bile alınmaz

    amaç sadece user table'ın ortak kullanılması ise 4. bir db aç ve user sorguları için bu db'i ortak kullandır
  • 20-09-2019, 16:26:05
    #3
    masterdisk adlı üyeden alıntı: mesajı görüntüle
    çalışıyorsa tozu bile alınmaz

    amaç sadece user table'ın ortak kullanılması ise 4. bir db aç ve user sorguları için bu db'i ortak kullandır
    Dokunma diyorsun yani
    Her 3 sitede de hazır script kullandığım için çekirdek kodlara müdahale etmek benim için en son adımlardan biri. Kullandığım scriptin aynı dbde kullanıcılar ortak kullanma gibi bir özelliği olduğu için birleştirmeyi düşünmüştüm.
  • 20-09-2019, 16:29:24
    #4
    kksal555 adlı üyeden alıntı: mesajı görüntüle
    Dokunma diyorsun yani
    Her 3 sitede de hazır script kullandığım için çekirdek kodlara müdahale etmek benim için en son adımlardan biri. Kullandığım scriptin aynı dbde kullanıcılar ortak kullanma gibi bir özelliği olduğu için birleştirmeyi düşünmüştüm.
    3 db'i birleştirdiğinde yine koda müdahale edip user table sorgusunu değiştirmeyecekmisin

    e o zaman 4. db için user table sorgusunu düzenle, değişen bir şey yokki tamamını birleştirme haricinde

    edit: Kullandığın scriptin aynı dbde kullanıcılar ortak kullanma gibi bir özelliği var ise aynı ön ek ile olan db lerde bu işler. sen 3'ünü birleştirip her birinin user table ön eki farklı olacak
  • 20-09-2019, 16:33:57
    #5
    masterdisk adlı üyeden alıntı: mesajı görüntüle
    3 db'i birleştirdiğinde yine koda müdahale edip user table sorgusunu değiştirmeyecekmisin

    e o zaman 4. db için user table sorgusunu düzenle, değişen bir şey yokki tamamını birleştirme haricinde
    Hayır kodlara müdahale etmiyorsun. Sadece config dosyasında kullanmak istediğin tablonun ön ekini yazarak işlemi tamamlıyorsun. Kullandığım sistem Q2A soru cevap scripti.
  • 20-09-2019, 16:49:41
    #6
    kksal555 adlı üyeden alıntı: mesajı görüntüle
    Hayır kodlara müdahale etmiyorsun. Sadece config dosyasında kullanmak istediğin tablonun ön ekini yazarak işlemi tamamlıyorsun. Kullandığım sistem Q2A soru cevap scripti.
    config dosyasına kullanmak istediğin tablonun ön ekini yazıyorsan bu kullandığın sistem tüm sorgularda (user, description,category vs...) tanımladığın ön ekli tabloyu kullanmıyormu?

    aşağıda db leri birleştirdin ve config dosyalarından ön eklerini düzenlediğini ve user sorgusunda herhangi bir değişiklik yapmadığını varsayıyorum.
    site1 > site1_sitedb
    site2 > site1_sitedb
    site3 > site1_sitedb

    3 site de site1_sitedb database'ini kullanıp user sorgusunu site1_sitedb.user table'ından, description sorgusunu site1_sitedb.description table'ından çekmeyecekmi ? 2. ve 3. site de > 1. siteye ait description table'ından sorgu çekecek.
  • 20-09-2019, 17:05:25
    #7
    masterdisk adlı üyeden alıntı: mesajı görüntüle
    config dosyasına kullanmak istediğin tablonun ön ekini yazıyorsan bu kullandığın sistem tüm sorgularda (user, description,category vs...) tanımladığın ön ekli tabloyu kullanmıyormu?

    aşağıda db leri birleştirdin ve config dosyalarından ön eklerini düzenlediğini ve user sorgusunda herhangi bir değişiklik yapmadığını varsayıyorum.
    site1 > site1_sitedb
    site2 > site1_sitedb
    site3 > site1_sitedb

    3 site de site1_sitedb database'ini kullanıp user sorgusunu site1_sitedb.user table'ından, description sorgusunu site1_sitedb.description table'ından çekmeyecekmi ? 2. ve 3. site de > 1. siteye ait description table'ından sorgu çekecek.
    .aynı db içinde bulunan tablolar aşağıdaki gibi olacak. 2 tane wordpressi aynı dbye kurduğunu düşün. Sadece tablo ön ekleri farklı
    site1 > qa1_tablolar
    site2 > qa2_tablolar
    site3 > qa3_tablolar

    Her sistemi tablo ön eki farklı olacak. Sadece config dosyasında yapacağın ayar ile user tablosu harici olacak şu öneke sahip tablodan işlenecek diyeceksin. Diğer tüm bilgileri kendi önekine sahip tablolardan çekicek. Yani sadece user işlemleri için qa1_user tablosu kullanılacak diğer tüm işlemler için kendi ön ekine sahip tablolarla yapılacak. En azından açıklamada yer alan bilgiler böyle. Deneme yaptığımda da aynı şekilde sonuç aldım.
    Tek sorun yaklaşık 50milyon satır mysql dbyi nasıl birleştiririm ve birleştirdikten sonra sorun yaşar mıyım. Siteler çok aktif olduğundan iyi düşünüp veri kaybı veya performas sıkıntı yaşamadan sorunu çözmek gerek.
  • 20-09-2019, 17:24:53
    #8
    kksal555 adlı üyeden alıntı: mesajı görüntüle
    .aynı db içinde bulunan tablolar aşağıdaki gibi olacak. 2 tane wordpressi aynı dbye kurduğunu düşün. Sadece tablo ön ekleri farklı
    site1 > qa1_tablolar
    site2 > qa2_tablolar
    site3 > qa3_tablolar

    Her sistemi tablo ön eki farklı olacak. Sadece config dosyasında yapacağın ayar ile user tablosu harici olacak şu öneke sahip tablodan işlenecek diyeceksin. Diğer tüm bilgileri kendi önekine sahip tablolardan çekicek. Yani sadece user işlemleri için qa1_user tablosu kullanılacak diğer tüm işlemler için kendi ön ekine sahip tablolarla yapılacak. En azından açıklamada yer alan bilgiler böyle. Deneme yaptığımda da aynı şekilde sonuç aldım.
    Tek sorun yaklaşık 50milyon satır mysql dbyi nasıl birleştiririm ve birleştirdikten sonra sorun yaşar mıyım. Siteler çok aktif olduğundan iyi düşünüp veri kaybı veya performas sıkıntı yaşamadan sorunu çözmek gerek.
    peki, madem tüm sistemler qa1_user tablosundan tanımlanıp sorgu çekebiliyor qa1_user+qa2_user+qa3_user barındırdığı satırları qa1_user altında birleştir.

    benim kafamda kurguladığım yapı ile gerçek hayattaki yapın farklı sanırım, yine de tüm db leri birleştirmek yerine ortak user db kullanmanı tavsiye ederim. yavaşlıktan ziyade olası felaket senaryosuna göre ben bakıyorum. 50milyon dan bahsediyorsun, sunucuda loglamadan kayaklı db crash olursa 3 domain birden çalışmaz ama dediğim şekilde olursa hangi db crash olursa o çalışmaz.