Qu'est-ce qu'une Embarqué ?
Une Embarqué est un système de gestion de base de données (SGBD) qui s'exécute en tant que partie intégrante d'une application plutôt que sous la forme d'un processus serveur distinct et autonome. Au lieu de communiquer avec un serveur de base de données externe via une connexion réseau, l'application accède directement au moteur de base de données par l'intermédiaire d'une bibliothèque ou d'une API compilée dans l'application elle-même ou fournie avec celle-ci.
Embarqué sont parfois appelées « bases de données en cours de traitement », car le moteur de base de données s'exécute au sein du même processus que l'application, ce qui évite toute surcharge liée à la communication inter-processus.
Principales caractéristiques d'une Embarqué
- Pas de processus serveur distinct. Le moteur de base de données fait partie du binaire de l'application ou est chargé en tant que bibliothèque partagée lors de l'exécution. Il n'y a ni démon ni service à installer, configurer ou gérer séparément.
- Stockage local. Les données sont stockées sur le système de fichiers local de l'appareil hôte, et non sur un serveur distant.
- Cycle de vie géré par l'application. La base de données démarre lorsque l'application démarre et s'arrête lorsque l'application s'arrête.
- Configuration minimale. Comme il n'y a pas de serveur à optimiser, Embarqué ne nécessitent généralement que peu, voire aucune intervention de la part d'un administrateur de bases de données.
- Faible consommation de ressources. Conçu pour les environnements aux ressources limitées, tels que les appareils périphériques, les applications mobiles et les logiciels de bureau.
En quoi Embarqué diffèrent-elles des bases de données client-serveur ?
| Base de données Embarqué | Base de données client-serveur | |
|---|---|---|
| Architecture | En cours de traitement, partie de la demande | Processus serveur distinct |
| Connexion Internet requise | Non | Oui (TCP/IP ou socket) |
| Complexité de la mise en place | Minimal — déploiement avec l'application | Nécessite l'installation et la configuration d'un serveur |
| Utilisateurs simultanés | En général, une instance d'application | De nombreux clients simultanés |
| Idéal pour | Applications de bureau, appareils périphériques/IoT, appareils mobiles, bornes interactives | utilisateur en entreprise |
| Administration | Autogéré ou géré par l'application | Nécessite un administrateur de bases de données (DBA) ou un administrateur système (sysadmin) |
Cas d'utilisation courants
- Applications pour ordinateurs de bureau et stations de travail. Les terminaux de point de vente (TPV), les outils de gestion des stocks et les logiciels de CAO Embarquer souvent Embarquer base de données pour stocker les données de travail en local, sans dépendre d'un réseau.
- Appareils en périphérie et appareils IoT. Les contrôleurs industriels, les instruments médicaux et les capteurs intelligents utilisent Embarqué pour enregistrement requête en périphérie avant de les synchroniser, le cas échéant, avec un référentiel central.
- Applications mobiles. Les applications pour smartphones et tablettes utilisent Embarqué pour assurer la persistance des données hors ligne sur l'appareil.
- Kiosques et libre-service . Les bornes autonomes (distributeurs automatiques de billets, distributeurs de billets, affichage numérique) s'appuient sur Embarqué , car elles fonctionnent sans connexion permanente à un serveur.
- Développement et tests.Embarqué sont souvent utilisées comme solutions de remplacement légères pendant le développement et dans les pipelines d'intégration continue, lorsque la mise en place d'un serveur de base de données complet n'est pas envisageable.
- Logiciels prêts à l'emploi ou OEM. Les éditeurs de logiciels indépendants (ISV) Embarquer base de données dans leurs produits afin que les clients bénéficient d'une solution complète et autonome sans avoir à se procurer ni à gérer un SGBD distinct.
Termes clés liés aux Embarqué
Base de données en cours d'exécution
Base de données dont le moteur s'exécute au sein du même processus du système d'exploitation que l'application, partageant ainsi le même espace mémoire. Tous les appels de fonction sont locaux, ce qui élimine totalement la latence réseau.
Base de données sans administration
Base de données conçue pour ne nécessiter aucune configuration, aucun réglage ni aucune maintenance manuels. L'application gère tous les aspects du cycle de vie de la base de données, ce qui la rend adaptée aux déploiements ne disposant pas d'administrateurs de bases de données dédiés.
Conformité ACID
atomicité, cohérence, isolement et durabilité les quatre propriétés qui garantissent un traitement fiable des transactions. Une Embarqué destinée à un environnement de production doit être conforme aux principes ACID afin d’assurer l’intégrité des données même en cas de coupure de courant ou de plantage de l’application.
support SQL
De nombreuses Embarqué proposent une interface SQL standard, ce qui permet aux développeurs d’utiliser requête familière et de partager le schéma et requête avec une base de données côté serveur associée.
ISAM (méthode d'accès séquentiel indexé)
Méthode de gestion et de stockage des fichiers utilisée par certaines Embarqué (notamment Actian PSQL) pour permettre un accès rapide et direct aux enregistrements via des index. Les moteurs ISAM sont particulièrement adaptés aux charges de travail transactionnelles à haute fréquence sur du matériel aux ressources limitées.
Btrieve
enregistrement original développé par Novell (puis par Pervasive Software, aujourd'hui Actian), qui a servi de base à ce qui est aujourd'hui Actian PSQL. Btrieve a été le pionnier du concept de moteur de données transactionnel léger et intégrable, et constitue l'une des technologies Embarqué les plus anciennes encore utilisées en production.
Licences OEM
Modèle de licence dans lequel un ELI un moteur de base de données tiers à son propre produit et le commercialise auprès des clients finaux. Embarqué sont souvent distribuées dans le cadre de contrats OEM, car utilisateur final utilisateur interagit utilisateur directement avec la base de données.
Avantages des Embarqué
- déploiement simplifié. La fourniture d'un programme d'installation unique pour l'application évite aux clients d'avoir à installer, à activer et à configurer un serveur de base de données distinct.
- Coût total de possession réduit. Aucun matériel serveur, aucun administrateur de base de données à distance et aucune infrastructure réseau ne sont nécessaires pour les déploiements locaux.
- Haute performance pour les charges de travail locales. La suppression de la pile réseau et de la communication interprocessus permet de réduire considérablement la latence pour les charges de travail à transaction haute fréquence impliquant une seule application.
- Fonctionnement hors ligne.Embarqué fonctionnent sans aucune connexion réseau, ce qui les rend idéales pour les appareils sur le terrain, les environnements isolés du réseau et les lieux où la connexion est instable.
- Comportement cohérent. La version de la base de données étant intégrée à l'application, il n'y a aucun risque qu'une mise à niveau du serveur perturbe de manière inattendue le fonctionnement de l'application.
Limites des Embarqué
- Portée à application unique. La plupart Embarqué sont conçues pour être consultées par une seule application à la fois sur une seule machine.simultanéité utilisateur simultanéité un réseau est généralement gérée par une édition client-serveur complémentaire.
- évolutivité horizontale limitée. Embarqué évoluent verticalement avec le matériel hôte, et non horizontalement entre des nœuds distribués.
- Ne convient pas au reporting centralisé. L'agrégation des données provenant de nombreux Embarqué nécessite une couche ETL ou de synchronisation pour transférer les données vers un référentiel central en vue d'un reporting à l'échelle de l'entreprise.
Embarqué vs. in-memory
Une in-memory stocke ses données de travail principalement dans la mémoire vive (RAM) afin d'optimiser les performances de lecture et d'écriture ; elle peut ou non persister ces données sur disque. Une Embarqué se définit par son architecture (en cours de traitement, sans serveur distinct) plutôt que par son support de stockage : une Embarqué peut stocker des données sur disque, en mémoire, ou les deux. Ces deux concepts sont indépendants l’un de l’autre : une base de données peut être à la fois Embarqué et in-memory, ou Embarqué une persistance sur disque.
Questions fréquemment posées
SQLite est-il une Embarqué ?
Oui. SQLite est l'une des Embarqué les plus répandues au monde ; elle est largement utilisée dans les applications mobiles, les navigateurs et les outils de développement. Elle stocke l'intégralité de la base de données dans un seul fichier multiplateforme.
Une Embarqué peut-elle support utilisateurs ?Embarqué sont généralement conçues pour une seule instance d'application sur une seule machine. De nombreux éditeurs, dont Actian, proposent une édition client-serveur du même moteur de base qui étend les capacités Embarqué à des déploiementsutilisateur en réseau, sans que les développeurs aient à modifier le code de leur application.
Comment une Embarqué gère-t-elle la reprise après panne ?Embarqué en production utilise la journalisation par écriture anticipée (WAL) ou un mécanisme de journalisation équivalent pour garantir que les transactions validées avant un plantage soient récupérables et que les transactions incomplètes soient annulées au redémarrage.
Quelle est la différence entre une Embarqué et une base de données basée sur des fichiers ? Toutes Embarqué stockent des données dans des fichiers, mais tous les systèmes de stockage basés sur des fichiers ne constituent pas nécessairement une base de données. Une base de données offre, en plus du stockage de fichiers, requête structurées, d'indexation, de gestion des transactions et simultanéité . Ce n'est pas le cas d'un simple fichier plat ou d'un fichier CSV.
Pour plus d'informations sur Actian PSQL, la base de données transactionnelle Embarqué client-serveur spécialement conçue par Actian, rendez-vous sur actian.com.
FAQ
Une Embarqué est un système de gestion de bases de données (SGBD) qui fonctionne comme partie intégrante d'une application, plutôt que comme un processus serveur distinct et autonome. L'accès au moteur de base de données s'effectue directement via une bibliothèque ou une API compilée dans l'application elle-même ou fournie avec celle-ci.
Une Embarqué s'exécute au sein même du processus de l'application, ne nécessite aucune connexion réseau et est autogérée, tandis qu'une base de données client-serveur s'exécute sous la forme d'un processus serveur distinct auquel plusieurs clients se connectent via un réseau. Embarqué sont particulièrement adaptées aux applications de bureau, aux terminaux périphériques et aux applications mobiles, tandis que les bases de données client-serveur sont conçues pourutilisateur en entreprise.
Embarqué simplifient déploiement rendant inutile l'installation d'un serveur de base de données distinct, réduisent le coût total de possession en supprimant les besoins en matériel serveur et en administrateur de bases de données, et offrent des performances élevées pour les charges de travail locales en éliminant les surcoûts liés au réseau et à la communication inter-processus.
Oui. Embarqué stockent les données localement sur le système de fichiers de l'appareil hôte et fonctionnent sans aucune connexion réseau, ce qui les rend particulièrement adaptées aux appareils de terrain, aux environnements isolés physiquement et aux lieux où la connexion est instable.
Parmi les cas d'utilisation courants, on peut citer les terminaux de point de vente, les appareils en périphérie et les appareils IoT, les applications mobiles, libre-service , les pipelines de développement et de test, ainsi que les logiciels packagés pour lesquels les éditeurs de logiciels indépendants doivent fournir une solution complète et autonome.
Non. Une Embarqué se définit par son architecture (intégrée au processus, sans serveur distinct) plutôt que par son support de stockage, et peut stocker des données sur disque, en mémoire, ou les deux. Une in-memory stocke les données actives principalement dans la mémoire vive (RAM), et ces deux concepts sont indépendants l'un de l'autre.
Embarqué sont généralement conçues pour une seule instance d'application sur une seule machine. De nombreux éditeurs, dont Actian, proposent une édition client-serveur du même moteur de base, qui étend les capacités Embarqué à des déploiementsutilisateur en réseau, sans que les développeurs aient à modifier le code de leur application.
Embarqué destinée à une utilisation en production utilise la journalisation anticipée (WAL) ou un mécanisme de journalisation équivalent afin de garantir que les transactions validées avant un plantage soient récupérables et que les transactions incomplètes soient annulées au redémarrage.
Embarqué sont limitées à une seule application sur une seule machine, évoluent verticalement plutôt qu'horizontalement, et ne sont pas bien adaptées à la création de rapports centralisés couvrant de nombreux déploiements sans couche ETL ou de synchronisation supplémentaire.
La licence OEM est un modèle dans lequel un éditeur de logiciels indépendant un moteur de base de données tiers à son propre produit et le commercialise auprès de clients finaux, qui n'interagissent jamais directement avec la base de données. Embarqué sont souvent distribuées de cette manière, car elles fonctionnent comme un composant transparent de l'application.