@freeman
Teşekkürler db'nin büyüklüğü konusuna atfettiğiniz için katılmamıştım size çünkü dbnin büyüklüğü ciddi maliyet getiriyor.Teknik olarak @opt2000 'nin sizinkinden farkı oydu.Yoksa temelde aynı şey.
Ama teşekkürler sanırım bu sorunu hadoop halletmiş amerikayı yeniden keşfetmeye gerek yok bu konuda herkeze katılıyorum.Ama halihazırda olan bir proje için yapılabilir mi mesela ? Yoksa böyle kalması daha mı mantıklı olur onunda cevabını aldım sanırım.
Veri Tabanını Küçültecek Algoritma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Veri Tabanını Küçültecek Algoritma
Selam,
Konu ilgimi çektiği için ve de bir örnek verebileceğim için yazayım dedim.
Yaklaşık 4 yıl kadar önce bir projemde @gaus arkadaşın söylediği şekilde yapı kullanmak zorunda kalmıştım ve 4 yıldır sorunsuz ve hızlı bir şekilde çalışıyor. Fakat ben XML yada JSON kullanmadan basitçe bir ayraç ile verileri ayırarak yaptım. Şöyleki;
Sistem web üzerinde mysql veritabanı ile çalışıyor ve php ile kodladım, veritabanında bulunan 10-12 tablodaki her kayıt için sonuç değerleri tutmam gerekiyordu, önce her kayıt için bir sonuç alanı oluşturup bütün sonuçları oraya aktardım fakat tablo sayıları ve kayıt sayıları fazla olunca kaydettiğim tablolardan verileri çekmesi aşırı derecede yavaşlamaya başladı, bazen tek bir kayıt için 5-20 arasında faklı sonuç çıkıyordu, 4 yıl sonunda veritabanı boyutu 1 gb ı aşmıştı. Fakat yaklaşık 10 yıllık veri girmem gerekiyordu. Bende şöyle bir sistem oluşturdum. Ana kaydım sabit 5 alan barındırıyor diğerleri sürekli değişken oluyor, sabit 5 alan derken gruplamam ve indexlemem gereken 5 ana alan var ki sonuçları bunlara göre dağıtıyorum. Bende sonuç adında bir tablo oluşturup bu ana 5 alanı kaydedip ek bir deger alanını varchar tanımlayıp alan boyutunu 255 yaptım çıkan sonuçlarıda "5-1;6-2;7-4;8-3" gibi formatlayarak kaydettim, php de bu sonuçları gösterirkende değeri alıp parse ederek ekrana bastım. Sonuç mükemmel oldu. Daha önceleri son 4 yıllık veriden sonuçları alırken resmen kağnı gibi çalışan sistem şu an son 6 yıllık veriyle, tıklamanızla birlikte sonuçları ekrana basar oldu bu arada 2.5 milyon kayıt olmuş toplamda ve veritabanı toplam buyutuda 550 MB civarına inmiş.
Kısaca, bazı durumlarda arkadaşın bahsettiği sistemi kullanmak oldukça faydalı olabilir.
Konu ilgimi çektiği için ve de bir örnek verebileceğim için yazayım dedim.
Yaklaşık 4 yıl kadar önce bir projemde @gaus arkadaşın söylediği şekilde yapı kullanmak zorunda kalmıştım ve 4 yıldır sorunsuz ve hızlı bir şekilde çalışıyor. Fakat ben XML yada JSON kullanmadan basitçe bir ayraç ile verileri ayırarak yaptım. Şöyleki;
Sistem web üzerinde mysql veritabanı ile çalışıyor ve php ile kodladım, veritabanında bulunan 10-12 tablodaki her kayıt için sonuç değerleri tutmam gerekiyordu, önce her kayıt için bir sonuç alanı oluşturup bütün sonuçları oraya aktardım fakat tablo sayıları ve kayıt sayıları fazla olunca kaydettiğim tablolardan verileri çekmesi aşırı derecede yavaşlamaya başladı, bazen tek bir kayıt için 5-20 arasında faklı sonuç çıkıyordu, 4 yıl sonunda veritabanı boyutu 1 gb ı aşmıştı. Fakat yaklaşık 10 yıllık veri girmem gerekiyordu. Bende şöyle bir sistem oluşturdum. Ana kaydım sabit 5 alan barındırıyor diğerleri sürekli değişken oluyor, sabit 5 alan derken gruplamam ve indexlemem gereken 5 ana alan var ki sonuçları bunlara göre dağıtıyorum. Bende sonuç adında bir tablo oluşturup bu ana 5 alanı kaydedip ek bir deger alanını varchar tanımlayıp alan boyutunu 255 yaptım çıkan sonuçlarıda "5-1;6-2;7-4;8-3" gibi formatlayarak kaydettim, php de bu sonuçları gösterirkende değeri alıp parse ederek ekrana bastım. Sonuç mükemmel oldu. Daha önceleri son 4 yıllık veriden sonuçları alırken resmen kağnı gibi çalışan sistem şu an son 6 yıllık veriyle, tıklamanızla birlikte sonuçları ekrana basar oldu bu arada 2.5 milyon kayıt olmuş toplamda ve veritabanı toplam buyutuda 550 MB civarına inmiş.
Kısaca, bazı durumlarda arkadaşın bahsettiği sistemi kullanmak oldukça faydalı olabilir.