Tout petit traitement de base de données peut être facilement abordé par des scripts Python / Perl / ..., qui utilisent des bibliothèques et / ou même des utilitaires du langage lui-même. Cependant, en ce qui concerne les performances, les gens ont tendance à tendre la main pour les langages C / C ++ / bas niveau. La possibilité d'adapter le code aux besoins semble être ce qui rend ces langages si attrayants pour BigData - que ce soit en ce qui concerne la gestion de la mémoire, le parallélisme, l'accès au disque ou même des optimisations de bas niveau (via des assemblys au niveau C / C ++).
Bien sûr, un tel ensemble d'avantages ne serait pas gratuit: l'écriture du code, et parfois même la réinvention de la roue , peuvent être assez coûteuses / fastidieuses. Bien qu'il existe de nombreuses bibliothèques disponibles, les utilisateurs sont enclins à écrire le code eux-mêmes chaque fois qu'ils ont besoin d' accorder des performances. Qu'est-ce qui empêche les assertions de performances d'utiliser des bibliothèques lors du traitement de grandes bases de données?
Par exemple, considérons une entreprise qui explore continuellement des pages Web et analyse les données collectées. Pour chaque fenêtre coulissante, différents algorithmes d'exploration de données sont exécutés sur les données extraites. Pourquoi les développeurs abandonneraient-ils l'utilisation des bibliothèques / frameworks disponibles (que ce soit pour l'exploration, le traitement de texte et l'exploration de données)? L'utilisation de choses déjà implémentées non seulement allégerait le fardeau du codage de l'ensemble du processus, mais permettrait également de gagner beaucoup de temps.
En un seul coup :
- qu'est-ce qui fait que l'écriture du code par soi-même est une garantie de performance?
- pourquoi est-il risqué de s'appuyer sur des frameworks / bibliothèques alors que vous devez assurer des performances élevées?