Düğümküme » veritabanı
Burak Arikan 12.02.2010
Katalog, 2009, Banu Cennetoğlu
Katalog, 2009, Banu Cennetoğlu. 53. Venedik Bienali’nde Türkiye Pavyonu.
Ayrı ayrı çekilen fotoğrafların derlenip tek bir ürüne girmesi ve dijital kopyalanmaya açık tutulması (bkz KATALOG websitesi). Venedik’te ayaküstü başkalarının seçktileri fotoğraflardan başka kataloglar yapılabileceğini konuşurken Banu “olabilir, merak ediyorum” demişti. Orjinal sanat eserinin türevleri olmasına, başka başka sürümleri olabilmesine açık olmak.
Burak Arikan 22.08.2009
Çakma İşler Veritabanı
“Farketmeyeceğimizi mi Sandınız?” blogunda kopya işler orjinalleriyle yan yana. “İki defa kopyalanmış, bir de ben kopyalayım” diyenler için. Başlıklarıyla tuttuğum bir kaç çakma…
Urban Outfitters bu sefer Thrasher Magazine’den yürütüyor…
Burak Arikan 28.02.2009
Veritabanı İndeksleme İpuçları
Yeni bir web servisi açtınız, arkadaşlarınıza davetler gönderdiniz, yavaştan ziyaretçileriniz ve kullanıcılarınız artmaya başladı. İlk hafta günde 50 tekil ziyaretçi, ikinci hafta 100, sonra 300, 500, 1000 derken sunucular gerildi CPU/RAM oranı tavana vurdu, site gelmiyor. İlk yapabileceğiniz veritabanı yeterince optimize çalışıyor mu kontrol etmek.
İyi yapılmış veritabanı indeklemesi web servisinizin performansını %70-%80 arttırabilir. Bunu bilenler için yeni bir konu değil ancak bilmeyenler için çok hayati bir bilgi.
Hemen her veritabanı sistemi bir tabloda bir kolonu “uniqe” tutar ve otomatik indeksler. Ancak özellikle birden fazla tabloyu birleştirerek yaptığınız sorgular için tablolar arası kurduğunuz bağlantıları da indekslemeniz gerekir. Bu indeksleme gerçektende tüm servisin %70-%80 daha hızlı çalışmasını sağlayabilir.
Hangi kolonları indeksleyebilirm?
JOIN için kullandığınız her kolon –foreign keys (Rails’de _id uzantılı kolonlar)
ORDER BY için kullandığınız her kolon (tarih, status gibi kolonlar)
GROUP BY için kullandığınız her kolon (yine status, ve benzeri kolonlar)
Tekil olduğunu kontrol ettiğiniz her kolon (mesela kullanıcı adı ve email adresi)
* Bu yazıyı taslaklar arasında buldum, yaklaşık bir yıldır bekliyormuş.
Burak Arikan 02.01.2008
makale | 3 Yorum »
2008 yılında web, sayfalardan oluşan bir ağ yapısından çok bir kaynak-insan ağı olarak algılanacak. Web’in yaratıcısı Tim Berners-Lee bu gelişmeyi WWW (World Wide Web)’den GGG (Giant Global Graph)’e geçiş olarak tarif etmişti. Son zamanlarda kaynak-insan ağına odaklanarak geliştirilen yeni nesil internet uygulamaları artık farklı tasarım örüntüleri gösteriyor. Eskiden web sitesine sayfa tasarımından ve site haritasından başlanırdı, ancak bu alışkanlıklar yerini yeni tasarım yaklaşımlarına bırakıyor. Bunların farkında olmanız daha kullanışlı web servisleri yaratmanıza yardımcı olacaktır. Öncelikle yeni nesil internet uygulamları ile ne kastettiğimizi tekrar edelim.
Bahsettiğimiz uygulamalar klasik portal, haber sitesi, dergi gibi merkezden-kitleye durağan modeller değil sosyal imleme, video paylaşımı, sosyal ağ servisleri gibi kitleden-kitleye etkileşimle büyüyen uygulamalar, popüler deyişle web 2.0 uygulamaları.
Bir web 2.0 servisi yaratırken dikkat edilecek noktalar şunlar:
Internet’teki veri birikimine değer katıyor mu?
Bu servisi kullanarak internet’ten yeni ne öğreniyoruz. Mevcut servislerin sağladığı bilgilerin üzerine ne tür yeni bilgiler katıyor.
Servisi oluşturacak ana veri modelleri neler?
Tasarıma sayfalardan değil veri modellerinden başlayın. Sayfa iki boyutludur, model çok boyutludur daha derin ve yalın kurgulamanızı sağlar.
Adresler (URL) okunaklı, kalıcı, ve tahmin edilebilir mi?
Veri yapısını yansıtan, veriler arası hiyerarşiyi gösteren adresler oluşturun. Adres yapısı alan adı kadar önemlidir, akılda kalıcı adresler servise erişimi arttırır.
İçerik tekrar tekrar karıştırılıp yeni içerik oluşturulabiliyor mu?
Servisi kullananlar mevcut içeriği kullanarak yeni içerik üretebilmeli ve uygulamayı oluşturan işlemler kullanıcı katkısıyla gelişebiliyor olmalı.
Hem normal kullanıcılar, hem geliştiriciler, hem de makinaların anlayabileceği şekilde çalışıyor mu?
İçerik XML, JSON, RSS, Microformats gibi veri standardları ile de sunulabiliyor olmalı. Böylece programatik kullanıma açık olarak dışardan sizin servinizin üstüne yeni servisler geliştirilebilmeli.
Artık bir web sitesinin içinde veya siteden siteye değil, kaynaktan kaynağa dolaşıyoruz.
Web siteleri artık içine girilip dolaşılan bir yer olmaktan çıkıyor. Sitenin anasayfası değil sitenin içeriği internet’de dolaşırken uğradığımız noktalaradan bir tanesi. Yani artık sitenin içinde veya siteden siteye değil, kaynaktan kaynağa dolaşıyoruz. Bu gözlem bizi sayfa metaforundan veri modeli metaforuna taşıyor. Buna en güzel örnek Wikipedia sayfaları, bir kavramı sadece bir sayfa ve bir adres temsil ediyor ve buna herhangi bir yerde doğrudan bağlantı veriliyor.
Veri modellerini önce adres ile sonra yine sayfa ile temsil ediyoruz. Adreslerin veriyi en iyi şekilde yanısıtması, okunaklı ve akılda kalıcı olması mesela bloglardan veya hatta diğer servislerden bağlantı yapılabilmesini kolaylaştırıyor. Olay kaynak ve kaynağın adresine dönüşüyor. Bu durum birbirine bağlı bir kaynaklar ağının daha çabuk gelişmesini sağlıyor.
Bu yeni bakış açısına göre sayfa tasarımları da değişiyor. Veri modellerini temsil eden üç sayfa türü var:
Ana içerik ve destekleyen ikinci derece bilgi. Mesela ana içerik video, fotograf, slayd şov, profil, kitap, çizim olabilir. Destekleyen içerik etiketler, yorumlar, oylar, içerğin sahibi, sahibinin diğer içerikleri olabilir.
Ana içerikler arasında dolaşmayı sağlayan liste. Mesela indeks, arama sonuçları, kişiye ait belgeler olabilir. Listelenen içerik biribirne göre oranlı dizilebilir.
Ana içerikleri toplu düzenlemeyi ve karıştırmayı sağlayan arayüz. Mesela Flickr toplu photo edit ve YouTube video edit sayfaları buna iyi örnekler.
Özetle veri kaynağını temsil eden en önemli sayfa varış sayfası. Bu sayfaya herhangi bir web sitesinden bağlantıyla gelinebilir. Bir kişi bu sayfaya geldiğinde dikkatini nereye yönelendireceği tasarımınıza bakıyor. Vermek istediklerinizi önem sırasına göre dizip sayfa tasarımını ona göre düzenleyebilirsiniz. Yazıda kullanılan görseller varış sayfası dediğimiz sayfanın tasarımına dair web 2.0 / sosyal ağlı servisler üzerinde yapılan bir BBC analizinden alıntı, tasarımlarınıza örnek olabilir. Yine tekar edelim, varış sayfasını kaynak yapan şey kolay hatırlanacak bir adresi olması.
Burak Arikan 22.07.2005
CIA Dünya Gerçekleri Kitabı yenilendi
14 Temmuz 2005′de yenilenen CIA Dünya Gerçekleri Kitabı dunyadaki ulkeler hakkinda genel ve detayli bilgiler iceriyor. Bilgi gorsellestirmesi alaninda kullanmak icin onemli bir kaynak. Her ulkenin cografi, nufus, ekonomik, iletisim, ulastirma, ve askeri alaninda detayli bilgiler iceriyor. Bu bilgiler ozellikle baska bilgiler ile karsilastirilarak kullanildiginda cesitli bilgilerin ve anlamlarin aciga cikmasini saglayabiliyor. Ornegin internette kuresel boyutta gerceklesen bir olayi incelerken ulkelerin buna ne derecede katkida bulundugu CIA kitabindan ulkelerin internet kullanicilari sayisi ve nufusu kullanilarak aciga vurulabilir. Turkiye sayfasinda internet kullanicilari sayisi 5.5 milyon olarak gozukuyor.
Ayrica buradaki bilgilier bilgisayar tarafindan okunabilir bicimde bulunabiliyor, ornegin her bir ulke icin nufus, internet kullanicilari, askeriye yapilan harcama, dogum oranlari, havaalani sayisi, HIV/AIDS’den olenler, petrol uretimi, enflasyon oranlari gibi bilgiler metin ayrıştırıcı bir program yazilarak burdan alinip cesitli tasarimlarda kullanilabilir.