Couchbase Server 4.0 combine le SQL et le NoSQL
Grâce à un nouveau langage baptisé N1QL

Le , par Amine Horseman, Expert éminent sénior
Couchbase Server, le système de gestion de bases de données NoSQL basé sur Apache CouchDB, vient d’introduire un nouveau langage baptisé N1QL (prononcé Nickel) qui permet de combiner la puissance des requêtes SQL avec la flexibilité du JSON.

N1QL, considéré par ses créateurs comme étant un « dialecte du SQL » possède une syntaxe très similaire à ce dernier, sauf qu’il permet d’interroger une base de données NoSQL s’appuyant sur des données en format JSON. Ceci permet d’effectuer toutes les opérations de base des SGBD relationnels telles que les jointures par exemple, qui pourront désormais s’effectuer entre les documents JSON et même au sein du même document entre une donnée parente et ses fils. Pour cela, N1QL renvoi simplement des objets vides au cas où on lui demande de sélectionner des données qui ne satisfont pas la clause WHERE, ceci permettra de gérer les données non structurées avec une flexibilité qui n’existaient par auparavant avec le langage SQL.

Voici un exemple d’une requête N1QL qui illustre bien les avantages de cette combinaison :

Code : Sélectionner tout
1
2
3
4
5
    SELECT usr.personal_details, orders  
        FROM users_with_orders usr  
            USE KEYS "Elinor_33313792"  
                JOIN orders_with_users orders  
                    ON KEYS ARRAY s.order_id FOR s IN usr.shipped_order_history END
Et voici le type de résultat renvoyé par cette requête :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ 
  "results": [ 
    { 
      "orders": [ 
        { 
          "doc_type": "order", 
          "order_details": { 
            "order_datetime": "Wed Jun  6 18:53:39 2012", 
            "order_id": "T103929516925" 
          }, 
          "payment_details": { 
            "payment_mode": "Debit Card", 
            "total_charges": 308 
          }, 
          "product_details": { 
            "list_price": 318, 
            "product_id": "P3109994453", 
            "sale_price": 303 
          }, 
          "shipping_details": { 
            "shipping_charges": 5, 
            "shipping_status": "Delivered", 
            "shipping_type": "Express" 
          }, 
          "user_id": "Elinor_33313792" 
        }, 
      ], 
      "personal_details": { 
        "age": 60, 
        "email": "Elinor.Ritchie@snailmail.com", 
        "first_name": "Elinor", 
        "last_name": "Ritchie", 
      } 
    } 
  ] 
}
N1QL peut aussi profiter du large écosystème SQL via les connecteurs et les pilotes standards JDBC et ODBC. Ce qui permet d’intégrer ses fonctionnalités avec d’autres outils présents sur le marché comme les outils de Reporting par exemple et de Business Intelligence. « Nous avons pris un standard vieux de 40 ans et nous l’avons étendu pour le JSON », déclare Doug Laird, directeur du marketing de Couchbase.

Couchbase Server 4.0 introduit aussi le Multi-Dimensional Scaling qui redéfinit la façon dont les entreprises distribuaient leurs bases de données avec l'option de mise à l'échelle multidimensionnelle. Cette fonctionnalité sépare, isole et met à l’échelle des services individuels (requête, index, données) dans le but d’améliorer la performance des applications et augmenter l'utilisation des ressources. « Couchbase Server 4.0 est la première et unique base de données distribuée, capable d'évoluer avec la vitesse et la précision requise par les applications d'entreprise avec des charges de travail variables », déclare l’équipe de développement dans un billet de blog. « Il est inefficace d'exiger la participation de chaque nœud pour effectuer une requête ou de maintenir un index. Le Multi-Dimensional Scaling résout ce problème en mettant à l'échelle des données indépendamment de la requête et des index ».


Concernant les autres fonctionnalités que propose Couchbase Server 4.0, on peut citer :

  • L’amélioration des performances des indexes existants (basés sur MapReduce) grâce à l’introduction du Global Secondary Index (GSI).
  • Le support complet des Spacial Views qui permet aux applications d’interroger les données sur la base de coordonnées géographiques.
  • L’introduction du moteur de stockage ForestDB qui permet de profiter des optimisations des disques SSD ainsi que des processeurs multi-cores pour effectuer plusieurs lectures et écritures en même temps.

Télécharger la version Beta de Couchbase Server 4.0

Source : Communiqué de presse Couchbase, Release Notes

Et vous ?

Que pensez-vous de ces nouvelles fonctionnalités ?
Quel avantage peut vous apporter le N1QL ? Les autres SGBD devraient-ils l’adopter aussi ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Olivier Famien Olivier Famien - Chroniqueur Actualités https://www.developpez.com
le 13/10/2015 à 3:52
Couchbase Server 4.0 est disponible en version stable
avec plus d’agilité, de meilleures performances et une amélioration de l’évolutivité

La plateforme Couchbase Server 4.0 est disponible depuis quelques jours en version finale. Dans cette nouvelle version, on note l’apparition du langage N1QL (Nickel) qui avait déjà été intégré dans la version bêta. Pour rappel, N1QL est un langage déclaratif de requêtes basé sur SQL. Il permet aux développeurs de créer des applications basées sur le modèle JSON.

Comme avantages mis en avant par l’éditeur, il permet de développer les applications plus rapidement en écrivant moins de code, de développer les applications avec une plus grande agilité en créant de nouveaux index et des requêtes sans restructuration du modèle de données ou encore de s’appuyer sur le format JSON pour stocker les données dans un seul document.

Pour Ravi Mayuram, Senior VP Products and Engineering chez Couchbase, « Couchbase Server 4.0 est une version totalement transformée. Elle augmente considérablement les types d’applications et les cas d’usage que Couchbase peut gérer, avec un niveau encore plus élevé de performance et d’évolutivité ».

La seconde nouvelle fonctionnalité à citer dans cette version est le principe d’index secondaire global. Il permet de stocker un index complet de toutes les données sur un ou plusieurs nœuds plutôt que de stocker un index partiel des données locales sur tous les nœuds.


L’avantage avec cette approche est que les performances ne décroissent pas, même lorsque le nombre de nœuds croît. Cela est dû au fait que lorsque les nœuds pour stocker les données croissent, les nœuds pour stocker les index ne croissent pas.

Pour ceux qui ont des données reparties à travers différentes régions du globe, il est possible d’effectuer des requêtes basées sur le critère géographique en créant des index spatiaux sur GeoJSON ou des données numériques.

À côté de ces fonctionnalités, il faut également prendre en compte, l’amélioration de la mise à l’échelle des données avec l’intégration de l’évolutivité multidimensionnelle. Sous ce vocable, il faut simplement comprendre une mise à l’échelle plus efficace et plus précise afin d’optimiser les performances des requêtes exécutées sur les nœuds.


Pour ce faire, Couchbase s’appuie sur cette solution qui permet d’exécuter les services d’index et de requêtes sur un sous-ensemble de nœuds fixes tout en continuant à faire tourner le service de stockage, de lecture et d’écriture sur d’autres nœuds.

Enfin, nous avons dans cette version, l’intégration d’un protocole de réplication asynchrone mémoire à mémoire exécuté sur des réseaux dispersés à travers la planète. Celui-ci permet de répliquer les données dans les centres de données en appliquant des filtres pour réduire le volume de données répliquées. Les avantages découlant de cette pratique sont la réduction de l’utilisation de la bande passante et par-delà les coûts.

Toutes ces caractéristiques permettent à Ravi Mayuram d’affirmer sans crainte « qu’avec des innovations comme notre nouveau langage de requêtes basé sur le langage SQL, N1QL, et des améliorations fondamentales comme les index secondaires globaux, l’évolutivité multidimensionnelle et la réplication entre Datacenters, nous sommes en mesure d’offrir aux entreprises toutes les fonctionnalités dont elles ont besoin pour déployer une base de données unique, répartie et reliée à la plupart de leurs applications Web, mobiles et Internet des Objets ».

Source : Couchbase

Et vous ?

Que pensez-vous de cette plateforme NoSQL?

Que pensez-vous de ces nouvelles fonctionnalités ?

Voir aussi

Forum NoSQL
Contacter le responsable de la rubrique Accueil