Friday, February 22, 2013

Noqsl Meta - Cassandra, Mongodb, CouchDB, Redis,ElasticSearch, Kyoto Tycoon, Neo4j

Cassandra, Mongodb, CouchDB, Redis,ElasticSearch, Kyoto Tycoon, Neo4j yeteneklerine pek değinmeden genel bilgilerini karşılaştırmalı sunan bir tablodur. Bir performans karsilastirmasi degildir!

MongoDB 

Yazıldığı Dil: C++
Lisans: AGPL
Veri İletişim Protokolü: binary (BSON)
En iyi kullanım örneği :  Dinamik veri yapisi ihtiyaclarinizda. Surekli yeni diskler ve makinelerle genisletmeniz gerekecek derecede fazla buyuyen veriniz oldugunda.  CouchDb nin cabuk buyuen ve kolay kontrol edilebilen bir haline ihtiyac duydugunuzda.

Redis

Yazıldığı Dil: C/C++
Lisans: BSD
Veri İletişim Protokolü: Telnet-like
En iyi kullanım örneği :  Disk-backed in-memory database en onemli ozelligi. MongoDb orneginden oldugu gibi surekli artan verilerde degil ancak surekli ve sikca degisen verilerde kullanilmasi onerilir..

CouchDB

Yazıldığı Dil: Erlang
Lisans: Apache
Veri İletişim Protokolü: HTTP/REST
En iyi kullanım örneği :  Bi-directional (!) replication en onemli ozelligi. MongoDb de belirtigi gibi cok ve surekli buyuen datalar olmadiginda ama yine esnek bir data yapisi ve ayni zamanda versiyonlama çok önemli oldugunda.

Cassandra (1.2)

Yazıldığı Dil: Java
Lisans: Apache
Veri İletişim Protokolü: Thrift & custom binary CQL3

En iyi kullanım örneği :  Write/Read orani çok çok yuksekse ve yazma hizi onemliyse (mesela loglar). Java ile cok iyi hider

All nodes are similar, as opposed to Hadoop/HBase
Cross-datacenter replication
Querying by column, range of keys (Requires indices on anything that you want to search on)
Can be used as a distributed hash-table, with an "SQL-like" language, CQL (but no JOIN!)



Neo4j (V1.5M02)

Yazıldığı Dil: Java
Lisans: GPL, some features AGPL/commercial
Veri İletişim Protokolü: HTTP/REST (or embedding in Java)

En iyi kullanım örneği :  Graph islemlerinizde harika cozum sunar!
Full ACID
For searching routes in social relations, public transport links, road maps, or network topologies.

ElasticSearch 

Yazıldığı Dil: Java
Lisans: Apache
Veri İletişim Protokolü: JSON over HTTP (Plugins: Thrift, memcached)
Stores JSON documents

En iyi kullanım örneği :  Esnek dokumanlariniz ve gelismis arma ihtiyaclariniz oldugunda. fuzzy search ihtiyaci. Geodistance ihtiyaci oldugunda.

Kyoto Tycoon (0.9.56)

Yazıldığı Dil: C++
Lisans: GPL
Veri İletişim Protokolü: HTTP (TSV-RPC or REST)

En iyi kullanım örneği :  Memcache'e alternatif daha yetenekli bir seyler aradiginizda cozum olacaktir.

Hot backup, asynchronous replication (MongoDb'de de gelismis olarak olan bir ozellik.)
background snapshot of in-memory databases
Auto expiration (can be used as a cache server) (Redis'de de olan bir ozellik)



Thanks to Kristóf

1 comment:

Anonymous said...

Tesekkurler!