Beyond IRIS

Your whole stack in one client

SQL Server, PostgreSQL, MariaDB, SQLite, Trino and more over JDBC — plus DuckDB with drag-and-drop analysis of CSV, Parquet and JSON files.

  • 14 Datenbanksysteme über JDBC
  • DuckDB im Speicher, nichts zu installieren
  • Eine Parquet-Datei auf eine Verbindung ziehen
  • Ein Ordner oder ZIP voller CSVs als Tabellen

Wo das hingehört

Die Reihenfolge sei deutlich: Der Grund, SQL DATA LENS zu kaufen, ist, was es mit InterSystems IRIS und Caché tut — Globals, Namespaces, Cached Queries, Class Storage. Nichts auf dieser Seite tritt dagegen an.

Diese Seite handelt von der anderen Hälfte Ihrer Woche. Dem Auszug, der als CSV ankommt. Der SQL-Server-Instanz, in die die Schnittstelle schreibt. Der Parquet-Datei vom Data-Platform-Team. Diese im selben Fenster zu bearbeiten heißt, keinen zweiten Client zu bezahlen und zu lernen für Arbeit, die direkt neben der liegt, die Sie hier ohnehin tun.

Womit es sich verbindet

Nativ, Treiber enthalten

9 InterSystems-Treiber stecken in der Anwendung — 8 IRIS-Versionen von 3.3 to 3.11.0 plus Caché 2018.1 —, nebeneinander geladen in getrennten Classloadern.

  • InterSystems IRIS
  • InterSystems Caché

Über JDBC

Die meisten dieser Treiber werden mitgeliefert. Für die wenigen, die es nicht sind — ein Herstellertreiber, den wir nicht weitergeben dürfen, oder eine Version, die Sie ausdrücklich wollen — holt Extras > Treiber verwalten… die Datei für Sie, prüfsummenverifiziert. Verbindungen werden einmal eingerichtet und liegen im selben Baum wie Ihre IRIS-Server.

  • Microsoft SQL Server
  • PostgreSQL
  • MariaDB / MySQL
  • DuckDB
  • SQLite
  • H2
  • HyperSQL (HSQLDB)
  • Trino
  • Apache Derby
  • Firebird
  • Microsoft Azure SQL
  • Microsoft Fabric
  • Microsoft Access
  • Microsoft Excel

Dateien, als Tabellen abgefragt

Kein Importschritt, keine Staging-Tabelle, kein Schema, das vorher zu definieren wäre. Die Datei ist die Tabelle.

  • CSV (einzelne Datei, Ordner oder ZIP)
  • Parquet
  • JSON

IRIS-spezifische Ansichten fehlen auf diesen Verbindungen naturgemäß — eine PostgreSQL-Datenbank hat keine Globals zu durchsuchen. Alles andere gilt genauso: derselbe Table Viewer zum Ansehen und Filtern, derselbe SQL-Editor, dieselben Exportformate.

Microsofts Cloud, ohne Connection String

Azure SQL Database, Managed Instance, SQL Server auf einer VM und die drei Microsoft-Fabric-Endpunkte kamen mit 4.02 dazu — und sie sind der eine Teil dieser Liste, der mehr brauchte als einen Treibereintrag. Cloud-Verbindungen scheitern aus Cloud-Gründen: eine Firewall-Regel, ein Benutzername ohne sein @servername-Suffix, ein abgelaufenes Zugriffstoken. Ein JDBC-Client, der dazu nur „Login failed" meldet, lässt Sie raten.

Deshalb gibt es einen Reiter Azure, der fragt, womit Sie sich verbinden und wie Sie sich anmelden wollen — mit denselben sieben Verfahren, die auch das SQL Server Management Studio anbietet, Microsoft Entra Default eingeschlossen, das die Anmeldung aus Ihrem az login wiederverwendet und überhaupt nichts speichert. Wo Azure einen Grund für die Ablehnung nennt, bekommen Sie diesen Grund. Azure SQL und Fabric im Detail →

Einen Treiber holen, der nicht im Download steckt

Seit 4.02 bringt der Download die Treiber für Trino, Databricks und Firebird nicht mehr mit — 34 MB Dateien, die die meisten nie laden. Die Einträge sind geblieben, nur die Dateien sind umgezogen. Extras > Treiber verwalten… holt eine, wenn Sie danach fragen, und ist dabei bewusst unspektakulär:

  • Sie sehen die genaue Adresse, die Größe, die Prüfsumme und die Lizenz, bevor irgendetwas beginnt — dazu Fortschrittsbalken und Abbrechen, während es läuft.
  • Die Datei wird gegen ihre SHA-256-Prüfsumme geprüft und nur behalten, wenn sie stimmt. Alles andere wird gelöscht, und es wird kein Treiber registriert.
  • Sie landet in Ihrem Benutzerordner, es braucht also keine Administratorrechte, und die nächste Verbindung nutzt sie ohne Neustart.
  • Heruntergeladen wird nur, wenn Sie die Schaltfläche drücken, immer über HTTPS an eine feste, nicht editierbare Adresse. Restore shipped path führt zurück.

Zwei Erweiterungen desselben Mechanismus lohnen die Erwähnung. Fetch by Maven coordinate… nimmt etwas wie io.trino:trino-jdbc:483 und holt genau dieses Artefakt — Sie tippen eine Koordinate, nie eine URL, und die vollständige Adresse wird angezeigt, bevor etwas das Netz berührt. Eine Prüfsumme bleibt Pflicht: Ihre oder die, die das Repository neben der Datei veröffentlicht — und Sie erfahren, welche von beiden es war und was das belegt und was nicht. Repository… richtet dieselbe Mechanik auf Ihr eigenes Nexus oder Artifactory, nur HTTPS, nach einer Warnung, die Sie bestätigen müssen: Ein JDBC-Treiber ist Programmcode, der mit Ihren Rechten läuft, und der Dialog sagt das auch.

Für einen Rechner ohne Internetzugang gibt es Export Bundle… und Import Bundle…: die selbst hinzugefügten oder geholten Treiber, in einer Datei, die Sie selbst hinübertragen, mit erneuter Prüfsummenkontrolle beim Import und ohne dass etwas Vorhandenes überschrieben wird. Und optional, standardmäßig aus, prüft der Treibermanager Ihre konfigurierten Treiberversionen gegen die freie Schwachstellendatenbank osv.dev — und sendet dafür nichts als Treibername und Version, wie die Einstellung selbst ausbuchstabiert.

DuckDB: eine Analyse-Engine, die schon da ist

Ein Kollege schickt Ihnen einen 2 GB großen Parquet-Auszug und fragt, ob es der richtige ist. Bevor Sie irgendetwas irgendwohin laden, wollen Sie drei Dinge wissen: welche Spalten er hat, wie die Werte aussehen und wie viele Zeilen es sind.

SQL DATA LENS hat eingebaute DuckDB-Verbindungen, die im Speicher laufen. Es gibt keinen Server zu installieren, keine Datenbankdatei anzulegen und keinen Treiber herunterzuladen — Sie öffnen eine DuckDB-Verbindung, und sie existiert. Ziehen Sie eine CSV-, Parquet- oder JSON-Datei auf diese Verbindung, und der Editor füllt sich mit den Statements, sie zu untersuchen: ein SELECT, das sofort läuft, dazu ein DESCRIBE für Spaltennamen und erkannte Typen und ein SUMMARIZE für Zeilen- und NULL-Zahlen, Distinct-Werte, Minimum, Maximum und Mittelwerte je Spalte. Die letzten beiden kommen auskommentiert — Zeile freigeben und ausführen. Niemand profiliert zwei Gigabyte hinter Ihrem Rücken.

Eine In-Memory-DuckDB-Verbindung, die eine 450 MB große Parquet-Datei direkt von der Platte abfragt, mit den erzeugten SELECT-, DESCRIBE- und SUMMARIZE-Statements im Editor und dem SUMMARIZE-Raster, das Typ, Minimum, Maximum, ungefähre Distinct-Zahl, Mittelwert und Quartile jeder Spalte zeigt
Ein 450 MB großer Parquet-Auszug, profiliert, wo er liegt — kein Import, keine Staging-Tabelle, kein Server beteiligt.

CSV-Text-Verbindungen: ein Ordner voller Dateien als Schema

Der zweite Weg zu einer Datei ist eine CSV-Text-Verbindung, die Textdateien unmittelbar als SQL-Tabellen behandelt. Zwei Formen sind in der Praxis nützlich:

  • Ein ZIP-Archiv. Wählen Sie das Archiv, und jede CSV darin wird zu einer Tabelle — die übliche Form eines amtlichen Statistik-Downloads oder eines Exports, den jemand gemailt hat.
  • Ein Ordner. Richten Sie die Verbindung auf ein Verzeichnis, und jede *.csv darin ist abfragbar, benannt nach der Datei. Ein Ordner mit population.csv ergibt:
    SELECT * FROM population LIMIT 100

Es wird nichts importiert und nichts konvertiert. Die Dateien bleiben, wo sie sind, und wenn der Export des nächsten Monats sie überschreibt, funktionieren Ihre Abfragen weiter.

Der eigentliche Gewinn: ein Statement, zwei Systeme

Getrennte Verbindungen in getrennten Reitern sind bequem. Über sie hinweg zu joinen ist das, was tatsächlich einen Nachmittag spart. Weil alles oben eine Verbindung wie jede andere ist, kann ein einzelnes Statement eine IRIS-Tabelle gegen eine SQL-Server-Tabelle joinen — oder gegen die CSV-Datei, in der die Abstimmung geliefert wurde. Zusammengeführt auf dem Client, ohne dass auf irgendeinem Server etwas installiert wird.

Das ist die Query Cloud, und dort hört die Unterstützung generischer Datenbanken auf, ein Häkchen zu sein. „Welche der 4.000 IDs in dieser Tabelle fehlen im Produktions-Namespace?" wird zu einer Abfrage statt zu einem Export, einem Import und einer temporären Tabelle.

Server-Navigator-Baum mit IRIS-Servern, einer SQL-Server-Verbindung, einer DuckDB-Verbindung und einer CSV-Ordner-Verbindung in einer Gruppe, daneben ein Editor-Reiter, der eine IRIS-Tabelle mit einer CSV-Datei joint
Ein Baum, gemischte Verbindungsarten und ein Statement, das zwei davon umspannt — die Position dieser Seite in einem Bild.

Wann ein generisches Werkzeug die bessere Antwort ist

Wenn Ihr Team dreißig Datenbanksysteme betreibt und IRIS darunter eine Fußnote ist, ist ein generischer Client die richtige Wahl, und DBeaver oder DataGrip dienen Ihnen besser als dieses Werkzeug. Sie decken mehr Engines ab, haben tiefere Unterstützung für den jeweiligen Dialekt und die jeweilige Administration — und sie laufen heute auf macOS und Linux.

SQL DATA LENS ist andersherum gebaut: IRIS und Caché in der Tiefe, mit genug Breite, dass ein zweites Werkzeug meist unnötig ist. Wenn Ihre schwierigen Fragen in IRIS wohnen, lohnt dieser Tausch. Wenn nicht, dann nicht.

Der ehrliche Vergleich mit DBeaver, DataGrip und dem Management Portal →

Häufige Fragen

Ist das ein Ersatz für DBeaver oder DataGrip?

Für ein IRIS-zentriertes Team in der Praxis meist ja — die generische Unterstützung hier deckt die Alltagsfälle ab, und die IRIS-Unterstützung ist deutlich tiefer. Als allgemeine Behauptung nein. Ein spezialisierter generischer Client unterstützt mehr Engines und mehr engine-spezifische Werkzeuge, und das sagen wir lieber jetzt, als dass Sie es in Woche zwei merken.

Welche Treiber muss ich selbst besorgen?

Weniger als früher, und keinen davon von Hand. Die InterSystems-Treiber sind enthalten — 8 IRIS-Versionen von 3.3 to 3.11.0 plus Caché 2018.1 —, ebenso Microsoft SQL Server (13.4.0, auch hinter Azure SQL und Fabric), PostgreSQL 42.7.13, MariaDB, DuckDB, SQLite, H2, HyperSQL, Access, Excel und die CSV/DBF-Treiber.

Trino, Databricks und Firebird sind seit 4.02 nicht mehr im Download — 34 MB des Grundes, warum er kleiner geworden ist —, ihre Einträge stehen aber weiter in der Treiberliste, und Get Driver File… holt sie. Apache Derby hat nie einen mitgebracht und funktioniert genauso. Databricks verlangt zuerst Ihre Zustimmung zu den Lizenzbedingungen, dieser Eintrag schickt Sie deshalb auf die Herstellerseite und übernimmt anschließend die dort geladene Datei.

Deckt die Free Edition diese Verbindungen ab?

Die Free Edition deckt Datenbanken ab, die selbst kostenlos nutzbar sind: DuckDB, SQLite, H2, HyperSQL, Apache Derby, PostgreSQL, MariaDB, Trino sowie SQL Server Developer oder Express. Der komplette Datei-Analyse-Ablauf dieser Seite funktioniert also dauerhaft in Free. Eine lizenzierte Produktivdatenbank — IRIS oder andere — braucht eine kostenpflichtige Edition, und Azure SQL und Microsoft Fabric ebenfalls, denn das sind kommerzielle Cloud-Dienste. Die genaue Regel steht auf der Preisseite.

Sind CSV- und Parquet-Dateien schreibgeschützt?

Behandeln Sie sie als Lesequellen. Der Sinn einer Dateiverbindung ist, Daten dort anzusehen und abzufragen, wo sie schon liegen, und sie dann gegen eine echte Datenbank zu joinen oder das Ergebnis zu exportieren. In einen gelieferten Auszug zurückzuschreiben ist kein Ablauf, zu dem das Werkzeug ermutigt.

Der nächste Schritt

Am schnellsten beurteilen Sie das, indem Sie eine DuckDB-Verbindung öffnen und Ihre lästigste Datei darauf fallen lassen. Dieser Weg braucht weder Lizenz noch Server.

Sehen, welche Edition welche Datenbanken abdeckt →

Explore your IRIS data from SQL down to globals

Download, unzip, connect. Your first namespace is on screen in about three minutes.

Windows 10, 11 and Windows Server (64-bit) · ~130 MB · version 4.02 · full 30-day Pro trial included