SQL Server En route vers les Architectures Data Lake On Premise ?

Slides:



Advertisements
Présentations similaires
Scénarios Architecture Drupal V 1.0. Scénario 1 : La base de données est également installée sur celui-ci. Le client ici fait office dinjecteur. Drupal.
Advertisements

CEDCOM architecture haute performance pour des applications “big data” Tanguy Raynaud Projet CEDAR.
SQLSATURDAY 420 – PARIS 2015 SQL 2016, UN NOUVEAU SOUFFLE POUR LA B.I. MICROSOFT ON PREMISE ?
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
DOKEOS Vos traitements bioinformatiques avec GALAXY Sarah Maman – Maria Bernard 11 Février 2014
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Page 1 La problématique du décideur La solution du « décisionnel » Les outils existants Mener un projet décisionnel Démo on line Sommaire.
Travailler à l'ensimag avec son matériel personnel (dans les locaux Ensimag ou depuis l'extérieur) 1.Introduction 2.La clé USB Ensilinux 3.Rappels : Accès.
Retour d’expérience sur Azure Stack Fabien William
PILOTER VOTRE INFRASTRUCTURE VIRTUALISEE AVEC PYTHON ( UN RETOUR D’EXPÉRIENCE EN ENVIRONNEMENT VMWARE ET IRONPYTHON) Jean-marc Pouchoulon PYCON FR 2009.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
Scanning. Responsable : Remy FABREGES Objectif : découvrir des failles de sécurité, s’introduire dans la passerelle Outils : nmap, rooktits.
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
L’intérêt de sauvegarder certaines données stockées localement sur les postes clients est souvent trop sous-estimée par nos utilisateurs. Casse matérielle,
Centre de Calcul de l’Institut National de Physique Nucléaire et de Physique des Particules OpenShift MARTINEZ Guillaume et BRÉTEL Foudil 29 juillet 2016.
IP Multicast Text available on
ATELIER Orchestration de Conteneurs avec Roboconf
Quelle solution pour quel usage ?
Master II BioInfo - Galaxy – Session Décembre 2016
DBStation Date 06/12/16 Rédacteurs Hervé FAUVET et Bruno GUEDJ.
PPE : Gestion de parc informatique
Microsoft SQL Server La Base de Données des plates formes Windows NT
PowerShell sur Linux : pourquoi et comment ?
Présentation du réseau
SOMMAIRE 1: ORALE 2: Les 3 systèmes de gestion de base de donnés 3:ORACLE DATA BASE 4:MY SQL 5:Oppen Office.org Base 6:Concurrence Conclusion.
Séminaire EOLE Beaune Septembre 2007
Téléchargement IOS - Commande tftpdnld du ROM Monitor
Centralisation de logs
IDL_IDL bridge The IDL_IDLBridge object class allows an IDL session to create and control other IDL sessions, each of which runs as a separate process.
Outils Statistiques pour la Sémantique Décembre 2013
C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007
Présentation des nouveautés de IIS 10
2018/8/9 CLAP Cluster de virtualisation et de stockage distribué du LAPP Mardi 26 avril 2016 Entrez votre nom.
CeMEB La plateforme MBB
Présentation OCS-Inventory au LAPP
CeMEB La plateforme MBB
mardi 11 septembre 2018mardi 11 septembre 2018
Documentation technique (Linux)
Direction commerciale
Windows Server 2012 Objectifs
Un Projet IaaS ? Emmanuel Braux
Prise en main Emmanuel Braux Institut Mines Telecom / Télécom Bretagne
Programmation Android Introduction à Android
Migration de l’architecture classique vers le cloud privé
Gestion du patrimoine informatique
Comment créer des applications Sharepoint Intelligentes
Vue d’ensemble des Outils Web API et Services Tools Cegid
J’ai migré un publisher sans réinitialiser la réplication
Application par la composition de micro-services
La gestion des habilitations par le partenaire
Missions Locales Serveur Mutualisé
Un cloud de production et de stockage
Info Bases de données avancées
Les 2 individus doivent réussir un des examens ci-dessous
Aymeric Weinbach MVP Microsoft
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Microsoft Azure Quelles protections des données à l'heure du Cloud ?
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
Faire converger les besoins analytiques et le développement applicatif
LUSTRE Integration to SRM
REPLICA Hyper-V Comme solution à un PRA
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
Windows 2012 R2 pour les administrateurs Linux
YII Yes It Is !.
Journée 2ème: introduction
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Les 2 individus doivent réussir un des examens ci-dessous
M’SILA University Information Communication Sciences and technology
Transcription de la présentation:

SQL Server 2019 - En route vers les Architectures Data Lake On Premise ? Sarah Bessard - Experte SQL Server - https://ConcatSkills.com Sauget Charles-Henri - MVP Data Platform - https://sauget-ch.fr #Meetup - Les gentils développeurs Data Platform

SAUGET Charles-Henri Consultant Data Platform depuis 2009 MAIL chsauget@insiders.coop GITHUB https://github.com/chsauget TWITTER @SaugetCh BLOG www.sauget-ch.fr WWW.INSIDERS.COOP

BESSARD Sarah Architecte SQL Server @concatskills contact@concatskills.com

Agenda 01 02 03 04 05 Container et Kebernetes Architecture SQL Server 2019 (Preview) 03 Gestion du cluster, debug et supervision 04 Architecture Data Lake 05 Démos

Container : Méthode de cloisonnement au niveau de l’OS VM Application 1 Application 2 Bin\Lib OS Invité OS Hôte Infrastructure Hyperviseur Conteneur Application 1 Application 2 Bin\Lib OS Hôte Infrastructure Moteur Container VS

Container Le principe est de faire tourner des environnements linux isolés les uns des autres, des micro services, mais partageant le même kernel. Un conteneur est la virtualisation de l’environnement d’exécution et non de l’intégralité de la machine, ce qui le rend plus léger qu'une VM, facilitant le déploiement. Un conteneur est portable et donc plus adapté aux applications qui doivent s'exécuter dans des environnements hétérogènes.

Container Le container n'a pas connaissance de ce qui se passe sur la machine hôte. Dans ces conditions, comment assurer la haute disponibilité et la scalabilité d’un service ?

Kubernetes Le mot Kubernetes vient du grec ancien et signifie « timonier », soit celui qui tient la barre d’un bateau. Si l’on reprend l’analogie de Docker avec les conteneurs maritimes, Kubernetes est le capitaine qui dirige le porte-conteneurs.

Kubernetes : Orchestration Création de services applicatifs sur différents conteneurs Planification de l’exécution des conteneurs dans un cluster Garantir l’intégrité des conteneurs Assurer le monitoring

Kubernetes : Cluster Kubernetes Master Nœud 1 POD A Nœud 2 POD B Kubelet Kubernetes Master Nœud 2 POD B Kubelet Nœud 3 POD C POD D Kubelet

Kubernetes : Haute disponibilité Nœud 1 POD A Kubelet POD A Kubernetes Master Nœud 2 Répliqua POD B Kubelet Nœud 3 POD C Kubelet

Kubernetes : Scalabilité Nœud 1 POD A Kubelet POD B2 Kubernetes Master Nœud 2 POD B1 Instanciation d’un POD Kubelet Nœud 3 POD C POD D Kubelet

Kubernetes : Service Client Client Service « Web » VIP Service « BDD » Load Balancing Load Balancing Serveur Web Serveur Web Serveur Web Serveur BDD Serveur BDD POD POD POD POD POD Nœud 1 Nœud 2 Nœud 3 Nœud 4 Nœud 5

Kubernetes : Glossaire Cluster : Agrégation de nœuds pour former une machine plus puissante et assurer la redondance Kubernetes Master : Serveur contrôlant les nœuds et la distribution des charges de travail aux nœuds en fonction de la disponibilité des ressources Nœud (physique, VM, ou hybride) : Héberge un à plusieurs PODS POD : Unité logique contenant un ou plusieurs conteneurs partageant les même ressources et/ou hébergeant les mêmes fonctionnalités Kubelet : Agent présent sur chaque nœud remontant les ressources disponibles, la disponibilité du nœud et des conteneurs Service : Point d'entrée permettant l'accès en mode load-balancé à un groupe de containers

Installation SQL Server 2019 (Preview) 1ère partie : Minikube et autres outils https://docs.microsoft.com/en-us/sql/big-data-cluster/deploy-on-minikube?view=sqlallproducts-allversions 2de partie : Déploiement d’un cluster Big Data Kubernetes https://docs.microsoft.com/en-us/sql/big-data-cluster/deployment-guidance?view=sqlallproducts-allversions#deploy Configuration suivante : CPU : 6 Mémoire : 32Go Stockage : 100Go Hyperviseur : Hyper-V, VirtualBox

Outils : Gestion du cluster et debug minikube : Outil permettant de mettre en place rapidement un cluster Kubernetes opérationnel sur sa machine mssqlctl : Outil de ligne de commande pour déployer et gérer un cluster big data via les API REST exposées par le service de contrôleur. kubectl : Outil de ligne de commande pour l’analyse du cluster Kubernetes Minikube :  L’un des défauts souvent reproché à Kubernetes est en effet sa complexité. Par exemple, Kubernetes est très long à installer et à configurer, et nécessite une certaine planification car les noeuds doivent être définis avant de débuter. La procédure diffère également pour chaque système d’exploitation.

Outils : minikube Création d'une VM minikube minikube start --vm-driver="hyperv" --cpus 6 --memory 32768 --disk-size 100g --hyperv-virtual-switch "External"    Arrêt/Démarrage minikube minikube stop/start IP associé à la VM minikube minikube ip   Accès SSH à minikube minikube ssh Suppression de la VM minikube minikube delete

Outils : mssqlctl Créer un cluster mssqlctl cluster create --name CLUSTER_NAME (variables d'environnement à initialiser) Supprimer un cluster mssqlctl cluster delete -n CLUSTER_NAME   Configuration du cluster mssqlctl cluster config get -n CLUSTER_NAME -f cong_cluster.txt Logs du cluster mssqlctl cluster debug copy-logs -n CLUSTER_NAME -d PATH

Outils : kubectl Infos cluster kubectl cluster-info Liste des nœuds   Liste des nœuds kubectl get nodes -n CLUSTER_NAME Liste des services kubectl get svc -n CLUSTER_NAME Liste des pods kubectl get pods -n CLUSTER_NAME Description et évènements d'un POD kubectl describe pod POD_NAME -n CLUSTER_NAME

Architecture Microsoft SQL Server : Cluster Kubernetes Nœud : Kubernetes Master Instance Mater SQL Server Proxy SQL Nœud Portail d’admin (cluster) Passerelle Knox Ranger Hive Dashboard Grafana Dashboard Kibana Plan de contrôle Plan de calcul Plan de données Pool de calcul Pool de stockage Pool de données SQL Nœud de stockage Nœud SQL Proxy SQL : Redirection des écritures sur le maître et les lectures sur les autres nœuds, système de cache HDFS : Système de fichiers distribués, Hadoop Distributed File System (HDFS) Sparks : Système de calcul distribué In-Memory (cache RDS) plus rapide que Map Reduce Ranger: Sécurité des données Hadoop Hive : Interrogation et d'analyse de données HDFS Le plan de données est utilisé pour la persistance des données et la mise en cache. Il contient le pool de données SQL et le pool de stockage. Contient le pool de stockage et de données. Le pool de données est composé d'un ou plusieurs PODS exécutant SQL Server et reçoit les données issus de requêtes SQL ou de travaux Spark. Le pool de stockage comprend des PODS SQL Server, du Spark, et de l'HDFS. Pool de données : Distribution des données en mode ROUNDROBIN, REPLIQUATION, HASH SMP vs MPP

Architecture Microsoft SQL Server : Cluster Kubernetes

SQL Server 2019 (Preview) : Portail d’admin du cluster Application pool ?

Sécurité Mots de passe (secret Kubernetes) : Contrôleur Instance Master SQL Server Passerelle Knox (HDFS/Sparks) HDFS : Pas de sécurité implémentée dans cette preview Services autres que SQL Server : Certificats Secret Kubernetes : Objets permettant de stocker et de gérer toutes les infos sensibles comme des mots de passe, token ou encore clé

La flexibilité de la solution Avantages La flexibilité de la solution On étend les possibilités existantes de SQL Server en supportant de nouveaux usages : Support des fichiers sources qui restent requêtable Plus besoin de tout faire rentrer dans une table Support du Python / Scala / R / T-SQL Solution scalable

Architecture Data Lake Computation Model & Serve T-SQL Notebook Jupyter Polybase R / Python Application SQLDB SQL Server master instance SSIS Storage SSAS Reporting SQL Server Data Pool Data can be ingested using Spark Streaming, by inserting data directly to HDFS through the HDFS API, or by inserting data into SQL Server through standard T-SQL insert queries. The data can be stored in files in HDFS, or partitioned and stored in data pools, or stored in the SQL Server master instance in tables, graph, or JSON/XML. Either T-SQL or Spark can be used to prepare data by running batch jobs to transform the data, aggregate it, or perform other data wrangling tasks. Data scientists can choose either to use SQL Server Machine Learning Services in the master instance to run R, Python, or Java model training scripts or to use Spark. In either case, the full library of open-source machine learning libraries, such as TensorFlowor Caffe, can be used to train models. Lastly, once the models are trained, they can be operationalized in the SQL Server master instance using real-time, native scoring via the PREDICT function in a stored procedure in the SQL Server master instance;or you can use batch scoring over the data in HDFS with Spark. Alternatively, using tools provided with the big data cluster, data engineers can easily wrap the model in a REST API and provision the API + model as a container on the big data cluster as a scoring microservice for easy integration into any application. Data Lake HDFS HDFS CSV Web Service

Démo Comment analyser un fichier JSON contenant des avis d’incidents dans les installations nucléaires ? PowerBI ? On accède directement au fichier depuis HDFS, ce qui permet de garder le fichier source disponible pour d’autres utilisateurs et de garder une gestion des droits Notebook Jupyter ? On traite le fichier en Python et on expose le résultat au sein d’un fichier ou d’une table Avec SQL Server SGBDR ? Stockage en VARCHAR(MAX) analyse difficile mais faisable en utilisant Python ou R en external script

Chargement d’un DataWarehouse depuis un Lake Démo Chargement d’un DataWarehouse depuis un Lake La zone de dépôt des fichiers devient requêtable en SQL / Python / Scala Support de très grosse volumétrie Support de données déstructurées (Images / Pdf) Tout en ayant la capacité de capitaliser sur l’existant https://docs.microsoft.com/fr-fr/sql/big-data-cluster/big-data-cluster-overview?view=sqlallproducts-allversions

Mais aussi… Virtualisation de données Scale-Out Data mart