• 19-01-2021, 16:37:11
    #1
    Merhaba arkadaşlar,

    yoğun trafiğe ve çok fazla kayıta sahip bir sitem var. örnek vermek gerekirse 300k kayıt olan bir tablo 1k ip tarafından her dakika sorgulanıyor. haliyle ne kadar optimizede yapsak indexleride ayarlasak cpu ya etkisi oluyor. tablo içindeki veri sıfırlandığı an cpu kullanımıda zaten anında düşüyor.
    ben bu tabloyu belli kriterlere göre kendi içerisinde 10 a bölsem

    yani

    veriler adında bir tablom var

    bunu

    veriler_1
    veriler_2
    veriler_3....

    şeklinde belli şartlara göre ayırsam 300k veri neticede 10 a bölünmüş olacak büyük boyutlu tek bir tablodan sorgu olması yerine küçük boyutlu birçok tabloya sorgu yapılacak. sizce bu yöntemin bir zararı olurmu ? tablo sayısının çok fazla olması aynı veri fazlalığındaki etkiyi gösterirmi fikir verirseniz sevinirim. teşekkürler
  • 19-01-2021, 16:49:37
    #2
    performansta artış sağlar evet
  • 19-01-2021, 16:53:10
    #3
    Mssql'de full text search var. Kullandığınız veritabanına bağlı olarak, buna benzer bir index yapısının olup olmadığını araştırdınız mı?
    300K fazla bir satır sayısı değil.
    Ek olarak kullandığınız veritabanı da önemli (mysql, mssqş, postgre, mongodb vb.). Yapılandırması daha da önemli.
  • 19-01-2021, 16:59:15
    #4
    BarisSa adlı üyeden alıntı: mesajı görüntüle
    Mssql'de full text search var. Kullandığınız veritabanına bağlı olarak, buna benzer bir index yapısının olup olmadığını araştırdınız mı?
    300K fazla bir satır sayısı değil.
    Ek olarak kullandığınız veritabanı da önemli (mysql, mssqş, postgre, mongodb vb.). Yapılandırması daha da önemli.

    mariadb kullanıyorum. evet fazla bir sayı değil ancak her ip sorgusunda yeni bir kayıt oluşturuluyor tablo onay=1 onay=0 ile dönüyor çok fazla veri olduğuda söylenemez ancak dediğim gibi her dakika demek bile az gelir her saniye yığınla sorgu alıyor. mariadb ve innodb yapısı ile kullanıyorum şu an. benim için en büyük olumsuz tarafı şu hiçbir tablomda cache kullanılacak veri yok herşey değişken. o yüzdende birkaç denememde tabloları ayırmanın fazlasıyla yararını gördüm. şimdi daha ileriye götürüp 10-20-30 tablo ayırmayı düşünüyorum. bu yüzden fikir almak istedim
  • 19-01-2021, 17:03:02
    #5
    Dereck adlı üyeden alıntı: mesajı görüntüle
    mariadb kullanıyorum. evet fazla bir sayı değil ancak her ip sorgusunda yeni bir kayıt oluşturuluyor tablo onay=1 onay=0 ile dönüyor çok fazla veri olduğuda söylenemez ancak dediğim gibi her dakika demek bile az gelir her saniye yığınla sorgu alıyor. mariadb ve innodb yapısı ile kullanıyorum şu an. benim için en büyük olumsuz tarafı şu hiçbir tablomda cache kullanılacak veri yok herşey değişken. o yüzdende birkaç denememde tabloları ayırmanın fazlasıyla yararını gördüm. şimdi daha ileriye götürüp 10-20-30 tablo ayırmayı düşünüyorum. bu yüzden fikir almak istedim
    illa db mi kullanmanız gerekli? onay=0 onay=1 falan gibi basit işlemler için db kullanmanıza gerek olmayabilir belki
  • 19-01-2021, 17:06:46
    #6
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    illa db mi kullanmanız gerekli? onay=0 onay=1 falan gibi basit işlemler için db kullanmanıza gerek olmayabilir belki
    daha önce çekilen verinin aynı ip adresi tarafından tekrar çekilmemesi gerekiyor. bu yüzdende kontrol bu şekilde yapılıyor. belli bir zaman döngüsüne kadar o verileri tutmak zorundayım ne önerirsiniz ?
  • 19-01-2021, 17:09:28
    #7
    Dereck adlı üyeden alıntı: mesajı görüntüle
    daha önce çekilen verinin aynı ip adresi tarafından tekrar çekilmemesi gerekiyor. bu yüzdende kontrol bu şekilde yapılıyor. belli bir zaman döngüsüne kadar o verileri tutmak zorundayım ne önerirsiniz ?
    memcached kullanmanızı öneriyorum