Redis: Remote dictionary server 0
NoSQL konusuna girince (bakınız NoSQL – Herşey SQL değil) bazı veritabalarına da detaylı bakmak gerekiyor.
Mart 2009′dan bu yana kullanıma açılan Redis’te bunlardan birisi…
Özellikle ön-bellekleme (caching) ve istatistiksel verileriniz için ideal bir ortam sunmakta.
Belge ve Anahtar-değer veritabanları grubu içerisinde yer alan Redis’in en büyük özelliği
veriyi bellekte tutması ve dolayısıyla da hızı.
Şimdi bu bellek olayını biraz açmak gerekiyor.
Sabit diske baktığınızda yapı olarak dayanıklı ve yüksek kapasiteli olmalarına rağmen
verilere sıralı erişim yapıyor olması yüksek performans gerektiren işlemlerde bir dezavantaj.
Gecikme sürelerine baktığınızda bellekteki bir bilgiye ulaşma hızınız ortalama bir hardiskteki aynı veriye ulaşma hızınızdan yaklaşık 10000 kat daha fazla.
Unutumadan söyleyelim Redis bellekteki bilgileri arada bir de diske yazıyor…
Bu iş için iki tip yöntem uygulanıyor; bellek kopyalama (snapshotting) ve sadece eklenebilir dosya (append only file)
Bellek kopyalama belirli aralıkla asenkron olarak tüm belleğin diske yazılması. En büyük dezavantajı ise bir çökme anında bazı verilerin diske yazılmamış olması durumu.
Sadece eklenebilir dosya yönteminde ise her yazma komutu çalıştırıldığıda bu bilgi loglanıyor ve sunucu şayet tekrar çalıştırılırsa bu komutlar yeniden işletiliyor.
Redis’e php, java, c#, ruby, python gibi bir çok farklı dil üzerinden erişebiliyoruz. Tabi telnet üzerinden de…
Veri tipi olarak string, list, set ve sorted set ile çalışılabiliniyor…
Replikasyon yapması çok kolay. Master-slave yapıda çalışan bu yineleme için
sadece hangi sunucunun uydusu (slave) olduğu belirtmeniz yeterli oluyor. Ayrıca bir uydunun altına başka uydular da bağlanabiliniyor.
Atlanmaması gerek bir diğer konu da dağıtık yapıya izin veren ve bölümlenme diye tabir edebileceğimiz sharding özelliği.
Basitçe bölümlenme bir bir veritabanındaki tablonun satırlarının ayrı ayrı yerlerde tutulması anlamına geliyor.
Bu yapılanma yine Redis içerisinde kolayca yapılabiliniyor.
Bitirmeden bir şey hatırlatmak isterim.
Verinizin miktarı elinizdeki bellekten daha büyükse redis’i tercih etmek yanlış olacaktır…
Daha fazla bilgi için : http://code.google.com/p/redis/
Etiketler: append only file, database, Key-Value, master slave, nosql, Redis, sharding, snapshotting, veritabanı



(toplam 6 oy, ortalama: 3,50 / 5)

Yorum RSS Aboneliği
Bu yazıya hiç yorum yapılmamış