Qu'est-ce qu'une source de données ?

Définition des sources de data

Une source de données est l'endroit d'où proviennent les données utilisées.

Une source de données peut être l'endroit où les données ont été créées ou celui où les informations physiques ont été numérisées. Cependant, même les données les plus élaborées peuvent être considérées comme des sources, tant qu'un autre processus y accède et les utilise. Concrètement, une source de données peut être une base de données, un fichier plat, des mesures provenant directement d'appareils physiques, des données obtenues par web scraping ou l'une des nombreux services de données statiques et de données en streaming qui abondent sur Internet.

Voici un exemple d'une source de données en action. Imaginez une marque de mode qui vend des produits en ligne. Pour indiquer qu'un article est en rupture de stock, le site web collecte des informations dans une base de données d'inventaire. Dans ce cas de figure, les tableaux d'inventaire sont une source de données, à laquelle accède l'application web pour afficher le site web aux clients.

Si l'on se concentre sur la façon dont le terme est utilisé dans le contexte familier de la gestion de bases de données, on comprend quels types de sources de données existent, comment elles fonctionnent et quand elles sont utiles.

Nomenclature des sources de données

Les bases de données restent les sources de données les plus répandues car elles sont les principaux magasins de données dans les systèmes de gestion de bases de données relationnels (SGBDR) universels. Dans ce contexte, le nom de source de données (DSN) est un concept important. Dans les bases de données ou applications de destination, le DSN est défini comme un pointeur vers les données réelles, qui peut être présent en local ou sur un serveur à distance (et à un seul endroit physique comme virtualisé). Le DSN n'est pas forcément le même que celui de la base de données ou du fichier correspondants. Il sera plutôt dans une adresse ou une étiquette utilisée pour accéder facilement aux données à leur source.

Au final, les systèmes qui réalisent l'ingestion des données déterminent le contexte de toute discussion autour des sources de données. Les définitions et la nomenclature varient donc considérablement et peuvent être sources de confusion. C'est particulièrement vrai pour la documentation technique. Si l'on prend par exemple la plateforme logicielle Java, le terme « Datasource » se réfère précisément à un objet représentant une connexion à une base de données (comme un DSN extensible et programmé). En parallèle, certaines nouvelles plateformes utilisent plus largement le terme « DataSource » pour désigner toute collecte de données offrant un moyen d'accès normalisé.

Types de sources de données

Même si la diversité des contenus, formats et emplacements des données ne cesse d'augmenter avec les apports de technologies telles que l'IoT et l'adoption de méthodologies big data, il est toujours possible de classer la plupart des sources de données en deux grandes catégories : les sources de données machine et les sources de données fichier.

Même si leur finalité est la même, soit pointer l'emplacement des données et décrire les caractéristiques de connexion similaires, les sources de données machine et fichier sont stockées, accessibles et utilisées de différentes façons.

Sources de données machine

Les sources de données machine ont des noms définis par les utilisateurs, doivent être sur la machine qui intègre les données et ne sont pas facilement partageables. À l'instar des autres, les sources de données machine fournissent toutes les informations nécessaires pour se connecter aux données, comme les logiciels pilotes et un logiciel de gestion des pilotes adéquats, mais les utilisateurs ne doivent indiquer que le raccourci du DSN pour appeler la connexion ou interroger les données.

Les informations de connexion sont stockées dans des variables d'environnement, des options de configuration de base de données ou un emplacement à l'intérieur de la machine ou de l'application utilisée. Par exemple, une source de données Oracle contiendra un emplacement du serveur pour accéder au SGBD à distance, des informations sur les pilotes à utiliser, le moteur de pilotes et toute autre partie importante d'une chaîne de connexion-type, comme l'identification et l'authentification des systèmes et utilisateurs.

Sources de données fichier

Les sources de données fichier contiennent toutes les informations de connexion dans un seul fichier informatique partageable (généralement via un fichier avec l'extension .dsn). Le nom attribué aux sources de données fichier n'est pas décidé par les utilisateurs car ces sources ne sont pas enregistrées sur des applications, systèmes ou utilisateurs individuels et n'ont, en fait, pas de DSN comme celui des sources de données machine. Chaque fichier stocke une chaîne de connexion pour une source de données unique.

Contrairement aux sources machines, les sources de données fichier peuvent être modifiées et copiées, comme n'importe quel fichier informatique. Cela permet aux utilisateurs et aux systèmes de partager une connexion commune (en déplaçant la source de données entre des machines ou des serveurs individuels) et de rationaliser les processus de connexion des données (par exemple en conservant un fichier source sur une ressource partagée afin qu'il puisse être utilisé simultanément par plusieurs applications et utilisateurs).

Il est important de noter qu'il existe aussi des fichiers .dsn « non partageables ». Il s'agit du même type de fichier que celui décrit ci-dessus, mais ils existent sur une seule machine et ne peuvent être ni déplacés ni copiés. Ces fichiers pointent directement vers des sources de données machine. Les sources de données fichier non partageables sont donc des enveloppes pour les sources de données machine. Elles servent de proxy pour les applications qui n'acceptent que des fichiers mais doivent aussi se connecter aux données machine.

Fonctionnement des sources de données

Les sources de données sont utilisées de différentes manières. Les données peuvent être transportées grâce à divers protocoles réseau, tels que les fameux FTP (ou protocole de transfert de fichiers) et HTTP (ou protocole de transfert hypertext), ou à l'une des nombreuses interfaces de programmation d'applications (API) fournies par des sites web, des applications en réseau et d'autres services.

De nombreuses plateformes utilisent des sources de données avec des adresses FTP pour indiquer l'emplacement des données à importer. Dans la plateforme Adobe Analytics, par exemple, une source de données fichier est téléchargée sur un serveur via un client FTP, puis un service utilise cette source pour déplacer et traiter automatiquement les données pertinentes.

Le SFTP (S pour Secure ou SSH) est utilisé lorsque les noms d'utilisateur et les mots de passe doivent être masqués et les contenus cryptés. Le FTPS peut être une alternative si l'on ajoute une TLS (ou sécurité de la couche transport) au FTP.

En parallèle, de nombreuses API différentes sont désormais fournies pour gérer les sources de données et leur utilisation dans les applications. Les API sont utilisées pour relier les applications aux sources de données par programmation. Elles offrent généralement davantage de personnalisation et un ensemble plus polyvalent de méthodes d'accès. Par exemple, Spark fournit une API avec des implémentations abstraites pour représenter et se connecter à des sources de données, qu'elles soient des classes minimalistes mais extensibles pour des sources relationnelles génériques ou des implémentations détaillées pour des connexions JDBC codées en dur.

Parmi les autres protocoles pour déplacer des données depuis des sources vers des destinations, en particulier sur le web, on trouve NFS, SMB, SOAP, REST et WebDAV. Ces protocoles sont souvent utilisés au sein des API (et certaines API utilisent elles-mêmes d'autres API en interne), au sein d'applications de données complètes ou en tant que processus de transfert autonomes. Ils ont chacun des caractéristiques et des failles de sécurité qui doivent être prises en compte lors de tout transfert de données.

La finalité d'une source de données

Au final, les sources de données sont destinées à permettre aux utilisateurs et aux applications de se connecter aux données et de les déplacer là où elles doivent être. Elles réunissent les informations techniques importantes en un seul endroit et les dissimulent pour que les consommateurs de données se concentrent sur le traitement et identifient les moyens d'exploiter les données de façon optimale.

Le but est ici de regrouper les informations de connexion dans un format facilement compréhensible et plus orienté utilisateur. Les sources de données sont donc indispensables pour faciliter l'intégration de systèmes disparates, car elles évitent aux utilisateurs de devoir traiter et résoudre des informations de connexion complexes mais de faible niveau.

Et même si ces informations de connexion sont cachées, elles restent accessibles en cas de besoin. De plus, ces informations sont stockées dans des emplacements et formats cohérents, ce qui simplifie d'autres processus, tels que les migrations ou les changements structurels planifiés du système.

Mettre en œuvre des sources de données et de l'intégration

Une fois les données arrivées à leur emplacement final (idéalement un référentiel centralisé tel qu'un data warehouse cloud), les différences de format ou de structure relatives à la source doivent être lissées. Cependant, la toute première étape pour atteindre cet objectif d'intégration des données est d'abstraire les connexions de données initiales elles-mêmes. Cela représente une tâche complexe compte tenu du nombre de sources de données accessibles via le cloud.

Talend permet à ses clients d'intégrer les données provenant de milliers de sources internes et cloud, accélérant ainsi leur transition de systèmes disparates intégrables à une vue unifiée des données fiables au sein de l'entreprise. En utilisant une seule suite d'applications axée sur l'intégrité des données et l'intégration des données, Talend Data Fabric optimise et sécurise toute la chaîne de transmission de vos données, de la connexion initiale à une source de données, pour des analyses et une business intelligence pertinentes.

Essayez Talend Data Fabric pour intégrer vos sources de données en douceur et accéder à des insights clés grâce à des données fiables.

Prêt à faire vos premiers pas avec Talend ?