Yeni Cevap 
 
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
Yazar Mesaj
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #1
Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
Cevaplayana 1.000.000 ytl veremem ama cevaplayabilen bu parayı kazanacak google algoritması gibi bir yapı geliştirebilir.

Gitti gidiyordaki filitreleme örneği:
[Resim: gittigidiyorfilitre.gif]

Shopping deki filitreleme örneği:
[Resim: shoppingfilitre.gif]

Matriks yapısı oluşturarak veriye ulaşma denemesi
[Resim: matriks.JPG]

olayı şöyle düşünmek lazım.

dizinler ve dosyalara aşınayız.

ben şöyle bişey istiyorum.
a/b/c/d/e
a/b/c/d/f
a/b/c/d/g
dizini olsun eğer e hangi dizindeymiş dediğinde d eşzamanlı döndürülecek.

e, f, g kriterlerimiz olsun. gittigidiyor ve shopping yapılarına bakıpta daha değişik bir mantıkta yürütülebilinir.

matriks yapısına bakarsak

P = ürün id
A = 1. kriter
B = 2. kriter
C = 3. kriter
D = 4. kriter

ürüne kayıtlı
1 kriter varsa 0 ve 1 olma durumu = 2 olasılık
2 kriter varsa bir önceki olasılık 2 * 2 = 4
3 ise 4* 2 = 8
4, 8*2 = 16
5, 16*2 = 32
6, 32*2= 64
7, 64*2= 128
8, 128*2 = 256
9, 256*2 = 512
10, 512*2 = 1024
11, 1024*2 = 2048
12, 2048*2 = 5096
13, 5096*2= 10192
14, 10192*2 = 20384
15, 20384*2= 40768



15 farklı kriterde veriye bir anda ulaşmak için
bir kayıt 40.768 farklı şekilde veritabanına yazılacak.

her bir kritere integer değer atanırsa
normalde 15*4 = 60 byte + ürün id 4 byte = 64 byte + 8 byte adres
= 72 byte

1 ürün 2.78 mb 15 kriteri sorgulamada ihtiyaç duyar.
3 mb a yuvarlayalım. 1000 ürün 3 gb. 10.000 ürün 30 gb,
100.000 ürün 300 gb, 1.000.000 ürün 3 tb.

bu yapıda 1 uncu ürüne 15 farklı kriterle anında ulaşmak için
3 tb ın adreslenmesi gerekir.

15 kriterden her kriteri eksilttiğinizde sabit diskten 1/2 kazanç sağlayacaksınız

1.000.000 kayıtta kriterize ederken teorikte
14 kriter ile 1.5 tb
13 ile 750 gb
12 ile 325 gb
11 ile 180 gb
10 ile 90 gb lık adresleme ise max hıza ulaştırmış olacaksınız...


10 kriter ile teorikte denenebilir.

10 kriter ne demek google i düşünün

10 farklı kelime yazdınız yanyana arıyorsunzu demek

hepside olacak demek

örnek:" ali okula gitti giderken koprüye rasladı deli dumrul köğrüde bekliyordu"
10 kelime var bunu google de aramak gibi Smile bizim kriterlerde...

Sonuçta arama değilge kriterleri verip 0 sn de direk yerine gidip bulan bir yapı geliştirmek lazım.
12-07-2008 19:38
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
skassas Çevrimdışı
Senior Member
****

Mesajlar: 109
Katılım: Jul 2008
Rep Puanı: 1
Mesaj: #2
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
"ali okula gitti giderken köprüye rasladı deli dumrul köprüde bekliyordu"

google bişey bulamadı :-)
16-07-2008 13:51
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
snowbird Çevrimdışı
Administrator
*******

Mesajlar: 2,239
Katılım: Jul 2008
Rep Puanı: 23
Mesaj: #3
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
Bu nedenle indexleme yapıyoruz ya tablolarda. Bu da yetmiyor cache yapıyoruz
16-07-2008 19:01
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #4
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
İkisininde yetmediği durumlar var. Indexlemeyi her yönüyle uyguladım bu olayı çözmede yetersiz kalıyor. gitigidiyor cache ile çalışıyor yani gittigidiyor idealimiz değil. shopping nasıl yapıyor bilmiyorum.

Fakat bu olay matriks e benziyor. Değişik bir çözüm olma ihtimalini de düşünmek lazım.

kriterimiz örneğin il olsun. illerin listesi kriter listesinde ve 1 milyon üründe listeden seçilen il ID si o kriterin bulunduğu alana denk geliyor. şu şu kriterlerde olması durumunda. yani kriteri çoğalttıkça index şimesi oluşuyor. ve kriter sayısıda DB lerde limitli oluyor.
16-07-2008 19:12
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
skassas Çevrimdışı
Senior Member
****

Mesajlar: 109
Katılım: Jul 2008
Rep Puanı: 1
Mesaj: #5
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
üniversitedeyken kütük yönetimi diye bir ders gördüğümü hatırlıyorum. verilerin disk üzerinde dağılımı ve erişme mantığı anlatılıyordu. bir kaç algoritma vardı. üzerinden uzun zaman geçti aklımda kalan sadece dersin adı. disk üzerinde kullanılan model belkide veritabanları içinde geçerli olabilir.önemli olan verinin saklanış ve erişim modeli. istersen araştır belki işini görür.
16-07-2008 22:20
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #6
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
1.500.000 ürün ve kriterleriyle toplam 50.000.000 veride işlem yaptığım ve hedefimin 0.001 de istenilen kriterde istenilen veriyi bulma denemesi idi. 5 ile 10 gb arası bir index tablosu oluşturdum. mysql en başta çöktü. mssql ile bir öiktar ilerledim fakat veri eklemesi ve trasferi çok zaman aldı. sonuçta ciddi ciddi veri tabanı yazmayı bile düşündüm. Fakat veriye nasıl hizli ulaşacam sorunlar çok

her şeyin dinamin olması lazım ve kriter içinde kriter ve hesaplamalar tamamen dinamik olacak
cache almadan önce çok hızlı bir çalışan yapı olması lazım ki. cache ancak ziyaretçi trafiğine karşı alınmış önlem olsun.
16-07-2008 23:48
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
php Çevrimdışı
Professional
******

Mesajlar: 1,112
Katılım: Sep 2008
Rep Puanı: 11
Mesaj: #7
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
bu sorunun nasıl yapılacağını bu kadar karmaşanın içinden çıkamıyorum.

ama kendi geliştirdiğim ve uyguladıım çözümü anlatayım belki işinize yarayabilir.şöyle ki;

bildiğiniz gibi bazı kategorilere filtreleyerek listemele uygulamak çok çok etkili oluyor ama bazı kategorilere filtre yapmakta bi o kadar saçma olur.

örnekse;

müzik kategorisinde Türkçe Pop kategorisine ait ürünler listenirken hızlıal.com'daki gibi markalara göre filtrelemek gayet saçma bence. bunun yerine bu kategoriye Türkçe kategorisinde yer alan dier kategorileri yazabiliriz.

if category id 95959 sa bunu göster.

ama diğer taraftanda cep telefonu da satıyorsanız o zaman filtreleyerek listeletmek gayet iyi olacaktır.

ben bu mantıktan yola çıkarak şunu geliştirdim ve uyguladım;

eğer kategori id si 0005995954'sa (id cep telefonu kategorisinin id si olucak tabi) x.php yi göster.
x.php de

3G
Var(90)
Yok(190)

şeklinde yazdım. Var seçeneğinin linkinide products_properties tan destek alarak sorgulattım.
aynı sayfada birde değişken var tabi eğer seçim x se böyle yaz dedim.

bunu uygulamak gerçekten zor oldu ama asıl iş uygulamak değilde takip etmek.

çünkü ben filtre özelliklerini elle giriyorum mecburen.

ama şimdilik kendimce bu yolla bir çözümle işime devam ediyorum.

gün geçtikçe tabii ki bunları geliştireceğime inanıyorum. birlikte geliştirebileceğimizide düşünüyorum.

saygılar.
25-01-2009 23:44
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #8
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
Çözüm için MapReduce ve paralel programlama algoritmasını kullanmak gerektiğini görüyorum. Bu konularda detaylı bir araştırma yapmak lazım. Facebook, Bloggerlar, Google yanında devlerin uyguladığı popüler bir yöntemmiş. Ben 1.000.000 dedim ama büyük firmalar buna milyarlar harcıyormuş. Smile
17-10-2011 21:24
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
php Çevrimdışı
Professional
******

Mesajlar: 1,112
Katılım: Sep 2008
Rep Puanı: 11
Mesaj: #9
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
Onların elinde milyon dolarlar olduğu için harcamakta zorlanmadıklarına eminim Smile
05-11-2011 19:10
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
Pay2Phone Çevrimdışı
Junior Member
**

Mesajlar: 3
Katılım: Apr 2014
Rep Puanı: 0
Mesaj: #10
RE: Veri filitreleme nasıl hızlı olur. 1.000.000 ytl lik soru?
Kaliteli işler birçok akıllı beyinden farklı düşünceler çarpışıp tek doğruyu bulması ile oluşabilir.
03-04-2014 18:56
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
Yeni Cevap 


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi