Wat is een Virtueel Schema?
Onlangs hebben we besloten om de virtuele schema’s van Exasol uit te proberen. Er wordt veel gepraat over deze functie van Exasol en ik wilde zien waar de hype over ging. Ik had al een Exasol-instance draaien – het enige wat ik nu hoefde te doen, was een virtueel schema maken.
Wacht even…. kan het zo simpel zijn? Laat ik eerst een stapje terug doen.
Wat is een virtueel schema? De meeste bedrijven hebben tegenwoordig uiteenlopende gegevensbronnen in verschillende omgevingen en technologieën. Vaak kom je dit tegen bij het implementeren van een analytics oplossing. Dit vereist dan een ETL-proces (Extract, Transform en Load) om de gegevens in een datawarehouse te krijgen om rapportage mogelijk te maken. Dit proces is tijdrovend en neemt de mogelijkheid weg om uw gegevens in realtime op te vragen.
Volgens de website van Exasol is een virtueel schema “een abstractielaag die externe gegevensbronnen toegankelijk maakt in uw gegevensanalyseplatform via reguliere SQL-opdrachten zonder de gegevens in Exasol op te slaan”. Met andere woorden, met een virtueel schema kunt u een alleen-lezen koppeling maken naar uw externe gegevensbronnen. U hebt nu overal toegang tot de gegevens via een uniforme SQL-interface, ongeacht de gegevensbron, of deze nu on-premise of in de cloud is. Het ziet er precies zo uit als het openen van gewone tabellen en kolommen en de interface die de gebruikers zien is altijd hetzelfde.
Hoe werkt het?
Met Virtuele Schema’s brengt u een verbinding tot stand met een externe gegevensbron. De externe gegevensbron hoeft geen Exasol-database te zijn en kan een relationele database zijn zoals Oracle of SQL Server of zelfs Hadoop.
Exasol haalt de metadata uit de bron en bouwt het schema op in Exasol. Dit staat bekend als een virtueel schema, omdat de feitelijke gegevens niet lokaal worden opgeslagen. Met andere woorden, u hebt nu een logisch datawarehouse dat bovenop al uw gegevensbronnen zit, waardoor u een holistisch beeld van uw gegevens krijgt om analyses mogelijk te maken. Onthoud dat de feitelijke gegevens niet in Exasol worden opgeslagen. Er wordt nu vanuit de bron naar de tabellen verwezen in standaard SQL-query’s en gecombineerd met persistente tabellen die zijn opgeslagen in Exasol of een andere virtuele tabel uit een ander virtueel schema. Uw SQL-query’s worden vervolgens naar de bron verzonden voor uitvoering. Hierdoor heb je online, realtime toegang tot de data in de bronsystemen en heb je geen ETL-proces nodig om inzichten uit je data te halen.
Waarom een virtueel schema gebruiken?
Met behulp van virtuele schema’s kunt u een consistente toegangslaag implementeren voor al uw analytische rapportagetools. Toegang krijgen tot een tabel in een virtueel schema is eenvoudig. Ontwikkelaars kunnen standaard SQL gebruiken om toegang te krijgen tot gegevensbronnen, ongeacht de technologie van de brondatabase. Exasol kan de conversie van het gegevenstype voor u afhandelen en u kunt virtuele tabellen koppelen aan fysieke tabellen. Als u op ad-hocbasis toegang tot uw gegevens nodig heeft, hoeft u deze niet te kopiëren en op te slaan, wat extra ruimte en tijd in beslag neemt. U kunt het rechtstreeks vanuit de bron opvragen. Virtuele schema’s zijn ontworpen om gebruik te maken van parallelle toegang tot gegevensbronnen en prestaties zouden geen probleem moeten zijn.
Moet u uw gegevens nog steeds kopiëren en transformeren? Geen probleem! U kunt virtuele schema’s gebruiken om toegang te krijgen tot de gegevens van de bron voordat u deze transformeert en opslaat in uw Exasol-gegevensbron zonder gegevens naar een extern bestand te exporteren.
Heeft dit invloed op de prestaties van mijn zoekopdrachten? Exasol gebruikt een ingebouwde SQL-optimizer die de virtuele tabellen vertaalt naar verbindingen met de onderliggende gegevensbronnen om de benodigde gegevens impliciet over te dragen. SQL-voorwaarden worden ook naar de gegevensbron gepusht om de gegevensoverdracht te minimaliseren en de prestaties te verbeteren.
Er is wel één kanttekening. Het duurt ongeveer 1 seconde voordat de Virtual Schema-adapter is gestart, wat betekent dat het uitvoeren van query’s waarbij tabellen uit een Virtual Schema zijn betrokken, ten minste 1 seconde duurt. In onze testomgeving duurde het gemiddeld 1 tot 2 seconden langer om een query uit te voeren met behulp van het virtuele schema in vergelijking met het rechtstreeks uitvoeren op de bron.
Terugkomend op de vraag aan het begin van dit artikel. Hoe eenvoudig is het eigenlijk om een virtueel schema op te zetten? Hier is een overzicht van de stappen die we hebben gevolgd om een virtueel schema voor een SQL Server-database te configureren:
Stap 1: Voeg het Microsoft SQL Server JDBC-stuurprogramma toe aan Exasol. Dit is het stuurprogramma of protocol dat Exasol zal gebruiken om verbinding te maken met de SQL Server-gegevensbron.
Stap 2: Maak en configureer de BucketFS-service (indien nog niet in gebruik). BucketFS is een bestandssysteem dat beschikbaar is in het Exasol-cluster. Elk knooppunt kan via de HTTP-interface verbinding maken met deze service en dezelfde inhoud zien. Hier worden het JDBC-stuurprogramma en de jar-bestanden van de adapter opgeslagen.
Stap 3: Download de nieuwste versie van SQL Server Virtual Schema.
Stap 4: Upload het SQL Server Virtual Schema jar-bestand en het JDBC-stuurprogramma naar de BucketFS-service
Stap 5: Maak een schema in Exasol voor de adapterscripts.
Stap 6: Installeer het Adapter-script. Een Adapter-script implementeert de logica om toegang te krijgen tot gegevens van het externe systeem. Dit zal voor verschillende technologieën verschillen.
Stap 7: Maak in Exasol een verbinding met uw SQL Server.
Stap 8: Maak het virtuele schema met behulp van het verbindings- en adapterscript dat u hebt geconfigureerd.
Stap 9: Verleen privileges aan de gebruikers om toegang te krijgen tot het virtuele schema.
Stap 10: Voer de SQL-query’s uit.
Conclusie!
Het opzetten van een virtueel schema in Exasol kost wat moeite, maar het is een eenvoudig stapsgewijs proces dat iedereen kan volgen. Ik raad aan om dit in uw omgeving te gebruiken. Meer informatie over het opzetten en configureren van een virtueel schema in uw omgeving vindt u hier of neem contact met ons op via info@visionbi.nl