paint-brush
Comment configurer un serveur de base de données dédié pour Analyticspar@alejandroduarte
1,421 lectures
1,421 lectures

Comment configurer un serveur de base de données dédié pour Analytics

par Alejandro Duarte2022/05/18
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

S'il vous arrive d'avoir un vieil ordinateur portable ou une machine qui traîne et qui accumule la poussière, vous voudrez peut-être le réutiliser. Une base de données SQL rapide pour le traitement analytique (par exemple pour générer des rapports ad hoc) vous semble-t-elle bonne ? Si oui, continuez à lire ! Dans cet article, je vais vous montrer comment dépoussiérer un vieil ordinateur portable et le réutiliser comme serveur de base de données dédié pour l'analyse en plus de Rocky Linux et Docker.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Comment configurer un serveur de base de données dédié pour Analytics
Alejandro Duarte HackerNoon profile picture


S'il vous arrive d'avoir un vieil ordinateur portable ou une machine qui traîne et qui accumule la poussière, vous voudrez peut-être le réutiliser. Une base de données SQL rapide pour le traitement analytique (par exemple pour générer des rapports ad hoc) vous semble-t-elle bonne ? Si oui, continuez à lire !


Dans cet article, je vais vous montrer comment dépoussiérer un vieil ordinateur portable et le réutiliser comme serveur de base de données dédié pour l'analyse en plus de Rocky Linux et Docker.


J'ai utilisé ce Lenovo Thinkpad T440s avec un processeur Intel® Core™ i7, 8 Go DDR3L-SDRAM et 256 Go SSD :



Pourquoi Rocky Linux et Docker ?

Rocky Linux est la suite de CentOS , un système d'exploitation d'entreprise open source compatible avec Red Hat Enterprise Linux (RHEL).


Il offre de bonnes fonctionnalités de sécurité et d'administration, et comme il est basé sur RHEL, il est entouré d'une communauté vaste et active.


Docker est un logiciel de virtualisation qui s'exécute sur les systèmes Linux sans virtualiser le matériel. Cela optimise les ressources disponibles tout en conservant les avantages des environnements isolés.


Vous pouvez configurer Docker sur votre machine de tous les jours si vous préférez, mais si vous avez un vieil ordinateur portable avec le matériel minimal requis pour exécuter Rocky Linux, je vous suggère d'en profiter.

Avant de commencer

Avant de commencer, assurez-vous de sauvegarder tous les fichiers importants que vous pourriez avoir sur votre ancienne machine.


Utilisez des outils en ligne comme Google Drive, DropBox ou des disques durs externes. Affectez 1 ou 2 heures exclusivement à cette tâche. Explorez le système de fichiers et évitez les mauvaises surprises plus tard.

Installation de Rocky Linux

Je ne détaillerai pas comment installer Rocky Linux. Consultez la documentation officielle si vous souhaitez voir des instructions détaillées.


Cependant, assurez-vous de configurer une connexion Wi-Fi avec DHCP (ou Ethernet si vous préférez) dans l'interface graphique d'installation.


Vous n'avez pas besoin de créer d'utilisateurs supplémentaires, root suffit. N'installez pas non plus le serveur avec l'option GUI . Au lieu de cela, je recommande de sélectionner le système d'exploitation personnalisé et d'ajouter le logiciel suivant :


  • Gestion sans tête
  • Outils de sécurité
  • Outils système



Suivez les instructions d'installation pour terminer le processus.

Configuration d'une connexion Wi-Fi avec une adresse IP statique


Si vous avez configuré une connexion Wi-Fi lors de l'installation, vous devrez effectuer quelques étapes supplémentaires.


  1. Connectez la machine à votre routeur à l'aide d'un câble Ethernet .


  2. Exécutez encli connection et notez le nom de la connexion Ethernet. Dans mon cas, c'était enp0s25 .


  3. Activez la connexion en exécutant nmcli connection up enp0s25 (utilisez le nom de votre connexion).


  4. Installez l'utilitaire Wi-Fi manquant en exécutant yum install NetworkManager-wifi

  5. Débranchez le câble Ethernet.


  6. Redémarrez la machine en exécutant reboot .


  7. Une fois la machine redémarrée, connectez-vous en tant que root et vérifiez que la connexion Wi-Fi fonctionne en exécutant ping google.com .


  8. Installez l'interface utilisateur de gestion du réseau à l'aide dnf install NetworkManager-tui .


  9. Exécutez nmtui et modifiez la connexion Wi-Fi pour utiliser une adresse IP statique manuelle. J'ai défini l'adresse du serveur sur 192.168.1.200/24 et ajouté la passerelle et les serveurs DNS que j'ai obtenus d'une autre machine (macOS) du même réseau à l'aide de ifconfig . Utilisez ip addr sous Linux ou ipconfig sous Windows. Voici un exemple :




Empêcher l'ordinateur portable de se suspendre lorsque le couvercle est fermé

Pour éviter que l'ordinateur portable ne passe automatiquement en mode suspendu lorsque le couvercle est fermé, modifiez le fichier /etc/systemd/logind.conf et définissez les propriétés suivantes (vous pouvez utiliser vi ou installer GNU nano à l'aide de yum install nano ) :


 [Login] HandleLidSwitch=lock LidSwitchIgnoreInhibited=no


Pour conserver les modifications précédentes au redémarrage, exécutez systemctl restart systemd-logind.service .


Vérifiez que tout fonctionne en redémarrant votre machine.

Connexion au serveur à l'aide de SSH

À ce stade, vous pouvez passer à votre machine quotidienne et vous connecter au nouveau serveur en utilisant SSH :


 ssh [email protected]


Vous pouvez également attribuer un nom d'hôte sur votre ordinateur client. Modifiez le fichier /etc/hosts (machines de type Unix) ou le fichier c:\Windows\System32\drivers\etc\hosts (sous Windows) et ajoutez la ligne suivante (utilisez le nom de votre choix mais spécifiez l'adresse IP statique que vous avez configuré auparavant) :


 192.168.1.200 pickanyname.local


Vous devrez le faire sur chaque machine que vous utilisez pour vous connecter au serveur si vous souhaitez utiliser le nom d'hôte au lieu de l'adresse IP. Après cela, vous pourrez vous connecter au serveur comme suit :


 ssh [email protected]

Installation de Docker

Après vous être connecté au serveur via SSH, installez docker en exécutant les commandes suivantes :


 yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce \ docker-ce-cli \ containerd.io \ docker-compose-plugin


Pour que le service Docker démarre automatiquement au redémarrage de la machine, exécutez ces commandes :


 systemctl enable docker.service systemctl start docker.service

Installation de la base de données

Avec Docker ready, il est facile d'installer des logiciels tout en gardant votre serveur bien rangé. Le logiciel s'exécute dans des environnements isolés appelés conteneurs . Vous pouvez créer des conteneurs à partir d' images personnalisées ou prêtes à l'emploi .


Une image est un modèle avec des instructions sur la façon de créer un conteneur. Vous pouvez démarrer, redémarrer, arrêter et même supprimer des conteneurs lorsque vous n'en voulez plus dans votre système. Tout cela sans laisser de déchets dans votre système d'exploitation hôte (Rocky Linux, dans cet article).


Une base de données est un bon candidat pour fonctionner dans un environnement isolé. Exécutez la commande suivante pour démarrer un conteneur qui exécute un serveur MariaDB avec le moteur ColumnStore inclus :


 docker run --detach \ --name mariadb-cs \ --restart unless-stopped \ --env MARIADB_ROOT_PASSWORD='password' \ --publish '3306:3306/tcp' \ --expose '3306' \ mariadb/columnstore


Cela télécharge l'image MariaDB/columnstore à partir de Docker Hub (un registre public d'images Docker géré par Docker Inc.).


Après avoir téléchargé l'image, Docker crée un nouveau conteneur avec le nom MariaDB-cs et procède au démarrage du conteneur, démarrant effectivement le serveur de base de données MariaDB sur le port 3306.


La commande expose également le port au monde extérieur afin que vous puissiez vous connecter à la base de données, par exemple, à partir de votre ordinateur de développement.

Préparation d'une base de données de démonstration pour Analytics

Ce que vous venez d'installer vous permet d'utiliser le moteur de stockage MariaDB ColumnStore lorsque vous créez une table. Par exemple:


 CREATE TABLE some_table( ... column definitions here ... ) ENGINE=ColumnStore;


Cela indique à la base de données MariaDB d'utiliser le moteur ColumnStore pour stocker les données en colonnes. Ce moteur est conçu pour la mise à l'échelle du Big Data et peut traiter des pétaoctets de données, vous évitant ainsi de définir et de gérer des index. Cela le rend idéal pour les requêtes ad hoc sur de très grands ensembles de données.


Vous pouvez toujours utiliser le moteur InnoDB par défaut adapté aux charges de travail transactionnelles si nécessaire. Omettez simplement l'option ENGINE . Vous pouvez joindre des tables qui utilisent ColumnStore avec des tables qui utilisent InnoDB dans une seule instruction SQL.


Vous pouvez également utiliser la réplication entre un nœud transactionnel (InnoDB) et un nœud analytique (ColumnStore) pour permettre des charges de travail hybrides de traitement transactionnel-analytique (HTAP).


La meilleure façon d'expérimenter ColumnStore consiste à l'essayer à l'aide d'un ensemble de données existant.


Vérifiez ce référentiel Github qui charge 5 millions de lignes dans une table que vous pouvez utiliser pour exécuter des requêtes analytiques et voir par vous-même les performances de ColumnStore.