MongoDB: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Zeile 132: Zeile 132:
* Im Anschluss kann der Ordner "db" aus dem Echtsystem kopiert und der "db" Ordner im Testsystem durch diesen ersetzt werden
* Im Anschluss kann der Ordner "db" aus dem Echtsystem kopiert und der "db" Ordner im Testsystem durch diesen ersetzt werden
* Abschließend müssen die beiden Dienste wieder gestartet werden
* Abschließend müssen die beiden Dienste wieder gestartet werden
 
* Um Verwechslungen zu vermeiden, sollte im Testsystem unter Systemeinstellungen die "Anzeige in Titel des Hauptfensters" geändert werden (z.B. "Testsystem")
 


== Administrative Tools von Drittherstellern ==
== Administrative Tools von Drittherstellern ==

Version vom 1. September 2016, 09:11 Uhr

(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/
  • 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

MongoDB-Queries

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 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

Die wiederhergestellte Datenbank kann dann mit der vorhandenen ausgetauscht werden.

Datenbank reparieren

  • zB.: manchmal notwendig bei Problemen von Upgrade "alte" 7.8 auf neueste 7.8
> mongod.exe --dbPath C:\Bitfactory\AlexDat\_.9000.mongo\db --repair

Datenbank in ein Testsystem kopieren

Achtung: Die folgenden Schritte sind nur bei bestehendem Testsystem möglich!

  • Der Dienst des Echtsystems sowie des Testsystems müssen über den ALEX Service Manager gestoppt werden
  • Im Anschluss kann der Ordner "db" aus dem Echtsystem kopiert und der "db" Ordner im Testsystem durch diesen ersetzt werden
  • Abschließend müssen die beiden Dienste wieder gestartet werden
  • Um Verwechslungen zu vermeiden, sollte im Testsystem unter Systemeinstellungen die "Anzeige in Titel des Hauptfensters" geändert werden (z.B. "Testsystem")

Administrative Tools von Drittherstellern

MongoExplorer

MongoVUE

Technische Informationen für Interessierte

Song zur MongoDB

MongoDB Home

MongoDB Starting and Stopping

MongoDB Interactive Shell

MongoDB Queries

http://en.wikipedia.org/wiki/MongoDB

http://en.wikipedia.org/wiki/Document-oriented_database