• 07-02-2015, 18:09:49
    #1
    merhaba bir veri tabanı oluşturucam aslında bazı şeyler sabit yani

    2 sutun olacak
    1. sutun 30 karakterlik sabit
    2. sutun 1-10 karakterlik

    toplamda 1 veya 2 milyara yakın veri olacak veriler bir daha hiç değiştirilmeyecek sabit yani fakat sürekli okunacak sorgulamalar olacak üzerinde
    veritabanı olarak sadece mysql ve dil olarak php kullanabilirim.
    zaten proje web tabanlı yayın verecek.
    mysql sizce bu 2 milyar kayıtı tutabilirmi sabit veri çekimlerinde hız olarak çok zorlanırmı kaynak tüketimi normalden çok olurmu?

    aklıma gelen 2 şey ise

    bir klasör içinde gruplandırarak bu verileri tutmak veriler sabit bir kere oluşturulacak değiştirilme yok bunu 30 haneli sabit olanı tek klasör değilde örnek
    a/b/c/d/e/f/......./z gibi iç içe 29 klasör oluşturup son klasörde dosyayı tutsam dosyanın içinede diğer veriyi yazsam olabilirmi

    yani veri tabanı kullanmak yerine klasörleyip gruplandırsam ki bir dosya 8byte civarı tutsa 1 milyar kayıt 8GB alan tutuyor


    yani mysql mu kullanmalıyım yoksa bu şekilde dizinleri gruplayıp dosya olarakmı yazmalıyım hangisi sunucu yükünü daha az tutar?
  • 07-02-2015, 18:51:51
    #2
    Bu konuda pek uzman değilim fakat bir önemli faktör daha var. Sitenin anlık ne kadar ziyaretçiye sahip olacağı
  • 07-02-2015, 21:10:42
    #3
    MAV adlı üyeden alıntı: mesajı görüntüle
    Bu konuda pek uzman değilim fakat bir önemli faktör daha var. Sitenin anlık ne kadar ziyaretçiye sahip olacağı
    anlık değilde dakikada 5-6 sorgu yapılabilir
  • 07-02-2015, 21:29:59
    #4
    tek aramada hepsini taramak yerine çok basamaklı taratın. Yani verileri ortak noktalarından gruplandırın.
    Kendi fikrim tabii
  • 07-02-2015, 22:27:42
    #5
    server eğer çok iyi degilse bu kadar veride sorgulama yapmak zorlar , tavsiyem guruplara ayırman ve ona göre düzenleme sağlama sql konusunda uzman birinden destek alman lazım.

    ama tavsiyem guruplara ayır.
  • 07-03-2015, 17:47:18
    #6
    İlk olarak index kullanınız.Daha sonrada sütunu full-text search yapısını kullanınız ve sql komutlarınızda LIKE ile hedefi bulmak yerine full-text search komutu ile arama yapınız.

    ALTER TABLE `tabloadı` ADD FULLTEXT `fulltextindex` (`arama yapacağınız sütun adı`). //sütunlarınızı fulltext-search yapıya çevirme

    SELECT * FROM tabloadı WHERE MATCH (sütunadı) AGAINST ('arama'); //arama yaparken kullanacaksınız

    LIKE e göre kat be kat daha hızlıdır

  • 07-03-2015, 17:57:08
    #7
    Hocam JSON formatında verilerinizi saklamanızı öneririm.
  • 02-05-2015, 18:01:24
    #8
    sağlam bir veritabanı sunucun olması gerekmektedir.