Stata ist eine Statistik-Software der Firma StataCorp (College Station, Texas); die erste Version Stata 1.0 erschien im Januar 1985. Stata setzt von Anfang an auf eine Kommandozeilen-Schnittstelle — Analysen werden als Befehle getippt und in .do-Dateien gespeichert, was Analysen reproduzierbar macht. Seit Version 8 (2003) gibt es zusätzlich eine grafische Oberfläche.
Daten laden und erkunden
use "daten.dta", clear
sysuse auto, clear
import delimited "daten.csv", clear
describe
list make price in 1/10
summarize price mpg, detail
Variablen erzeugen und bearbeiten
generate brutto = netto * 1.19— neue Variable (Abkürzunggen)replace brutto = 0 if brutto == .— vorhandene Variable ändernegen gruppe_mw = mean(umsatz), by(gruppe)— erweiterte Funktionen (Gruppenmittel, Rang, etc.)rename preis preis_neu,label variable umsatz "Umsatz in EUR",label define+label valuesfür Wertelabelsdestring alter, replace/tostring id, replace— Typ-Konvertierungkeep var1 var2/drop var3— Spalten,keep if alter >= 18— Zeilen filtern
Analysen
tabulate geschlecht
tabstat umsatz, by(gruppe) stat(mean sd min max)
regress preis gewicht mpg
ttest preis, by(foreign)
anova umsatz gruppe
correlate preis mpg
logit kauf alter
margins, dydx(*)
Datenstruktur & Workflow
sort gruppe,by gruppe: summarize umsatz(oderbysort) — gruppierte Ausführungcollapse (mean) umsatz, by(gruppe)— Datensatz aggregierenreshape wide/long— Breit-/Langformat,merge 1:1 id using "zusatz.dta"— verbinden,append using "mehr.dta"— anhängenlog using "protokoll.log", replace— Ausgabe mitschneiden,do "analyse.do"— Do-File ausführenforeach x of varlist ... { ... }undforvalues i=1/10 { ... }— Schleifen,captureunterdrückt Fehlermeldungen- Qualifier
if,inund Präfixe wiebygelten fast überall
Verwandte Grundlagen: SAS-Befehle und SPSS-Befehle sind die kommerziellen Alternativen; R-Befehle und Python-Befehle bieten Open-Source-Äquivalente.
IBM Informix Dynamic Server (IDS) ist ein relationales Datenbanksystem mit Wurzeln in den 1980er-Jahren (Informix Software, später IBM). Es wird besonders in Banken, Einzelhandel und eingebetteten Umgebungen eingesetzt, wo geringe Administration und hohe Zuverlässigkeit zählen. Die Werkzeuge heißen on*-Utilities und dbaccess.
Server starten und stoppen
oninit # Server starten
oninit -vy # starten mit Verifikation und Ausgabe
onmode -ky # Server sofort stoppen (clean shutdown)
onmode -s # graceful shutdown
onmode -u # Nutzer abmelden und stoppen
onmode steuert den laufenden Server: -p fügt virtuelle Prozessoren hinzu, -l wechselt das Log, -j schaltet JVM-Unterstützung.
Monitoring mit onstat
onstat liest den Server-Zustand aus, ohne ihn zu beeinflussen — das wichtigste Diagnose-Tool:
onstat - # Kurzstatus: Modus, Transaktionen, Logs
onstat -g cfg # Konfiguration anzeigen
onstat -g dis # Datenbanken und Tabellen
onstat -g sql # aktive SQL-Statements
onstat -l # Logical-Log-Status
onstat -d # Chunks und Tablespaces (dbspaces)
SQL mit dbaccess
dbaccess ist der interaktive SQL-Client — vergleichbar mit psql oder isql:
dbaccess # Menü: Query-Language, Connection, Database
dbaccess meinedb - # SQL-Datei von stdin ausfuehren
dbaccess meinedb skript.sql
Speicherverwaltung und Sicherung
onspaces -c -d datadbs -p /dev/chunk1 -o 0 -s 200000— neuen Dbspace anlegenonspaces -a datadbs -p /dev/chunk2 -o 0 -s 100000— Chunk hinzufügenonparams -p -d logical -s 50000— Logical-Log-Größe anpassenonbar -b— Online-Sicherung (mit Storage-Manager);onbar -r— Wiederherstellungoncheck -cd— Datenbankstruktur prüfen;oncheck -ci— Indizes prüfen
Weitere Utilities
dbschema -d meinedb -t tabelle— Schema als SQL ausgeben (Dokumentation/Migration)onlog -l— Logical-Log-Inhalte anzeigenonmode -m— in Online-Modus wechseln
Verwandte Grundlagen: SQL-Befehle, Oracle-Befehle, Db2-Befehle, Kusto-Befehle, TimescaleDB-Befehle.
Kusto ist die Analyse-Engine hinter Microsofts Azure Data Explorer (ADX) und verwandten Diensten wie Azure Monitor, Microsoft Sentinel und Log Analytics. Die zugehörige Abfragesprache heißt KQL (Kusto Query Language) — eine schreibgeschützte, pipe-basierte Sprache, die für große Datenmengen und Echtzeit-Analysen optimiert ist.
Kusto.Cli starten
Das Kommandozeilen-Werkzeug Kusto.Cli verbindet sich mit einem Cluster und arbeitet wahlweise im REPL-Modus (interaktive Eingabe, Ergebnis danach) oder im Execute-Modus für einzelne Abfragen:
Kusto.Cli.exe "https://meincluster.westeurope.kusto.windows.net"
# REPL: Eingabeaufforderung, dann Abfragen eintippen
# Execute: Kusto.Cli.exe "https://cluster" "Abfrage"
KQL-Grundmuster: der Pipe-Operator
KQL arbeitet mit Tabellen und Operatoren, die über den Pipe-Operator | verkettet werden — ähnlich wie Unix-Pipes. Jeder Operator bekommt eine Tabelle hinein und gibt eine neue Tabelle aus:
StormEvents
| where State == "FLORIDA"
| project EventType, DamageProperty
| summarize Summe = sum(DamageProperty) by EventType
| order by Summe desc
| take 10
Die wichtigsten Operatoren
where— Zeilen filtern (Vergleiche,contains,has,between,in)project— Spalten auswählen/umbenennen (wieSELECT-Spaltenliste)extend— neue berechnete Spalten hinzufügensummarize ... by— Gruppierung mit Aggregationen (count(),sum(),avg(),dcount(),max())order by/sort by— sortierentake/limit— erste n Zeilendistinct— eindeutige Wertejoin— Tabellen verbinden (kind=inner/leftouter/fullouter)render timechart— Ergebnis als Zeitreihen-Diagramm ausgeben
Variablen mit let
let definiert benannte Werte, Funktionen oder Teiltabellen und macht Abfragen lesbar und wiederverwendbar:
let fehler = Logs | where Level == "Error";
fehler | summarize Anzahl = count() by App
Management-Befehle
Befehle, die mit einem Punkt beginnen, sind Management-Befehle (Control Commands) — sie verwalten Cluster, Datenbanken und Tabellen:
.show databases
.show tables
.show table T schema
.show cluster policy caching
Für Ad-hoc-Analysen erzeugt datatable eine Tabelle direkt in der Abfrage: datatable (Spalte:string, Wert:int) ["A", 1, "B", 2]. .ingest-Befehle laden Daten; im ADX-Portal übernimmt das meist der Pipeline-Assistent.
Praxis-Tipps
- KQL ist case-insensitiv bei Operatoren, aber Werte in
==-Vergleichen sind case-sensitiv. where Timestamp > ago(7d)nutzt die integrierte Zeitfunktionago().- Strings in
containssind Teilstring-Suchen;hassucht nach ganzen Wörtern.
Verwandte Grundlagen: SQL-Befehle, InfluxDB-Befehle, ClickHouse-Befehle, TimescaleDB-Befehle, Informix-Befehle.
TimescaleDB ist eine Open-Source-Erweiterung für PostgreSQL, die Zeitreihen-Daten schnell und skalierbar speichert. Statt einer eigenen Datenbank-Engine setzt sie auf normale PostgreSQL-Tabellen — sogenannte Hypertables — und ergänzt sie um automatische Partitionierung, Kompression und Aggregation. Administriert wird alles über den vertrauten psql-Client.
Erste Schritte
Die Erweiterung wird pro Datenbank aktiviert, danach kann eine normale Tabelle zur Hypertable werden:
psql -U postgres -d messwerte
CREATE EXTENSION IF NOT EXISTS timescaledb;
CREATE TABLE sensor (zeit timestamptz NOT NULL, sensor_id int, wert double precision);
SELECT create_hypertable('sensor', 'zeit');
create_hypertable partitioniert die Tabelle unsichtbar nach Zeit in Chunks — pro Chunk-Intervall (Standard 7 Tage, einstellbar mit chunk_time_interval) entsteht eine eigene PostgreSQL-Tabelle im Hintergrund.
Zeitreihen-Abfragen
Zeitliche Gruppierung übernimmt time_bucket(), das wie ein GROUP BY auf Zeitintervalle wirkt:
SELECT time_bucket('1 hour', zeit) AS stunde,
sensor_id, avg(wert) AS mittel
FROM sensor
WHERE zeit > now() - interval '24 hours'
GROUP BY stunde, sensor_id
ORDER BY stunde;
Continuous Aggregates und Kompression
- Continuous Aggregates (CAGGs): materialisierte, automatisch aktualisierte Aggregationen über
CREATE MATERIALIZED VIEWmittimescaledb.continuous-Einstellung — Abfragen über lange Zeiträume bleiben schnell. - Kompression:
ALTER TABLE sensor SET (timescaledb.compress, timescaledb.compress_segmentby = 'sensor_id');komprimiert ältere Chunks und spart typischerweise 10-20 × Speicher. - Retention:
add_retention_policy()löscht Chunks nach einer Frist automatisch.
Dateneingabe
Zeilen einfügen funktioniert mit normalem INSERT oder gebündelt mit COPY. Für Massenimporte parallelisiert das Go-Tool timescaledb-parallel-copy die PostgreSQL-Copy-Funktion:
timescaledb-parallel-copy --db-name messwerte --table sensor --file daten.csv --workers 8 --copy-options "CSV HEADER"
Praxis-Tipps
- Hypertables bleiben normale Tabellen: Indizes, Fremdschlüssel und Joins funktionieren unverändert.
- Für Hash-Partitionierung zusätzlich
partitioning_column+by_hashverwenden — sinnvoll bei sehr vielen Geräten. ALTER TABLE ... SET (timescaledb.compress_orderby = 'zeit DESC')steuert die Sortierung im komprimierten Chunk.
Verwandte Grundlagen: psql-Befehle, PostgreSQL-Befehle, InfluxDB-Befehle, Kusto-Befehle, Informix-Befehle.
IBM Db2 ist die relationale Datenbank-Familie von IBM (Nachfolger von System R-Forschung, seit 1983 als DB2 für MVS; heute Db2 LUW für Linux/Unix/Windows und Db2 for z/OS). Das wichtigste Kommandozeilen-Werkzeug ist der Command Line Processor (CLP) — das Kommando db2, das SQL-Statements und Datenbank-Utilities ausführt.
CLP-Aufruf und Modi
db2 "SELECT * FROM mitarbeiter"
db2 -t -f skript.sql # -t Terminator ; , -f Datei
db2 -tvmf skript.db2 # verbose, mehrere Befehle
db2 ? SQL0100 # Online-Hilfe zu Fehlercode
- Interaktiv:
db2startet die Eingabeaufforderung, SQL/CLP-Befehle direkt - Batch:
db2 -t -f datei.sqloderdb2 -tvmf(verbose + mehrere Befehle) db2 terminate— CLP-Session sauber beenden (Backend-Prozess beenden)
Verbindung und Katalog
db2 catalog database SAMPLE
db2 connect to SAMPLE user db2inst1 using geheim
db2 list database directory
db2 get db cfg for SAMPLE # Datenbank-Konfiguration
db2 get snapshot for db on SAMPLE # Zustand/Statistik
db2 catalog database/uncatalog database— DB im lokalen Katalog registrierendb2 list database directory— alle katalogisierten Datenbankendb2 get db cfg— Konfigurationsparameter anzeigen
Administration und Utilities
db2start / db2stop # Instanz starten/stoppen
db2 backup database SAMPLE to /backup
db2 restore database SAMPLE from /backup
db2 load from mitarbeiter.ixf of ixf insert into mitarbeiter
db2 reorg table mitarbeiter # Defragmentierung
db2 runstats on table mitarbeiter # Statistiken für Optimizer
db2 backup/db2 restore— physische Sicherung/Wiederherstellungdb2 load— schneller Massenimport (IXF/DEL/Cursor);db2 importals Alternativedb2 reorg+db2 runstats— Performance-Pflege- Weitere:
db2 list applications,db2 force applications all,db2 export,db2look(DDL extrahieren),db2pd(Diagnose)
Verwandte Befehls-Referenzen: Oracle-Befehle, Sybase-Befehle, SQL-Befehle, PostgreSQL-Befehle, MySQL-Befehle.