
 |
 |
 |

Fonctionnalités |
|
 |
Les fonctionnalités offertes par HyperFileSQL sont très nombreuses.
Vous trouverez ci-après la description des principales fonctionnalités.
Procédures stockées
(UDF)
Les procédures stockées (quelquefois appelées UDF) permettent
de faciliter l'évolution et la maintenance de vos applications en
factorisant le code.
En effet, lorsque la façon de calculer un résultat ou une règle métier
contenue dans une procédure stockée évolue, il vous suffira
de modifier seulement la procédure stockée sur le serveur, sans
effectuer la moindre modification dans les applications déployées.
Une procédure stockée permet également de limiter le nombre
d’allers et retours entre le poste client et le serveur, et donc améliore
également la vitesse des traitements.
Une même procédure stockée peut être partagée entre plusieurs
applications.
Les procédures stockées se programment en WLangage, et bénéficient
donc de la
richesse fonctionnelle et de la facilité de ce L5G.
Les procédures stockées prennent des paramètres et/ou retournent
des entiers, chaines, date, etc…
La création d’une procédure stockée depuis l’environnement de
WINDEV est vraiment très facile.

Sous l’éditeur de schéma de données (éditeur d’analyses) |
Triggers
Un trigger permet de déclencher une procédure stockée avant ou
après un événement sur une table de la base de données : par
exemple avant une suppression de ligne, ou après la modification
d’une ligne.
Un trigger apporte une grande sécurité. Le trigger sera déclenché
quelle que soit l’application ou composant qui accède à la base
de données et qui effectue l’opération définie, sans que le développeur
de l’application n’ait quoi que ce soit à programmer.
Les triggers «serveur», comme leur nom l’indique, s’exécutent directement
sur le serveur.
Le «droit» de créer un trigger est défini via les droits de la base de
données.
L’environnement de WINDEV avertit le développeur de la présence
de ces triggers (les triggers sont visualisés dans l’analyse).
Intégrité :
contrainte,
suppression, mise à jour
en cascade
Il est facile de définir des contraintes d’intégrité.
Les cardinalités sont paramétrables : (0,n) ; (0,1); (1,n); (3,n); etc...
Les liaisons réflexives sont supportées.
Exemples de contraintes d’intégrité référentielle :
| • |
Intégrité référentielle :
L'intégrité référentielle interdira l'effacement d'un auteur, tant que dans la base de données il existera au moins un livre se référant à cet auteur.
Il n’est pas possible de supprimer une ligne dans une table si cette ligne est reliée à d’autres lignes d’une table (on ne peut pas supprimer un client si des commandes sont reliées à ce client).
L’intégrité référentielle peut être définie par liaison, depuis l’éditeur d’analyses. |
| • |
Suppression en cascade :
Si une ligne est supprimée dans une table, les lignes correspondantes dans les tables reliées sont également supprimées (cette contrainte peut être activée ou désactivée, par relation) |
Journalisation
Le journal est une table particulière dans laquelle sont mémorisées automatiquement toutes les opérations réalisées sur une ou plusieurs
tables depuis un instant donné.
Le journal contient l'historique de l'utilisation de la table, c'est-à-dire :
| • |
la ligne complète avant manipulation ou modification par l'utilisateur |
| • |
la ligne complète après manipulation ou modification par l'utilisateur |
| • |
l'auteur de la manipulation ou de la modification |
| • |
la date et l’heure de la manipulation ou de la modification |
| • |
la nature de l'opération effectuée : ajout, modification, suppression, lecture |
| • |
l’identifiant du poste qui a effectué la modification |
| • |
l’adresse IP du poste qui a effectué l'opération |
| • |
le nom de l'application qui a effectué l'opération |
Il est possible de réaliser les opérations suivantes à partir d'un
journal :
| • |
restaurer le contenu d’une table journalée en cas de perte ou de destruction des données |
| • |
restaurer le contenu d’une table journalée jusqu'à une certaine date |
| • |
retrouver l'auteur, la date et l'heure d'une opération réalisée sur une ligne spécifique |
| • |
conserver un historique de l'utilisation d’une table (par exemple pour réaliser des statistiques) |
Ces opérations peuvent se lancer en ligne de commande ou depuis
l’utilitaire WDJournal.
Transactions :
commit, rollback,
crash recovery
Une transaction est un ensemble d'opérations indissociables : soit
toutes les opérations de la transaction sont réalisées, soit aucune
opération n'est réalisée. La gestion des transactions est le meilleur
moyen d'assurer la cohérence d'un ensemble d'écritures indissociables
sur différentes tables HyperFileSQL.
Une transaction permet de s'assurer que des mises à jour effectuées
sur une ou plusieurs tables de données se sont déroulées
correctement.
Compression des données «blob»
Les données de type «blob» (mémo texte ou binaire) peuvent être
compressées pour optimiser l’espace occupé sur le disque.
L’espace occupé peut ainsi être très sensiblement réduit.
Compression des trames
Une «trame» est un paquet de données qui transite sur le réseau.
HyperFileSQL, comme tous les SGBD, utilise des trames pour communiquer
entre le poste client et le serveur.
La vitesse de transfert des données d’un serveur dépend à la fois
de la vitesse de circulation des trames sur le réseau, et de la taille
de ces trames.
En réseau local, la vitesse est tellement élevée que la taille de la
trame a une importance relative.
Par contre, pour un accès à distance (ADSL, 3G,...), la taille de la
trame prend plus d’importance. Dans ce contexte, une forte réduction
de la taille des trames engendre un gain de performances
sensible.
La compression des trames permet de réduire (jusqu’à 95% de réduction)
la taille des paquets circulant sur le réseau, en appliquant
automatiquement un algorithme de compression aux données. Dans un contexte de communication à distance, surtout si la vitesse
de connexion est lente, l’intérêt de compresser les trames
est grand.
La vitesse en connexion à distance est améliorée.
Les volumes de données transitant par le média de transmission
étant réduits, celà peut avoir un avantage avec les contrats facturant
selon le volume de données.
Verrou de ligne
automatique
HyperFileSQL gère les verrous au niveau table et au niveau ligne.
La gestion des verrous au niveau ligne permet d’assurer une meilleure
performance des accès.
Plusieurs databases sur
un même serveur
HyperFileSQL gère nativement la présence de plusieurs bases de
données sur un même serveur.
Les bases de données sont isolées.
Des droits spécifiques peuvent être définis sur chacune des bases.
Cela évite de multiplier les serveurs.
Reconnexion automatique
Cette fonctionnalité traite automatiquement l’aspect de la «déconnexion» en cours d’utilisation entre client et serveur.
Typiquement, ce problème se pose avec des matériels dont la
connexion avec le serveur n’est pas assurée en
permanence : les appareils mobiles en particulier
(Wi-Fi, 3G,…).
En connexion Wi-Fi par exemple, la
liaison entre un appareil distant et
le serveur peut s’interrompre un
court instant.
Ce type de coupure peut intervenir également
sur des réseaux filaires classiques.
Lorsque l’application est de nouveau connectée,
il est utile de «reprendre» l’application là
où la communication a été interrompue, et que
les buffers soient correctement renseignés.
Grâce à la gestion automatique de la reprise,
l’ensemble des «buffers» et des positions est
mémorisé et réaffecté.
L’application peut ainsi continuer à s’exécuter
sans erreur, comme si la connexion ne s’était
pas interrompue.
Il est également possible de gérer les interruptions
de connexion par programmation,
ou d’exécuter des traitements
supplémentaires si on le souhaite.
Sauvegarde

Paramétrage d’une sauvegarde |
La sauvegarde est une fonctionnalité importante d’une base de
données.
Il est possible de sauver l’intégralité du serveur, ou uniquement
une base de données, ou uniquement une sélection de tables,
avec ou sans les index.
HyperFileSQL gère la sauvegarde à chaud, différentielle.
Une sauvegarde est transportable, par exemple d’un Windows à
un Linux, d’une version Client/Serveur à une version Classic.
Une sauvegarde peut être déclenchée depuis le Centre de
Contrôle (sauvegarde immédiate, sauvegarde planifiée), ou par programmation, directement depuis l’application.
La périodicité de la sauvegarde complète et de la sauvegarde différentielle
éventuelle peut être spécifiée (exemple : 1 complète par
mois et 1 différentielle par semaine).
L’exécution de procédures stockées avant et/ou après la sauvegarde
permet de réaliser des traitements automatiques : envoi
d’email, copie de la sauvegarde sur un emplacement réseau,
etc...).
Le nombre de sauvegardes à conserver peut être spécifié.
La sauvegarde peut s’exécuter :
• à chaud, sans déconnecter les utilisateurs
• de manière transparente, sans perturber le fonctionnement des
applications.
Ordonnanceur intégré
(tâches planifiées)
HyperFileSQL dispose d’un ordonnanceur intégré qui permet de
définir et paramétrer des tâches planifiées.
Une tâche ne consiste pas seulement à permettre d’exécuter une
procédure stockée (UDF), mais permet également de déclencher
une sauvegarde, ou de déclencher une optimisation automatique
des performances.
La définition s’effectue par le Centre de Contrôle ou par programmation.
L’ordonnanceur permet aux DBA de programmer l’exécution automatique
de tâches sur le serveur; il permet par exemple de réaliser
des traitements par lot.
L’ordonnanceur est plus performant que l’exécution de commandes
dans le planificateur de tâches de Windows ou dans le
«cron» de Linux.
Les tâches peuvent être exécutées à une date fixée, avec un ou
plusieurs intervalles réguliers.
Il est possible de créer, ajouter, modifier, activer, désactiver des
tâches programmées par programmation, ou depuis l’outil d’administration,
sous réserve de posséder les droits adéquats.

Interface graphique et conviviale de l’ordonnanceur
(tâches planifiées) |
Exemple de paramètres possibles :
• Tous les mois ou certains mois seulement,
• Tous les jours ou certains jours (le lundi par exemple, ou le 4 de chaque mois),
• A heure fixe ou toutes les n heures et/ou n minutes,
• Nombre de fois où la tâche doit être exécutée (10 fois par exemple, ou à l’infini).
Réplication universelle
La réplication universelle fonctionne quelles que soient les bases
de données utilisées. Il est par exemple possible de répliquer des
données HyperFileSQL entre elles, ou avec des données Oracle ou
provenant de n’importe quelle autre base de données.
La réplication peut être unidirectionnelle ou bi-directionnelle, et
peut s’effectuer selon différents médias : ordinateurs connectés au
réseau, clé USB, Internet, GPRS, 3G...

Configuration du comportement des tables. |
Une réplication se définit à l’aide de l’assistant de réplication, ou
par programmation.
Réplication déconnectée
Le mode de «réplication déconnectée» permet à une réplication
de se gérer de façon autonome.
La réplication s’effectue sans connexion permanente au serveur
contenant l’autre base de données.
Le principe est simple: le réplica est envoyé sur le serveur de réplication
(par Internet, via une clé USB,...).
La liaison avec le serveur est ensuite inutile.

La réplication «déconnectée» |
Cluster
(ferme de serveurs)
Grâce à la fonctionnalité de cluster, un ensemble de serveurs physiques
apparaît comme un serveur unique aux clients.
La défaillance éventuelle d’un serveur physique ne provoque pas
de défaillance des accès à la base de données (haute disponibilité,
tolérance aux pannes).
Les serveurs se répliquent automatiquement les uns les autres en
temps réel.
La charge d’accès lecture est répartie sur l’ensemble des serveurs
(répartition de la charge en lecture).
On peut ajouter et supprimer des serveurs à chaud.
En cas de crash d’un serveur, il se re-synchronisera automatiquement
au démarrage.
Lorsqu’un utilisateur est connecté à un serveur qui défaille, l’application
ne sera pas déconnectée, et sera automatiquement reconnectée
à un serveur valide (basculement automatique).
Le cluster est également très utile pour les infrastructures SaaS.
Modification automatique
des données sur chaque
site (SDD)
Quel informaticien, quel DBA n'a pas pesté contre le temps perdu
à écrire ces fameuses «moulinettes» (scripts) de table pour agrandir
ou ajouter une colonne ou un index à une table existante,
pour changer un type de données dans une colonne ?
Le problème est encore plus complexe quand de nombreuses (et
souvent différentes) versions de l'application sont déployées : il
faut en plus vérifier la version utilisée de la base de données.
L'écriture de moulinettes (scripts) est toujours délicate, car elle
modifie des données.
Avec HyperFileSQL tout cela appartient au passé !
HyperFileSQL gère de manière transparente l’évolution des structures
(schémas) de données grâce à la technologie SDD (synchronisation
du schéma des données).
Si par exemple une colonne voit sa taille modifiée, ou si une colonne
est rajoutée, ou encore si le type des données contenues
change (entier vers réel par exemple) HyperFileSQL mettra à jour
automatiquement les données des tables concernées.
Un historique de 100 versions est géré.
Finies les «moulinettes» ! Finis les scripts ! Finis les «Alter table»
hasardeux et insuffisants !
La procédure de mise à jour, qui sera installée et exécutée automatiquement
avec la mise à jour de votre application, est générée
automatiquement.

SDD : Mise à jour automatique du schéma de données
(également appelée Modif. Auto.) |
Le SDD (synchronisation du schéma des données) effectue automatiquement
:
| • |
La comparaison et synchronisation automatique de la base et des données par rapport au schéma à obtenir, |
| • |
L’ajout, suppression, renommage de colonne, |
| • |
Le changement de type, de taille, |
| • |
L’ajout/suppression de clé/index, ajout/suppression de contraintes, |
| • |
L’ajout/suppression de triggers, de procédures stockées. |
Le SDD peut également être lancé par ligne de commande.
Notez qu’il n’est pas nécessaire d’utiliser d’autres outils de gestion
de script pour réaliser ces tâches.
Notez également que le SDD fonctionne quelles que soient les
versions du schéma des bases cibles : le SDD fonctionne immédiatement
sur une version n-3 par exemple.
Cette fonctionnalité de SDD peut s’exécuter :
| • |
à chaud, sans déconnecter les utilisateurs, |
| • |
de manière transparente, sans perturber le fonctionnement des applications. |
Lien avec les autres bases
de données
Il est bien entendu possible d’utiliser HyperFileSQL en parallèle
avec d’autres bases de données. D’ailleurs, la plupart des S.I. utilisent
plusieurs SGBD hétérogènes.
Une même application peut utiliser à la fois et simultanément une
base HyperFileSQL et d’autres bases de données.
HyperFileSQL permet également l’import et l’export facile de données
avec d’autres bases de données.

Sommaire de la documentation :
|
|
|
|
|
|
|

 |
Base de Données SQL |
 |
Windows, Linux, Mac, iPhone
|
 |
Local |
 |
Mobile |
 |
Embarqué |
 |
Client/Serveur |
 |
Cluster |
 |
Grande capacité |
 |
Tous les types de données |
 |
Unicode |
 |
Index, index multicolonnes, clés |
 |
Intégrité référentielle |
 |
Full text |
 |
Procédures stockées |
 |
Triggers |
 |
Intégrité référentielle |
 |
Journalisation |
 |
Transactions |
 |
Compression des données |
 |
Compression des trames |
 |
Verrou de ligne automatique |
 |
Reconnexion automatique |
 |
Ordonnanceur |
 |
Réplication |
 |
SDD |
 |
Gestion des droits |
 |
Injection SQL impossible |
 |
Cryptage |
 |
Provider OLE DB |
 |
Pilote ODBC |
 |
Centre de Contrôle |
 |
Administration à chaud |
 |
Sauvegardes |
 |
Modélisation de base |
 |
Requêteur |
 |
Reporting |
 |
Visualiseur de données |
 |
Robot de surveillance |
 |
Lien natif avec WINDEV, WEBDEV et WINDEV Mobile |
 |
Déploiement gratuit* |
| Commandez |
 |
Commandez en ligne
Vous pouvez commander par courrier, par fax ou directement
sur ce site

Vous avez un existant ?
Vous créez votre entreprise ?
Faites le choix de la productivité.
Et bénéficiez de 40% de remise immédiate.
| Demandez le dossier ! |
 |
Recevez le dossier complet
(gratuit) Recevez sur votre bureau (ou chez vous) le DVD, le dossier complet et le N° de "01 Informatique": 100 témoignages de réussite, et découvrez comment développer 10 fois plus vite !
Politique environnementale |
|