Blog
Friday, 31. January 2020

Was ist eine SQL Server Language Extension?

Simon
IT-Consultant

Bei Language Extension handelt es sich um ein Feature von SQL Server, das den Benutzer bei der Ausführung von einem externem Code unterstützt.

Mit der Einführung von SQL Server 2019 wird nun auch, standardmäßig mit Zulu Open JRE als Laufzeitumgebung, die Programmiersprache Java unterstützt. Es können jedoch auch andere Java Laufzeitumgebungen verwendet werden.

Wie können Language Extensions verwendet werden?

Um den externen Code auszuführen, verwendet die Language Extension das sogenannte Erweiterungsframework. Hierbei findet die Codeausführung komplett isoliert von allen Kernprozessen des Moduls statt, ist jedoch vollständig in die SQL Server-Abfrageausführung integriert. So müssen keine Daten über das Netzwerk abgerufen werden, da der Code, in dem sich die Daten befinden, auf diese direkten Zugriff hat.

Als Schnittstelle zum Ausführen von externem Code dient die vom System gespeicherte Prozedur sp_execute_external_script. Externe Sprachen werden mit CREATE EXTERNAL LANGUAGE definiert.

Eine neue Sprache wird mithilfe des CREATE EXTERNAL LANGUAGE Befehls wie folgt definiert:

USE master
CREATE EXTERNAL LIBRARY sdk
FROM (CONTENT = '<path-content>')
WITH (LANGUAGE = 'MyLanguage')
GO

Wobei “CONTENT” in Zeile 2, abhängig von der gewählten Programmiersprache, die nötigen Ressourcen zum Einfügen bereit stellt. Im Falle der Benutzung von Java wäre es beispielsweise:

USE master
FROM (CONTENT = '/mssql-java-lang-extension.jar')

Es gibt vielerlei Vorteile, die Language Extension mit sich bringt:

  • Durch das näher bringen einer externen Ausführung einer Sprache näher an die Datenquelle selbst, kann eine unsichere und uneffiziente Verschiebung der Daten verhindert werden.
  • Zusammenfassungen und Aggregationen können dank Memory-Tabellen sehr schnell durchgeführt werden und sind eine optimale Ergänzung zu Data Science.
  • SQL Server ist der zentrale Betriebspunkt für viele andere Datenverwaltungsaufgaben- und anwendungen. Indem Daten verwendet werden, die sich in der Datenbank befinden, kann sicher gestellt werden, dass die von Java verwendeten Daten konsistent und aktuell sind.

Interesse geweckt?

Unsere Expert:innen stehen Ihnen bei allen Fragen rund um Ihre IT Infrastruktur zur Seite.

Kontaktieren Sie uns gerne über das Kontaktformular und vereinbaren ein unverbindliches Beratungsgespräch mit unseren Berater:innen zur Bedarfsevaluierung. Gemeinsam optimieren wir Ihre Umgebung und steigern Ihre Performance!
Wir freuen uns auf Ihre Kontaktaufnahme!

Taunusstraße 72
55118 Mainz
info@madafa.de
+49 6131 3331612
Bürozeiten
Montag bis Donnerstag:
9:00 - 17:00 Uhr MEZ

Freitags:
9:30 - 14:00 Uhr MEZ
Wir sind Ihre SQL Expert:innen!
Noch Fragen? - Wir haben immer die passende Antwort für Sie!