IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

Microsoft publie en open source le code source de Extensible Storage Engine (JET Blue)
Un moteur de base de données non SQL développé par Microsoft depuis 1996 et incorporé dans ses OS

Le , par Stéphane le calme

224PARTAGES

9  0 
Microsoft a rendu le code source de son moteur de stockage extensible (aussi connu comme étant JET Blue) disponible sur GitHub. Dans la documentation présentant l'outil, Microsoft explique que Extensible Storage Engine (ESE) est une technologie de stockage avancée ISAM (indexed and sequential access method). ESE permet aux applications de stocker et de récupérer des données à partir de tables à l'aide de la navigation par curseur indexée ou séquentielle. Il prend en charge les schémas dénormalisés, y compris les tables larges avec de nombreuses colonnes éparses, des colonnes à valeurs multiples et des index épars et riches. Il permet aux applications de profiter d'un état de données cohérent en utilisant la mise à jour et la récupération des données traitées. Un mécanisme de reprise après incident est fourni afin que la cohérence des données soit maintenue même en cas de panne du système. Il fournit des transactions ACID (Atomic Consistent Isolated Durable) sur les données et le schéma au moyen d'un journal à écriture anticipée et d'un modèle d'isolement de snapshot. Les transactions dans ESE sont hautement simultanées, ce qui rend ESE utile pour les applications serveur. Il met en cache les données pour maximiser l'accès haute performance aux données. De plus, il est léger, ce qui le rend utile pour les applications qui jouent des rôles auxiliaires.

ESE est destiné à être utilisé dans les applications qui nécessitent un stockage de données structuré rapide et / ou léger, où l'accès aux fichiers bruts ou le registre ne prend pas en charge les exigences d'indexation ou de taille des données de l'application.

Il est utilisé par des applications qui ne stockent jamais plus de 1 mégaoctet de données, et a été utilisé dans des applications avec des bases de données dans des cas extrêmes de plus de 1 téraoctet et généralement de plus de 50 gigaoctets.

Le moteur de stockage extensible est un composant Windows qui a été introduit dans Windows 2000. Toutes les fonctionnalités ou API ne sont pas disponibles dans toutes les versions des systèmes d'exploitation Windows.

ESE fournit un moteur de stockage en mode utilisateur qui gère les données à l'intérieur de fichiers binaires plats accessibles via les API Windows. ESE est accessible via une DLL qui est chargée directement dans le processus de l'application, aucune méthode d'accès à distance n'est requise ou fournie par le moteur de base de données lui-même. Bien que ESE n'ait pas de méthode d'accès à distance ou inter-processus, les fichiers de données qu'il utilise peuvent être fournis à distance à l'aide du bloc de message serveur (SMB) via les API Windows, mais cela n'est pas recommandé.

Le moteur de stockage extensible (ESE) est une technologie de stockage avancée de la méthode d'accès indexé et séquentiel (ISAM) et fait partie intégrante de Windows depuis plus d'un quart de siècle. Il est apparu pour la première fois dans Windows NT 3.51 et Exchange 4.0 avant de continuer à avoir une vie professionnelle qui s'étend à Windows 10 d'aujourd'hui.

Les composants, tels que Windows Search ou des applications comme Exchange, « stockent et récupèrent des données à partir de tables à l'aide de la navigation par curseur indexée ou séquentielle ».


« Le moteur de stockage extensible (ESE) est l'une de ces rares bases de code dont la durée de vie utile est de plus de 25 ans. Première livraison sous Windows NT 3.51 et peu de temps après dans Exchange 4.0, réécrit deux fois dans les années 90 et fortement mis à jour au cours des deux décennies suivantes, il reste à ce jour un atout principal de Microsoft.
  • Il fonctionne sur des centaines de milliers de machines et des millions de disques pour les serveurs principaux de stockage de mails Office 365
  • Il fonctionne également sur de grands systèmes SMP avec des To de mémoire pour les grands déploiements Active Directory
  • Chaque ordinateur client Windows possède plusieurs instances de base de données s'exécutant dans des modes à faible mémoire. Dans plus d'un milliard d'appareils Windows 10 aujourd'hui, ESE est utilisé dans les SKU clients Windows depuis Windows XP ».

Alors que l'acronyme « JET » peut laisser les développeurs perplexes, notamment ceux qui se sont déjà servis d'Access (et de son moteur de base de données Jet), l'équipe ESE s'efforce de souligner qu’il ne s’agit pas de la même chose ; Microsoft précise qu’ESE est l'implémentation JET Blue de l'API. « JET » lui-même signifie Joint Engine Technology. « Est-ce qu’il s'agit de la base de données / du moteur JET ? Non... ça dépend... la question n'est pas tout à fait correcte. La plupart des gens ne savent pas que JET était un acronyme pour un ensemble d'API, pas un format de base de données ou un moteur spécifique. Tout comme il n'existe pas de "moteur SQL", comme il existe de nombreuses implémentations du protocole, il n'y a pas de "moteur JET" ou de "base de données JET". C'est dans l'acronyme "Joint Engine Technology". Et en tant que tel, il existe deux implémentations distinctes de l'API JET. Il s'agit de l'implémentation du moteur JET Blue. L'origine des couleurs a d'ailleurs une source amusante. La plupart des gens considèrent le "moteur JET" comme étant JET Red, livré sous Microsoft Access. Ce n'est pas ce "moteur JET". Nous avons renommé ESE pour essayer d'éviter cette confusion, mais il semble que la confusion continue à ce jour ».

Alors que la plupart des applications qui l'utilisent ne dépassent pas la barre des 1 Mo, les « cas extrêmes » dépassent 1 To.

Quant à ce qui a été placé dans GitHub, les utilisateurs seront déçus de voir que les commentaires ont été supprimés (bien que le copyright et la licence MIT soient présents et corrects).

L'excuse pour cela est : « Cette base de code a une longue histoire de développement interne chez Microsoft, donc, afin de rester du bon côté avec la toute première version du code source, nous avons temporairement supprimé tous les commentaires et exclu certains types de fichiers ».

Source : Microsoft

Et vous ?

Que pensez-vous d'Extensible Storage Engine ?
Que pensez-vous de la décision de Microsoft de publier le code source en open source ?

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

Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 03/02/2021 à 10:27
Je trouve tout de même dommage que Microsoft par générosité se laisse prendre à la mode du libre en offrant ses pépites technologiques, dont son moteur JET.
1  0 
Avatar de ericb2
Membre averti https://www.developpez.com
Le 02/02/2021 à 18:00
Bonjour,

Bien qu'étant intéressé par les bases de données en ce moment, je ne pense rien de E.S.E. en particulier (pour l'instant), ni rien de Microsoft en général.

Ce que je voulais dire, c'est que pour supprimer des commentaires, ou un changement avec git, c'est très très difficile, quand on sait que tout est basé sur l'historique.

Juste un exemple : https://github.com/microsoft/Extensi...b6ac1704e3ca3e (cliquer sur "parent" ).

Mais j'ai peut-être mal compris ce qu'il fallait comprendre dans "les commentaires ont été supprimés" ?
0  0 
Avatar de ParseCoder
Membre averti https://www.developpez.com
Le 02/02/2021 à 21:50
Petite précision utile:
CMake

We also will be pushing build files, codegen scripts, and a little more infrastructure to get a building ESE. Right now, the code is provided just for instructional purposes only.
Donc pas très utile pour l'instant. Mais intéressant cependant, la description me fait penser à un autre moteur ISAM: Btrieve que j'utilisais il y a 25 ans et qui était très rapide.
0  0 
Avatar de redcurve
Membre extrêmement actif https://www.developpez.com
Le 02/02/2021 à 23:00
Jet Blue est excellent, l'article oublie de mentionner le support de la réplication etc.
0  0 
Avatar de esperanto
Membre émérite https://www.developpez.com
Le 04/02/2021 à 8:38
Citation Envoyé par ericb2 Voir le message
Ce que je voulais dire, c'est que pour supprimer des commentaires, ou un changement avec git, c'est très très difficile, quand on sait que tout est basé sur l'historique.
L'historique Git peut se réécrire avec la commande rebase. On peut même insérer un script dans la commande pour ne pas avoir à tout faire à la main.

Citation Envoyé par ericb2 Voir le message
Juste un exemple : https://github.com/microsoft/Extensi...b6ac1704e3ca3e (cliquer sur "parent" ).

Mais j'ai peut-être mal compris ce qu'il fallait comprendre dans "les commentaires ont été supprimés" ?
Je ne vois que 18 commits dans cette instance git. On peut donc raisonnablement penser qu'ils n'y ont pas mis tout l'historique, et que les commentaires ont été supprimés avant de créer l'instance Git.
0  0