• 13-12-2013, 01:12:50
    #1
    Üyeliği durduruldu
    Arkadaşlar merhabalar,

    Yerel arama motoru projemiz için projeyi üstlenecek ve teslim edecek kişiler arıyoruz.

    Örnek vermek gerekirse elimizde aşağıdakine benzer 25.000 adet web sayfası ve bu sayfalara ait 125 milyon alt URL var... (geleceğe yönelik düşünülerek oluşturulacak yapıda verdiğim sayıların 5-6 katını desteklenmesini istiyoruz)

    https://www.r10.net/php/1172376-gunde...mumkun-mu.html

    Bizim yapmak istediğimiz de bu 25.000 adet web sayfasında almak istediğimiz alanların taglarını sisteme manuel olarak gireceğiz, sonra bot(lar) tüm url'lere giderek verdiğimiz taglar arasındaki verileri alacak ve veritabanına kaydedecek. (Başlık - Resim - Açıklama) gibi.. Resim yok bu arada örnekti sadece. Herhangi bir resim veya video çektirmeyeceğiz. Tamamen text tabanlı olacak.

    Eğer gidilen url'ye daha önce girilmiş ise tekrar tekrar tüm veriyi taratmaktansa, (iş yükünü hafifletmek için) sadece konuda değişiklik var mı diye baktırarak update ettireceğiz. Yani ikinci girişlerde sadece tek bir tagı aldıracağız. Eğer sistem ikinci kez aynı url'ye giriyorsa tek tagı alıp çıkacak. (değişiklik olmasa da update olabilir, değişikliği algılatmak sistemi çok yorabilir.) Bu arada geçmişte girdiği bir siteye ulaşamıyor veya ilk kez giriş yapacağı bir siteye ulaşamıyorsa 404vs.. gibi hata kodunu alarak geri dönmesini istiyoruz. Sonraki yapacağımız manuel değerlendirme ile bir süre sonra bot(lar)ı sisteme tekrar gönderebiliriz.

    Daha da açıkcası işin en genel hali ise, bir arama motoru yapmak istiyoruz. Fakat sadece tek bir alanda tarama yapacak. Tüm interneti taratmaya zaten gücümüz yetmez. Bizim amacımız blogları taratarak DB'ye kaydetmek. Yerel bir kütüphane oluşturmak peşindeyiz.

    Beni burada korkutan 2 temel unsur var...

    1. 25bin adet sitenin ve 125 milyon adet URL'nin haftada en az 1 kere update olması gerekiyor. Site yayından kalkmışsa konuların silinmesi, anlık bir ulaşamama vs. karşı ilk aşamada pasif hale gelmesi ve aramalardan düşmesi gerekiyor. Haftada 125 milyon url de günlük kabaca 20 milyon url yapıyor. Ayrıca 25bin sitenin hergün kontrol edilerek site kapandığında sistemde pasife düşürmek gerekiyor.

    Kaba bir örnekle sistem şu şekilde işleyecek,

    İLK AŞAMA - Veri Toplama
    1. Blog sahibi isterse sitesini arama motoruna ekleyecek,
    2. Yeni eklenen her siteyi anlık kontrol ederek, uygun bulduklarımızı db'ye ekleyeceğiz.. Sitenin bulunduğu ülke ve şehir de aynı zamanda eklenecek.
    3. Yeni eklenen sitelere ait alt url ve alınmasını istediğimiz tagları sisteme gireceğiz. Ortalama her sitede 7000 civarı konu bulunmakta.
    4. Botlarımız giderek siteyi tarayacak ve bizim belirttiğimiz tagları alacak. ( Başlık - Açıklama - Resim ) gibi düşünün..
    5. Alınan veriler veritabanına kaydedilecek.

    İKİNCİ AŞAMA - Verileri Sunma (Arama Motoru)
    1. Sitedeki aramalar sadece başlıklara göre yapılacak. Konu içeriğini taramayacağız.
    2. Aynı başlığa sahip konu birden çok sitede var ise gruplama yapabilmeli. Burada kaba bir örnek sunmak istiyorum;

    Veritabanımızda 5 adet site var; SİTE1 - SİTE2 - SİTE3 - SİTE4 - SİTE5
    Kullanıcı sistemde; PHP KODLAMA diye bir terim arattı...
    Veritabanındaki sitelerin içerdiği konular da şu şekilde (sadece başlığa bakıyoruz)

    SİTE1 : PHP KODLAMA
    SİTE2 : PHP KODLAMA
    SİTE3 : PHP KODLAMA TEKNİKLERİ
    SİTE4 : PHP KODLAMA TEKNİKLERİ
    SİTE5 : PHP KODLAMA DERSLERİ

    burada sonuç olarak vermek istediğimiz bu 5 sitenin alt alta yazılmış şekli değil, gruplanmış şekli olacaktır.;

    PHP KODLAMA (2 Sitede Mevcut) (tıklandığında mevcut 2 siteyi gösterecek)
    PHP KODLAMA TEKNİKLERİ (2 Sitede Mevcut) (tıklandığında mevcut 2 siteyi gösterecek)
    PHP KODLAMA DERSLERİ (zaten tek site olduğu için direk link olabilir.)

    1. Yapılacak işte kullanılacak teknoloji hakkında ufak bir bilgi,
    2. Veritabanı ve kodlama yapısı ile cachleme yapısının mevcut yükü kaldırabilmesi adına uygulanabilecek tekniklerle ilgili ufak bir bilgi,

    ile birlikte

    Konu ile ilgili süre/maliyet tekliflerinizi sunarsanız çok sevinirim.
  • 13-12-2013, 01:26:46
    #2
    Merhaba;

    Bu sistem için öncelikle işi yapacak arkadaşın kesinlikle bid data mantığı ile bu işi yapması gerekiyor. hadoop sistemlerine hakim olması ve tercihen java ile yazılması gerekiyor. Öteki türlü column base veritabanları belli bir süre sonra text search de tıkanacaktır. hadoop bu sistemler için enfes bir çözümdür ve google da bigtable-hadoop kullanır. facebook ve twitter gibi sistemlerde hadoop kullanır.

    Sadece yardımcı olmak için tavsiyelerimi yazmak istedim.
  • 13-12-2013, 02:15:42
    #3
    Üyeliği durduruldu
    yLmz adlı üyeden alıntı: mesajı görüntüle
    Merhaba;

    Bu sistem için öncelikle işi yapacak arkadaşın kesinlikle bid data mantığı ile bu işi yapması gerekiyor. hadoop sistemlerine hakim olması ve tercihen java ile yazılması gerekiyor. Öteki türlü column base veritabanları belli bir süre sonra text search de tıkanacaktır. hadoop bu sistemler için enfes bir çözümdür ve google da bigtable-hadoop kullanır. facebook ve twitter gibi sistemlerde hadoop kullanır.

    Sadece yardımcı olmak için tavsiyelerimi yazmak istedim.
    Verdiğiniz bilgiler için çok teşekkür ederim.
  • 13-12-2013, 03:13:46
    #4
    kodlaması basit de, bir sürü server satın almanız lazım. yazılımla bitmiyor iş. hem tarama yapmak için hemde arama yapmak için. yılmaz kardeşim hadop madop önemsiz. tablo mimarisini düzgün yazarsan hiçbirşey olmaz. işte sorun bu taramayı yapacak serverlara lere geliyor.
  • 13-12-2013, 03:32:41
    #5
    Üyeliği durduruldu
    yLmz adlı üyeden alıntı: mesajı görüntüle
    Merhaba;

    Bu sistem için öncelikle işi yapacak arkadaşın kesinlikle bid data mantığı ile bu işi yapması gerekiyor. hadoop sistemlerine hakim olması ve tercihen java ile yazılması gerekiyor. Öteki türlü column base veritabanları belli bir süre sonra text search de tıkanacaktır. hadoop bu sistemler için enfes bir çözümdür ve google da bigtable-hadoop kullanır. facebook ve twitter gibi sistemlerde hadoop kullanır.

    Sadece yardımcı olmak için tavsiyelerimi yazmak istedim.
    pyromus adlı üyeden alıntı: mesajı görüntüle
    kodlaması basit de, bir sürü server satın almanız lazım. yazılımla bitmiyor iş. hem tarama yapmak için hemde arama yapmak için. yılmaz kardeşim hadop madop önemsiz. tablo mimarisini düzgün yazarsan hiçbirşey olmaz. işte sorun bu taramayı yapacak serverlara lere geliyor.

    Görüşünüz için teşekkür ediyorum. Tabi ki bizler de farkındayız bazı şeylerin.


    Fakat şahsen şahit olduğum bir olayı anlatayım size, arkadaşım Türkiye'de çok büyük bir şirkete güzel de bir ücret ödeyerek bir haber sitesi yaptırdı.. Site ortalama 200K hite geldiğinde sistem çöktü. Örnek olarak sunucusu i7 işlemcili ve 64gb ramli idi.

    Aynı siteyi gerçekten işi bilen kişiler devraldı ve optimizasyon ile i5 işlemci 16gb ramde %100 sorunsuz bir şekilde üstelik 250K ortalama hitle çalıştırdılar.


    Burada bizim için kaynakları da son derece verimli kullanmak önemli. Bu yüzden bende Hadoop ve MongoDB ile birlikte PHP yerine Phyton veya C (perl, java) taraftarıyım. Lakin sizin kadar uzman değilim ve olamam da. Sadece araştırmalarım sonucunda edindiğim bir görüş bu.
  • 13-12-2013, 09:50:45
    #6
    Bunun için öncelikle ciddi bir yazılım maliyetnin yanında sunucu maliyeti olacaktır. load balancerı sağlam yapılmalı tek sunuculuk iş olamaz bu ne kadar sağlam olursa olsun, VT anlamındada kesinlike oracle derim
  • 13-12-2013, 10:19:57
    #7
    Herkesin dile getirdiği gibi sunucu maliyeti olacak. Veritabanı olarak Oracle i öneriyorum. Bir çok büyük firma kullanmakta.

    SM-N9000Q cihazımdan Tapatalk kullanılarak gönderildi
  • 13-12-2013, 11:20:35
    #8
    lucene ve hadoop her ikiside açık kaynak kodlu ve onlarca büyük projeye hayat veriyor
  • 13-12-2013, 15:09:18
    #9
    Üyeliği durduruldu
    Ureticy adlı üyeden alıntı: mesajı görüntüle
    Bunun için öncelikle ciddi bir yazılım maliyetnin yanında sunucu maliyeti olacaktır. load balancerı sağlam yapılmalı tek sunuculuk iş olamaz bu ne kadar sağlam olursa olsun, VT anlamındada kesinlike oracle derim
    Merhabalar..

    Oracle tabi ki yeterliliği konusunda tartışmaya açık değil. Fakat benim kafama takılan, MongoDb, Hadoop vs. varken neden oracle tercih edilmeli?

    L0pht adlı üyeden alıntı: mesajı görüntüle
    Herkesin dile getirdiği gibi sunucu maliyeti olacak. Veritabanı olarak Oracle i öneriyorum. Bir çok büyük firma kullanmakta.

    SM-N9000Q cihazımdan Tapatalk kullanılarak gönderildi
    Ben sınırlı bilgimle bir bot oluşturdum. 24 saat içinde tek sunucu üzerinden 3.5 milyon URL taratabildim. (multi-curl) Oracle haricinde, mongodb ve hadoop hakkında görüşlerinizi de alabilirsem çok sevinirim. Teşekkürler.

    victories adlı üyeden alıntı: mesajı görüntüle
    lucene ve hadoop her ikiside açık kaynak kodlu ve onlarca büyük projeye hayat veriyor
    Açıkcası bende hadoop ve mongodb arasında gidip gelmekteyim.