Skip to main content

Dynamic Book

C’est un développement initié par TetraSys Oy avec l’objectif de développer une nouvelle solution organisée autour de Blazor, Oxygène (Rem Objects), FirebirdSQL & Lucene_UDR en traduisant l’excellent travail de « Denis Simonov » titré «  guide du langage FirebirdSQL 5.0 Alpha » au format AsciiDoc que nous avons commencé à traduire en français.

Le travail de Denis Simonov et tous les autres contributeurs est impressionnant, plus de 900 pages techniques que nous avons découpés en section par sujet visible par exemples les tables systèmes comme un gros pense bête :-) , comme vous pouvez le constater ci dessous
 

Exemple https://fb5doc.tetrasys.fi/datatypes-datetime

Le développement est articulé sur base d’un serveur Rocky Linux version 9 au format VM 2 corps permettant la compilation des sources de FirebirdSQL 5 initial, de LuceneC++ ainsi que le projet Lucene_UDR. Ce choix permet de rester le plus léger possible au niveau des ressources serveur et du transport en HTTP3/Quic via NGINX (également compilé pour ce faire).

Le choix de travailler avec la techno fournie par Blazor serveur complète l’ensemble, permettant de réduire le transport des données au plus strict minimum via WebSocket en UDP.

Ce développement est parti sur le principe de trouver le meilleur l’équilibre entre les ressources/vitesse/résultat possible avec le matériel suivant :

OS: Rocky Linux 9.0 (Blue Onyx) x86_64

Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-5.2)

Kernel: 5.14.0-70.22.1.el9_0.x86_64

CPU: AMD EPYC 7282 (4) @ 2.794GHz

Memory: 426MiB / 7684MiB

FirebirdSQL Server Version: LI-T5.0.0.681 Firebird 5.0 Initial

.NET SDK Version: 6.0.108 Commit: 4e3a463d2b

RemObjects Oxygene : 11.0.0.2763

Microsoft Visual Studio Community 2022 (64-bit) – Preview Version 17.4.0 1.0

La seul contrainte observée sur tout le processus est de minimisé l’empreinte de l’application au maximum et de bannir toute librairie, souvent inutile, a charger par page ou en cache client.

L’application, avec son système d’exploitation n’occupe que 460M et 4 à 6% des corps processeur en charge.

Le temps de réponse d’une page moyenne est de 420ms pour 29kb de données

Le temps moyen d’une réponse à une recherche avec Lucene_UDR est de 4 à 10 millièmes de seconde