dimanche, novembre 18, 2012

Série d'articles sur le NoSQL Cassandra

Depuis quelques temps, je m'intéresse à la base NoSQL Cassandra (famille Orientée Colonne). Ayant suivi certaines présentations et ayant remarqué qu'il existait de nombreuses ressources, je me suis donc mis à regarder en détail ce NoSQL. Je me suis principalement focalisé sur le modèle de données (exemple : comment représenter les différentes relations entre classes) et sur les APIs clientes.

Je vous propose donc une série d'au moins cinq articles dont les principales idées sont :
  • Article 1 : installation et outils autour de Cassandra
  • Article 2 : modèle de données et API Hector
  • Article 3 : Cassandra Query Language (CQL) avec Java via JDBC
  • Article 4 : Faire de l'ORM avec Cassandra (Hibernate OGM, EclipseLink et via Hector)
  • Article 5 : Clustering via Cassandra
Il s'agit d'une proposition qui évoluera surement au fur et à mesure de mon avancement sur Apache Cassandra.

Les ressources sur le Net concernant Cassandra sont assez importantes. J'ai regretté que l'accent soit mis sur l'administration. Étant développeur d'applications en Java je me suis posé de nombreuses questions et notamment : Suis-je capable de faire du NoSQL pour un développeur formaté au classique SQL ?  

Le premier article est en cours de rédaction, j'espère vous le proposer début décembre.Il s'intéressera à présenter rapidement Cassandra, son installation, une première prise en main et les outils d'administration disponibles. Il ne sera pas révolutionnaire mais au moins j'aurais présenté tous ce dont j'ai besoin pour les articles suivants.

N'hésitez à venir proposer des commentaires. J'espère de mon côté pouvoir tenir ma motivation sur l'écriture de ces articles.


4 commentaires:

  1. Salut,
    Si cela peut t'aider, je suivrai avec attention tes articles, car malgré quelques tentatives de m'intéresser à ce sujet, je n'ai pas trouvé de documents clairs et concis.
    Bon courage!

    RépondreSupprimer
  2. Merci,

    La documentation chez DataStax est très bien fournie. Je suis en train de chercher une petite étude de cas qui montrerait les cas classiques. Pour l'instant je pars sur un blog, si tu as une autre idée moins classique je suis preneur ;-)

    Mickael

    RépondreSupprimer
  3. Salut Mickael,

    C'est marrant mais je suis en train d'etudier MongoDB et j'ai commence a etudier le driver java de mongo+ORM.

    J'ai fait un petit prototype avec une liste de developpeurs qui est affichée dans une grid dojo avec pagination. Cote serveur j'utilise JAX-RS avec CXF et comme mongo retourne du JSON j'ai pas grand chose a faire:)

    Je vais expoliquer tout ca sur mon blog.

    Tout ca pour dire que l'on pourrait peut etre partir sur un meme type de demo voir un meme type de données.

    N'hesites pas a me contacter si l'idée te parait interesante.

    Bonne étude!

    Angelo

    RépondreSupprimer
  4. Bonjour Angelo,

    C'est cool tout ça. J'ai hésité avec MongoDB. La représentation des données façon Cassandra m'intéressait plus, d'où le choix.

    De mon côté pour l'application je pensais à un petit blog afin d'avoir le plus possible de relation.

    Pour le JSON c'est vrai que ça peut être intéressant. Par contre question bête, le JSON de la base MongoDB est-il le même que celui que tu envoies à l'IHM ? (DTO ?)

    Là où on pourrait se rejoindre c'est si on utilise un ORM comme EclipseLink. Je serais curieux de voir si on peut utiliser les mêmes notations et utiliser un provider différents.

    Je finis le premier article et on se tient au jus

    A très bientôt

    Mickael

    RépondreSupprimer