Quelques rappels sur Riak 1.x
- Sharding automatique
- Réplication
- Masterless
- Schemaless
- Stockage, Recherche et Map/Reduce
- Eventually consistent
- Résolution de conflit par Vector Clock
On perd quoi ?
RIEN
On ne fait que gagner de nouvelles fonctionnalités :)
Storage - Consistency Mode
- Objectif : Choisir la meilleure stratégie pour les écritures
- Modes : Eventually et Strong
- Eventually : Nombre ou liste de followers, panier, blog post, stockage de log, ...
- Strong : Systèmes Temps Réel, transaction financière, ...
Storage - Data Types
- Objectif : gestion automatique des conflits
- Basé sur les CRDT développé par l'INRIA
- Types : counter, set, map, string et boolean
- Exemples Fonctionnels : un compteur de pages vues, un panier, une liste de followers, ...
- Exemples Techniques : un auto-increment distribué, un Merkle Tree, ...
Storage - Bucket Types
- Objectifs : partager des attributs entre les buckets
- Basé sur les meta-propriétés des Buckets
- Surchargeable pour chaque bucket
- Utile pour la gestion de la sécurité et le mode d'écriture
Storage - Technical Changes
- LevelDB : gros changements dans la gestion de la mémoire
- Réplication Multi Datacenter
- Résolution des conflits côté applicatif
- Améliorations dans le compactage des données
Search - Solr
- Objectif : améliorer la couverture fonctionnelle du Search
- Riak 2 embarque un cluster Solr 4 auto-géré
- 100% compatible avec l'API Solr
- Mapping automatique entre les KV et les index
Autres
- Configuration normalisée
- Accès à Riak en Elixir
- Généralisation du Protocol Buffer
Riak Cloud Storage
- Dédié au stockage d'objets volumineux
- Découpage des objets avant dispersion
- API compatible S3
- Compatible Open Stack et Cloud Stack