Datenspeicherung und Datenquellenkonfiguration

Die Verwaltungsanwendung von MagicTradeBot unterstützt mehrere SQL-basierte Datenbanken zur Speicherung und Verwaltung von wichtigen handelsbezogenen Daten. Diese Flexibilität ermöglicht den Einsatz in Umgebungen von leichtgewichtigen eingebetteten Datenbanken bis hin zu produktionsreifen relationalen Datenbanksystemen.

📌 Welche Daten werden gespeichert

MagicTradeBot speichert die folgenden strukturierten Daten in der verbundenen Datenquelle:

  • Börsenkonten: API-Zugangsdaten, Schlüssel und Konfigurationen pro Börse.
  • Handelssymbole: Coins/Paare, die bestimmten Börsen oder Konten zugeordnet sind.
  • Handelsvorlagen: Benutzerdefinierte Vorlagendefinitionen einschließlich Strategie, Risikokontrolle und Symbolverknüpfung.
  • Handelsdaten: Echtzeit- und historische Handelsprotokolle und Ausführungsdaten.
  • Kline-Daten: Interne benutzerdefinierte Kerzendaten (Candlestick), lokal aufgebaut und optimiert ohne Drittanbieter.
  • Sonstiges: Protokolle, Systemeinstellungen, Zeitpläne und weitere betriebsrelevante Metadaten.

💾 Unterstützte Datenbankoptionen

MagicTradeBot unterstützt derzeit die folgenden SQL-Datenbank-Engines:

  • SQLite – Leichtgewichtig und integriert (Standardoption)
  • SQL Server – Funktionsreicher Enterprise-RDBMS (Microsoft SQL)
  • MySQL – Beliebte Open-Source-RDBMS
  • PostgreSQL – Fortschrittliches Open-Source objekt-relationales DB-System

⚙️ Konfiguration

Alle Datenbankverbindungen werden in der Datei appsettings.json innerhalb der Verwaltungsanwendung konfiguriert:

{
  "ConnectionStrings": {
    "SQLLight": "Data Source=Data/MTManagementDB.db",
    "SQLSERVER": "Server=localhost;Database=MagicTrade;User Id=sa;Password=yourpass;",
    "Postge": "Server=localhost;Database=MagicTrade;User Id=pguser;Password=yourpass;",
    "MySQL": "Server=localhost;Database=MagicTrade;User=mtuser;Password=yourpass;"
  },

  "Secrets": {
    // WARNUNG: Niemals echte Zugangsdaten ins Quellcode-Repository einchecken!
    "Database": {
      "Host": "",        // Umgebung: Secrets__Database__Host
      "Name": "",        // Umgebung: Secrets__Database__Name
      "User": "",        // Umgebung: Secrets__Database__User
      "Password": ""     // Umgebung: Secrets__Database__Password
    }
  }
}

🔐 Sicherheit – Best Practices

  • Speichern Sie keine Zugangsdaten dauerhaft in appsettings.json für den Produktivbetrieb.
  • Verwenden Sie Umgebungsvariablen, um sensible Informationen sicher bereitzustellen, z. B.:
    • Secrets__Database__User
    • Secrets__Database__Password
  • Verwenden Sie in Containerumgebungen Secrets Manager oder Docker-Secrets.
  • Verschlüsseln Sie die Datenbank nach Möglichkeit im Ruhezustand.

🧪 Standardmäßige SQLite-Nutzung (empfohlen für lokale Entwicklung)

MagicTradeBot wird mit vorinstallierter und vorkonfigurierter SQLite-Datenbank ausgeliefert. Für lokale Tests ist keine manuelle Einrichtung erforderlich.

"SQLLight": "Data Source=Data/MTManagementDB.db"

Die standardmäßige Datei-basierte Datenbank wird automatisch im Verzeichnis /Data erstellt.

🔧 Umstellung auf externe Datenbanken

  1. Erstellen Sie die gewünschte Datenbank in Ihrem SQL Server / MySQL / PostgreSQL-System.
  2. Aktualisieren Sie den entsprechenden Verbindungseintrag in appsettings.json.
  3. Stellen Sie sicher, dass die erforderlichen Ports offen und zugänglich sind.
  4. Starten Sie die Verwaltungsanwendung neu.

🧩 Zusammenfassung

  • MagicTradeBot speichert Handelsdaten, Konfigurationen und Protokolle in einer strukturierten Datenbank.
  • Unterstützt Datenbanken von leichtgewichtig bis enterprise-fähig.
  • Fördert sichere und skalierbare Deployments durch Umgebungskonfiguration.
  • Datenbankwechsel ist einfach über Konfigurationsänderungen möglich.

Für fortgeschrittene Deployments werden externe Sicherungsplanung und Replikation je nach Datenbank-Engine unterstützt.

📎 Related Topics