Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Amine Horseman

357PARTAGES

4  0 
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
{
  "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 ?

Une erreur dans cette actualité ? Signalez-le nous !