Apache etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Apache etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

7 Mayıs 2014 Çarşamba

Apache Cassandra



Apache Cassandra Summit 2014

Apache Cassandra Nedir?

Apache Cassandra, NoSQL veritabanı mimarisini için geliştirilen açık kaynak kodlu bir veritabanıdır. Cassandra, Google’ın Bigtable ve Amazon’un Dynamo veri tabanlarının Facebook tarafından geliştirmesi ile oluşturulan yeni bir veritabanı sistemidir. Cassandra dağıtık mimaride, yüksek performanslı, yüksek ölçeklenebilirliğe sahiptir.
Cassandra Kullanan Şirketler
Cassandra günümüzde büyük veri ile başetmek için kullanılmaktadır. Cassandra Facebook, eBay, Twitter, Reddit gibi çok büyük veri saklayan ve yöneten firmalar tarafından kullanılmaktadır.

Neden Apache Cassandra?
RDBMS sistemleri veriler eklendikçe dikey olarak büyürken, NoSQL sistemlerinde veriler yatay olarak büyümektedir.  Master - slave yapısı yerine peer - to - peer modeli uygulanır. 
Cassandra ve Big Data
Master sistem kullanan yapılarda fazla sayıda istek geldiğinde server bunu karşılayamazsa sistemde sıkıntılar yaşanır. Fakat Cassandra ile böyle bir problem yaşanmaz. Data center içerisine istediğimiz kadar cluster (server) ekleyebiliriz.
  • Gigabyte, petabyte boyutlarında ölçeklenebilirlik
  • Yeni node’lar eklenerek lineer olarak performans artışı
  • Kolay replication
  • Dağıtık mimari
  • Çoklu data center ve bulut çözümü sağlaması
  • Sistemden ayrı caching layer’larına ihtiyaç olmaması
  • Esnek şema (schema) tasarımı
  • Veri sıkıştırma (Google’ın Snappy algoritaması kullanılır)
  • CQL ile sorgu gerçekleme
  • Dil ve platform desteği
  • Özel olarak tasarlanmış yazılım ve donanım ihtiyacının olmaması

4 Şubat 2014 Salı

Apache Lucene


Lucene günümüzde oldukça popülerdir ve pek çok web sitesi ve uygulamada kullanılmaktadır. Full text arama içeren her türlü masa üstü veya web uygulamasında Lucene kullanılabilir. Duydum ki Twitter, Mysql'i bırakıp 2011 yılında Lucene'e geçmiş. Bu geçiş Twitter'ın çok büyük arama ihtiyacını karşılamak için sistemleri 3 kat hızlandırmış. 

Lucene, Java dili ile yazılmış açık kaynak bir kütüphanedir. Her ne kadar Java’da yazılmış olsa da, bugün diğer dillerde de kullanılabilmektedir. Lucene; Delphi, Perl, C#, C++, Python, Ruby ve PHP gibi birçok farklı dilde yeniden yazılmıştır. 

Bir kütüphane olduğu için de hemen kurup kullanabileceğiniz bir uygulama değildir.Sağladığı API ile kolayca fulltext aramaları yapan bir uygulama geliştirebilirsiniz. 

Lucene ile Wildcard, Fuzzy, Proximity, Range, Boosting a Term, Boolean Operatörler kullanılarak arama yapılabilmektedir. Lucene; PDF, HTML ve Microsoft Word belgeleri gibi birçok farklı dosya türü içinde arama yapabilmekte ve sonuçları listeleyebilmektedir. 

Lucene birçok alt projeden oluşmaktadır. Apache'nin projelerinden Nutch, Lucene'i temel almakta, listeleme, arama ve HTML sayfası içinde ayrıştırma yapabilmektedir. Apache'nin diğer projelerinden Solr ise Lucene üzerine kurulmuş gelişmiş bir arama sunucusudur.

Spring


Spring, kurumsal java uygulamaları geliştirmeyi kolaylaştıran ve hızlandıran Application Framework (Uyguluma geliştirme çatısı) dır. Spring ile üzerinde kolayca test edilebilir, yüksek performanslı uygulamalar geliştirilebilmektedir. Rod Johnson tarafından geliştirilmiş olup, ilk olarak 2003 yılında Haziran ayında Apache 2.0 lisansı altında yayınlanmıştır. 

Spring, herhangi bir Java uygulaması tarafından kullanılabilmektedir. Eklentileri ile birlikte Java Enterprise platform üzerinde web uygulamaları geliştirmek için de kullanılabilir. 

Spring Web Framework, popüler olan Struts ve diğer kütüphaneler gibi iyi tasarlanmış bir MVC (Model - View - Controller) alt yapısı sağlamaktadır. Spring framework; paketleri, modülleri, sınıf yapıları ve birçok özelliği ile kaliteli bir yazılımdır. Spring modüler yapısı 20 modülden oluşmaktadır. Tüm modülleri kullanma zorunluluğu olmadan istenilen modülü kullanarak uygulama geliştirmeye izin vermektedir.

3 Şubat 2014 Pazartesi

Apache Solr Nedir?


Diyelim ki bir web uygulamanız var. Bu uygulamanızın en önemli modüllerinden birisi de arama modülü. Arama işlemlerini milyonlarca satır kayıt bulunan bir veritabanı üzerinde gerçekleştiriyorsunuz. Uygulamanız yüksek trafik almaya ve arama modülünüz yavaşlamaya başladı. Uygulamanızın performansı gün gittikçe düşüyor. Artık metin arama (full text search) en karmaşık konulardan birisi haline geldi sizin için. Eğer veritabanı motorunuz, full text search desteklemiyorsa, harici bir arama motoru kullanmanın zamanı gelmiştir demektir. İşinizi kolaylaştıracak arama motorlarından biri Apache Solr artık en iyi yardımcınız. 

Solr, Lucene üzerine kurulu, arama uygulamalarında kullanılan bir Apache ürünüdür. Solr ve Lucene arasındaki ilişki araba ve araba motoru arasındaki ilişkiye benzer. Lucene motor, Solr ise arabadır. Lucene olmadan Solr çalışmaz. 

Lucene; temelde metin analizi, indexleme ve arama gibi temel işlevleri sunan bir Apache projesidir. Solr ise, Lucene temelini kullanan, onun üstüne filtreleme, faceting, önbellekleme, dağıtık mimari desteği gibi şeyleri kolay yapılandırma dosyaları ile yönetebilmenizi sağlar. Verileri XML, JSON, Binary gibi çeşitli formatlarda almanızı sağlar. 

Solr, Java ile geliştirilmiştir. Solr açık kaynak kodludur. Solr farklı sunucular (Jetty, Resin, JRun, Tomcat) üzerinde çalışır. Herhangi bir programlama dili kullanmadan, Solr sunucuyu kurulur. Solr ile verilerinizi sunucuda indekslersiniz. Bu veriler üzerinde arama yapabilmeyi Solr ile sağlarsınız. 

Solr için veriler “Document” olarak adlandırılır. Solr’a veri eklemek demek yeni bir “Document” eklemek demektir. Solr her şeyi bir "döküman" olarak saklar. Dökümanları veritabanındaki satırlar (row) olarak düşünebilirsiniz. Örneğin Vidomix gibi bir video sitesinin veritabanındaki bir "videolar" tablosunu tasarlarken, video_id, video_title, video_info, video_time gibi alanlar (fields) oluşturyorsak aynı mantık ile "Solr Document" tasarlanır. 

Solr’da indekslemek istediğimiz veriyi bir Document olarak tasarlar ve bu Document’in tüm özelleklerini (field) belirledikten sonra uygun şekilde veri setleri oluşturulup Solr’a eklenebilirsiniz. Indekslenen bu veriler üzerinde HTTP isteği ile sorgulama yaparak, sonuçları çok hızlı bir şekilde ve istediğimiz formatta elde edebilirsiniz

Apache Lucene


Lucene günümüzde oldukça popülerdir ve pek çok web sitesi ve uygulamada kullanılmaktadır. Full text arama içeren her türlü masa üstü veya web uygulamasında Lucene kullanılabilir. Duydumki Twitter, Mysql'i bırakıp 2011 yılında Lucene'e geçmiş. Bu geçiş Twitter'ın çok büyük arama ihtiyacını karşılamak için sistemleri 3 kat hızlandırmış. 

Lucene, Java dili ile yazılmış açık kaynak bir kütüphanedir. Her ne kadar Java’da yazılmış olsa da, bugün diğer dillerde de kullanılabilmektedir. Lucene; Delphi, Perl, C#, C++, Python, Ruby ve PHP gibi birçok farklı dilde yeniden yazılmıştır. Bir kütüphane olduğu için de hemen kurup kullanabileceğiniz bir uygulama değildir.Sağladığı API ile kolayca fulltext aramaları yapan bir uygulama geliştirebilirsiniz. 

Lucene ile Wildcard, Fuzzy, Proximity, Range, Boosting a Term, Boolean Operatörler kullanılarak arama yapılabilmektedir. Lucene; PDF, HTML ve Microsoft Word belgeleri gibi birçok farklı dosya türü içinde arama yapabilmekte ve sonuçları listeleyebilmektedir. 

Lucene birçok alt projeden oluşmaktadır. Apache'nin projelerinden Nutch, Lucene'i temel almakta, listeleme, arama ve HTML sayfası içinde ayrıştırma yapabilmektedir. Apache'nin diğer projelerinden Solr ise Lucene üzerine kurulmuş gelişmiş bir arama sunucusudur.