K (Orthografie- und Grammatik-Korrekturen durch Praktikant MichaelH (26 July 2022)) |
|||
(24 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
= Betrieb von Alex und [http://www.mongodb.org MongoDB] = | = Betrieb von Alex und [http://www.mongodb.org MongoDB] = | ||
Alex kann ab der Version [[7.6.x|7.6.4.1]] mit | Alex kann ab der Version [[7.6.x|7.6.4.1]] mit MongoDBs arbeiten. | ||
Voraussetzungen: | Voraussetzungen: | ||
* Version > 7.6.4.1 | * Version > 7.6.4.1 | ||
Zeile 9: | Zeile 9: | ||
** (Client kann überall laufen) | ** (Client kann überall laufen) | ||
* "connectionInfo" im [[ALEX-Config-File]] = LOKALER Ordner in der Form ([drive]:/.../)'''[name].[port].mongo/'''. | * "connectionInfo" im [[ALEX-Config-File]] = LOKALER Ordner in der Form ([drive]:/.../)'''[name].[port].mongo/'''. | ||
** | ** z.B.: Gültige "connectionInfo" für MongoDB: | ||
*** Kunde.mongo/ | *** Kunde.mongo/ | ||
*** .mongo/ | *** .mongo/ | ||
Zeile 19: | Zeile 19: | ||
* im Client-Server Betrieb -> '''Bfx.Alex.Server == Datenbankserver!''' | * im Client-Server Betrieb -> '''Bfx.Alex.Server == Datenbankserver!''' | ||
* Besonderheit [port] im Pfadname | * Besonderheit [port] im Pfadname | ||
** im Client Server Betrieb ist ein [port] notwendig damit Sicherung automatisiert werden kann | ** im Client Server Betrieb ist ein [port] notwendig, damit Sicherung automatisiert werden kann | ||
** Im reinen Standalone Betrieb ist kein [port] im Pfadname notwendig | ** Im reinen Standalone Betrieb ist kein [port] im Pfadname notwendig | ||
** siehe auch [[ALEX-Ports]] | ** siehe auch [[ALEX-Ports]] | ||
Zeile 29: | Zeile 29: | ||
/log/ // Logverzeichnis | /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 | 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 von Folgendem ab: | ||
* im [[ALEX-Config-File]] ist 'showMongod' gesetzt -> mongod.exe läuft im Vordergrund | * 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' ein Port angegeben -> mongod.exe läuft im Vordergrund | ||
Zeile 42: | Zeile 42: | ||
=== [[ALEX-Config-File]] "convertFrom" === | === [[ALEX-Config-File]] "convertFrom" === | ||
''' | Um eine '''SQL-Datenbank umzuwandeln''', muss man sie im [[ALEX-Config-File]] unter '''(db.)"convertFrom"''' eintragen. | ||
Die zu '''erzeugende neue MongoDB''' gibt man im '''(db.)"connectionInfo"''' an -> der angegebene Ordner wird automatisch erzeugt und darf NICHT zuvor händisch im WindowsExplorer angelegt werden. | |||
Die zu '''erzeugende neue MongoDB''' gibt man im '''(db.)"connectionInfo"''' an. | |||
mit Bfx.Alex.Standalone.exe einsteigen -> Alex konvertiert altes DB-Format in MongoDB-Format. | mit Bfx.Alex.Standalone.exe einsteigen -> Alex konvertiert altes DB-Format in MongoDB-Format. | ||
Zeile 59: | Zeile 57: | ||
* 16.000.000 Objekte -> ca. 240 min | * 16.000.000 Objekte -> ca. 240 min | ||
Kundendatenbank / Kunde mit knapp 4.000 Mitarbeitern: 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! | '''Alex-V7.7-Sybase-DB''' mit 1,8 GB: nur 1.648.741 Objekte -> ca. 210 min! | ||
=== MongoDB und Abfragen === | === MongoDB und Abfragen === | ||
[[MongoDB-Queries]] | [[Intern:MongoDB-Queries|MongoDB-Queries]] | ||
=== Mögliche Fehlermeldungen === | |||
'''Fehlermeldung nach Konvertierung:''' | |||
"ACHTUNG: \'convertFrom\' -> connectionInfo [drive]:/.../[name].[port].mongo/ nicht leer!" | "ACHTUNG: \'convertFrom\' -> connectionInfo [drive]:/.../[name].[port].mongo/ nicht leer!" | ||
Zeile 72: | Zeile 72: | ||
-> '''"convertFrom" herauslöschen''' aus Config-File. | -> '''"convertFrom" herauslöschen''' aus Config-File. | ||
'''Log-File "Bfx.Alex.MongoConverter.Client.log"''' durchschauen ob [error] vorhanden. | |||
-> Falls Ja und nicht selbsterklärend, bei Kollegen nachfragen. | |||
'''Fehlermeldung beim Einstieg:''' | |||
für ältere Serverbetriebssysteme < Windows 2008 R2 kann die Mongoinstallation übersteuert werden. | |||
dazu einfach https://s3.amazonaws.com/downloads.bitfactory.at/%23legacy%23.zip in den exe Ordner extrahieren und mind. Version 7.8.6.31 einspielen | |||
(aufgefallen Altenhof) | |||
Ordnerstruktur muss sein: | |||
exe\#legacy#\mongod.exe | |||
\mongo.exe | |||
\mongorestore.exe | |||
\mongodump.exe | |||
'''genauer Ablauf bei Umstellung:''' [[Mongo - Umstellung]] | |||
== Sicherung == | |||
'''ab V7.8''' | '''ab V7.8''' | ||
Zeile 83: | Zeile 100: | ||
Dieser "backup"-Ordner wird autom. in eine ".bfx_BACKUP"-Datei gezippt - diese wird neben dem "backup"-Ordner abgelegt. | 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 | -> Alle ".bfx_BACKUP"-Datei müssen vom Kunden täglich weggesichert werden. (Es gibt immer nur die Sicherung vom letzten Tag.) | ||
'''Dazu | '''Dazu muss der Mongo-Server Port im Mongo-Pfad codiert werden!''' | ||
siehe auch: [[ALEX-Ports]] Mongo-Server Port | siehe auch: [[ALEX-Ports]] Mongo-Server Port | ||
Zeile 99: | Zeile 116: | ||
* mit [[Bfx.Alex.RestoreMongo.exe]] | * mit [[Bfx.Alex.RestoreMongo.exe]] | ||
* mit Rechtsklick auf eine *.bfx_BACKUP-Datei | |||
Die wiederhergestellte Datenbank kann dann mit der vorhandenen ausgetauscht werden. | Die wiederhergestellte Datenbank kann dann mit der vorhandenen ausgetauscht werden. | ||
== Datenbank reparieren == | |||
* z.B.: manchmal notwendig bei Problemen von Upgrade "alte" 7.8 auf neueste 7.8 | |||
> mongod.exe --dbPath C:\Bitfactory\AlexDat\_.9000.mongo\db --repair | |||
== Administrative Tools von Drittherstellern == | == Administrative Tools von Drittherstellern == |
Aktuelle Version vom 26. Juli 2022, 10:47 Uhr
(von "humongous" = gigantisch, enorm, riesig)
Betrieb von Alex und MongoDB
Alex kann ab der Version 7.6.4.1 mit MongoDBs 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/.
- z.B.: 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/
- z.B.: 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 von Folgendem ab:
- 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, muss man sie im ALEX-Config-File unter (db.)"convertFrom" eintragen.
Die zu erzeugende neue MongoDB gibt man im (db.)"connectionInfo" an -> der angegebene Ordner 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
Kundendatenbank / Kunde mit knapp 4.000 Mitarbeitern: 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
Mögliche Fehlermeldungen
Fehlermeldung nach Konvertierung:
"ACHTUNG: \'convertFrom\' -> connectionInfo [drive]:/.../[name].[port].mongo/ nicht leer!"
-> "convertFrom" herauslöschen aus Config-File.
Log-File "Bfx.Alex.MongoConverter.Client.log" durchschauen ob [error] vorhanden.
-> Falls Ja und nicht selbsterklärend, bei Kollegen nachfragen.
Fehlermeldung beim Einstieg:
für ältere Serverbetriebssysteme < Windows 2008 R2 kann die Mongoinstallation übersteuert werden. dazu einfach https://s3.amazonaws.com/downloads.bitfactory.at/%23legacy%23.zip in den exe Ordner extrahieren und mind. Version 7.8.6.31 einspielen (aufgefallen Altenhof) Ordnerstruktur muss sein:
exe\#legacy#\mongod.exe \mongo.exe \mongorestore.exe \mongodump.exe
genauer Ablauf bei Umstellung: Mongo - Umstellung
Sicherung
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 immer nur die Sicherung vom letzten Tag.)
Dazu muss 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.
Datenbank reparieren
- z.B.: manchmal notwendig bei Problemen von Upgrade "alte" 7.8 auf neueste 7.8
> mongod.exe --dbPath C:\Bitfactory\AlexDat\_.9000.mongo\db --repair