(von "humongous" = gigantisch, enorm, riesig)
Betrieb von Alex und MongoDB
Alex kann ab der Version 7.6.4.1 mit MongoDB's arbeiten. Voraussetzungen:
- Version > 7.6.4.1
- 64 bit Betriebssystem für Server oder Standalonebetrieb
- (Client kann überall laufen)
- "connectionInfo" im ALEX-Config-File = LOKALER Ordner in der Form ([drive]:/.../)[name].[port].mongo/.
- zB.: Gültige "connectionInfo" für MongoDB:
- Kunde.mongo/
- .mongo/
- 9000.mongo/
- Kunde.9000.mongo/
- C:/AlexDat/Kunde.9000.mongo/
- D:/AlexDat/Kunde.9000.mongo/
- C:/AlexDat/Kunde.mongo/
- zB.: Gültige "connectionInfo" für MongoDB:
- im Client-Server Betrieb -> Bfx.Alex.Server == Datenbankserver!
- Besonderheit [port] im Pfadname
- im Client Server Betrieb ist ein [port] notwendig damit Sicherung automatisiert werden kann
- Im reinen Standalone Betrieb ist kein [port] im Pfadname notwendig
- siehe auch ALEX-Ports
Die Ordnerstruktur einer MongoDB sieht wie folgt aus:
[drive]:/.../[name].[port].mongo/ // Stammverzeichnis = "connectionInfo" /db/ // Datenverzeichnis /log/ // Logverzeichnis
Wenn Alex gestartet wird, wird automatisch das mongod.exe (liegt bei den Alex-Exe) gestartet. Ob dieses exe im Vordergrund oder unsichtbar gestartet wird hängt ab von folgendem:
- im ALEX-Config-File ist 'showMongod' gesetzt -> mongod.exe läuft im Vordergrund
- im ALEX-Config-File ist bei 'connectionInfo' ein Port angegeben -> mongod.exe läuft im Vordergrund
- im ALEX-Config-File ist bei 'connectionInfo' kein Port angegeben -> mongod.exe läuft im Hintergrund
Erstellen neuer Datenbanken
Gleiches Vorgehen mit Bfx.Alex.Tools wie Sybase. Siehe Form von "connectionInfo".
Konvertieren bestehender Datenbanken
ALEX-Config-File "convertFrom"
Um eine SQL-Datenbank umzuwandeln, muß man sie im ALEX-Config-File unter (db.)"convertFrom" eintragen.
Die zu erzeugende neue MongoDB gibt man im (db.)"connectionInfo" an -> der angegebene Ornder wird automatisch erzeugt und darf NICHT zuvor händisch im WindowsExplorer angelegt werden.
mit Bfx.Alex.Standalone.exe einsteigen -> Alex konvertiert altes DB-Format in MongoDB-Format.
Richtwert für die Dauer: getestet BitFactory CRM: 600.000 Objekte (= select count(*) from TBfxXObject) -> ca. 10 min
- 1.000.000 Objekte -> ca. 15 min
- 2.000.000 Objekte -> ca. 30 min
- 4.000.000 Objekte -> ca. 60 min
- 8.000.000 Objekte -> ca. 120 min
- 16.000.000 Objekte -> ca. 240 min
AKH Linz: ca. 12.000.000 Objekte -> ca. 180 min
Alex-V7.7-Sybase-DB mit 1,8 GB: nur 1.648.741 Objekte -> ca. 210 min!
MongoDB und Abfragen
Fehlermeldung nach Konvertierung
"ACHTUNG: \'convertFrom\' -> connectionInfo [drive]:/.../[name].[port].mongo/ nicht leer!"
-> "convertFrom" herauslöschen aus Config-File.
Sicherung
Bei einer V7.7 .mongo Datenbank muss folgendes .bat File eingerichtet werden:
C:\Alex7.7\mongodump.exe --host 127.0.0.1:9000 --out C:\AlexDat\Kunde.9000.mongo\backup C:\Alex7.7\mongodump.exe --dbpath C:\AlexDat\Kunde.9000.mongo\db --out C:\AlexDat\Kunde.9000.mongo\backup
Zusätzlich muss eine interaktive Aufgabenplanung erstellt werden.
ab V7.8
Alex-Server sichert automatisch jeden Tag um 3 Uhr früh in den "backup" Unterordner.
Dieser "backup"-Ordner wird autom. in eine ".bfx_BACKUP"-Datei gezippt - diese wird neben dem "backup"-Ordner abgelegt.
-> Alle ".bfx_BACKUP"-Datei müssen vom Kunden täglich weggesichert werden. (Es gibt maximal 7 Stück davon, für jeden Wochentag eine.)
Dazu muß der Mongo-Server Port im Mongo-Pfad codiert werden!
siehe auch: ALEX-Ports Mongo-Server Port
Beispiel:
C:\BitFactory\AlexDat\Kunde.1234.mongo ^ | Port (darf nicht mit anderen Ports kollidieren)
Sicherung wiederherstellen
- mit Bfx.Alex.RestoreMongo.exe
- mit Rechtsklick auf eine *.bfx_BACKUP-Datei
Die wiederhergestellte Datenbank kann dann mit der vorhandenen ausgetauscht werden.