BerilTech’te Geçen 2 Ay #2

B

Geldik ikinci yazıya ve stajın teknik tarafına. İlk yazıda bahsettiklerimin biraz daha detaylı olacak diyebilirim.

Öncelikle BerilTech‘te staja başlamadan önce veri tabanı ya da veri yönetimi için MySQL’den daha güçlü bir araca hiç ihtiyacım olmamıştı. Hatta açık söylemek gerekirse MySQL’i henüz zorlayamamıştım bile. Bu sebepten ötürü “Neden MySQL’den vazgeçiyim ki?” sorusu stajın ilk vakitleri oldukça düşündürdü beni.

Yanda logosunu görmüş olduğunuz Solr, Apache Lucene’in güzel bir aracı. Temel olarak yüksek performanslı arama yapmaya (çok geniş verilerde, çok hızlı arama), gelen sonuçları farklı formatlarda vermeye yarıyor. Detayları ise daha güzel: Sonuçları cacheleyip, birkaç yönlü ya da farklı amaçlar için arama yapabiliyor. Bu sonuçları bir veri tabanı ile (mesela mysql) entegre edip üzerine düşeni fazlasıyla yapıyor.

Yüzbinlerce satırlık bir veri kümesinden dilediğiniz aramayı çok kısa sürelerde istediğiniz formatta verebiliyor. Bu aramaya tarih, koordinat veya gereken her veri türü dahil edebiliyor. Ayrıca verileri ihtiyaca göre gruplandırıp, dilediğiniz kritere göre sıralayıp, istemediğiniz alanları yoksayıp, tarihe (aralık da dahil) göre sıralayıp, JSON ile çıktı alma isteğinizin işlenmesi umduğunuzdan daha kısa sürebiliyor (mesela 0.2 saniye). Tabii ki geriye de kullanmak kalıyor 🙂

Solr’a erişmek için genelde PHP’nin Solr kütüphanesini kullandım. Solr çok hızlı gelişen bir ürün, bu yüzden PHP kütüphanesi biraz geride kalabiliyor.  Solr’ın yanında kullandığım diğer bir ürün ise Nutch oldu. Nutch ise, Solr’la birlikte çalışan ve veriyi array, html ya da dilediğiniz bir formatta çıktı olarak veren bir ürün.

2 aylık staj sürecim farklı amaçlarla da olsa bu ürünler üzerinde çalışarak ve kurcalayarak geçti. 50 binlik veri kümesini -ki her biri ortalama 20’şer tane field içeriyor- yarım saatten kısa bir sürede güncellemek ya da yeniden oluşturmayı başardım.

Bunun dışında birçok API servisi ile haşır neşir oldum. Bunları kurcalarken; veri kaybetmemek için olası hatalardan en az kayıp ile kurtulmaya çalışacak şekilde çalıştım. İlk yazdığımda birkaç gün sürebilecek bir algoritmayı üzerinde oynayarak 5 saate kadar düşürebildim. Daha da düşebilirdi fakat 5 saati 3’e çekmek için 5 saat çalışmak yerine, direkt çalıştırmaya karar verdik.

Google servislerinin apileri ile kullanışlı ve kalıcı ürünler oluşturmayı başardım. Solr’dan sonra staj döneminin diğer bir artısı da farklı servislerin sunduğu hizmetlere yönelik ürünler çıkartmaya odaklanmaktı.  Bu sayede bir geliştirici bakış açısıyla; bir api yazacak olursam neyi sunmam gerektiğini öğrendim diye düşünüyorum.

Tekrar edersem; çok verimli ve beklediğimin çok üzerinde bir staj dönemi geçirdim.
Tüm BerilTech ekibine, yardım ve desteklerinden ötürü bir kez daha teşekkür etmek istiyorum.

Yorum yaz

Oğulcan

Arşivler

Kategoriler