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?
1-2 milyar kayıt sizce nasıl tutulmalı
7
●790
- 07-02-2015, 21:10:42anlık değilde dakikada 5-6 sorgu yapılabilirMAV adlı üyeden alıntı: mesajı görüntüle
- 07-02-2015, 21:29:59tek aramada hepsini taramak yerine çok basamaklı taratın. Yani verileri ortak noktalarından gruplandırın.
Kendi fikrim tabii - 07-03-2015, 17:47:18İ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