Au tout début lorsque Handheld Contact a développé ses solutions mobiles pour les utilisateurs Act!, ils ont utilisé le programme « Firebird » comme structure de base de données. Firebird est un système de gestion de base de données relationnelles SQL rapide qui fonctionne sur Linux, Microsoft Windows, MacOS et plusieurs plateformes d’Unix.
Dernièrement, nous avons examiné plusieurs aspects qui pourraient améliorer l’efficacité de notre service Classic. Nous avons décidé d’évaluer si cette plateforme pourrait être aussi rapide que SQL Lite – avec lequel nous avons développé de nombreux applications notamment QuickTasks pour Act!
SQLite fait partie de la bibliothèque du langage C qui implémente un petit moteur de base de données SQL, rapide, autonome et fiable. C’est le système le plus utilisé dans le monde et c’est intégré dans la plupart des ordinateurs et tous les téléphones mobiles.
Il va sans dire que SQL Lite semblait tout à fait adapté à nos besoins, alors nous avons entrepris, il y a deux mois, de réécrire la console Handheld pour traiter les données avec cette nouvelle plateforme. Les premiers résultats ont été très encourageants – surtout pendant la réexpédition.
Nous avons finalement terminé ce grand projet de développement et mis en œuvre des tests à de grand volumes et avec notre propre base de données Act! Le test impliquait 36 000 contacts avec des centaines d’activités, d’opportunités et de champs personnalisés, et sans oublier plus de 12 000 notes et historiques. Nous nous sommes dit que si ce test pouvait supporter ce niveau de stress, il répondrait certainement aux exigences de la plupart des clients.
Nous avons ainsi lancé deux tests séquentiels identiques avec l’ancienne et nouvelle console HHC. Ces tests pouvaient révéler des anomalies entre chaque synchronisation et indiquer si les résultats étaient reproductibles de façon constante.
Avant d’entrer dans les résultats exacts, il est important d’expliquer les trois principales parties du processus de synchronisation. Les parties de la synchronisation qui demandent beaucoup de temps sont les suivantes :
- Extraction des données de Act! (c’est l’étape qui consomme le plus de temps et nous ne pouvons pas faire grand-chose pour l’accélérer)
- Traitement des données dans la base de données (c’est la partie que nous avons changée en remplaçant « Firebird » par « SQLite »)
- Envoie de données, de fichiers xml à mware (la vitesse est influencée par les ressources système disponibles et la connectivité)
Donc, en comprenant bien ces 3 points, voici les résultats des quatre tests écrivant à la base de données.
Console de production (écriture du temps dans la base de données) :
- Test 1 = 23 minutes
- Test 2 = 65 minutes
Nouvelle Console SQL Lite :
- Test 1 = 7 minutes
- Test 2 = 18 minutes
Pour vous mettre dans le contexte, chacune de ces synchronisations ont pris de 2,5 à 3 heures. La première synchro était plus rapide de 16 minutes (11% plus rapide au total) et la seconde et 47 minutes plus rapide (26% plus rapide au total). Pour les synchronisations régulières avec moins de données impliqués, vous verrez probablement peu d’améliorations de vitesse.
Au cours de la dernière année, l’équipe de Handheld contact a certes investi la plupart des ressources dans le développement et l’amélioration des produits API, mais nous n’avons jamais regardé au-delà de notre produit Classic. Nous savons que cela reste une solution pour la plupart de nos abonnés. Alors, nous continuerons d’en faire une priorité pour améliorer ses fonctionnalités et ses performances.