Gibt es eine Möglichkeit zum speichern von python-Objekte direkt in mongoDB ohne serialisieren Sie
Ich habe irgendwo gelesen, dass Sie python-Objekte (insbesondere Wörterbücher) als Binärdateien in MongoDB mithilfe von BSON. Aber jetzt ich kann nicht finden die Dokumentation für diese.
Sollte jemand wissen, wie genau dies geschehen kann?
Es ist überhaupt nicht klar, was Sie zu tun versuchen, was Sie versucht haben und was nicht funktioniert hat. Bitte Bearbeiten Sie die Frage um diese hilfreichen details. 🙂
Wenn Sie dies tun, für die performance, benchmark mag Sie überraschen.
Danke für den link, ich werde es im Kopf behalten für ein Projekt, wo I/O wäre mehr kritisch für die performance von meinem Projekt!
das große problem für mich ist, dass ich verlassen sich stark auf die Serialisierung von numpy Datentypen, die nicht im python json-Modul
Als seitliche Anmerkung, mit Gurke (wie vorgeschlagen in die Antworten) kann einige Probleme haben: pyvideo.org/video/2566/pickles-are-for-delis-not-software. In Zusammenfassung - Probleme mit der security + die Wartbarkeit des Codes.
Wenn Sie dies tun, für die performance, benchmark mag Sie überraschen.
Danke für den link, ich werde es im Kopf behalten für ein Projekt, wo I/O wäre mehr kritisch für die performance von meinem Projekt!
das große problem für mich ist, dass ich verlassen sich stark auf die Serialisierung von numpy Datentypen, die nicht im python json-Modul
Als seitliche Anmerkung, mit Gurke (wie vorgeschlagen in die Antworten) kann einige Probleme haben: pyvideo.org/video/2566/pickles-are-for-delis-not-software. In Zusammenfassung - Probleme mit der security + die Wartbarkeit des Codes.
InformationsquelleAutor chiffa | 2013-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es nicht einen Weg, um ein Objekt in eine Datei (Datenbank) ohne serialisieren. Wenn die Daten benötigt, um von einem Prozess zu einem anderen Prozess oder auf einem anderen server, wird es serialisiert werden müssen, in irgendeiner form übertragen werden. Da bist du gefragt, MongoDB, die Daten werden absolut serialisiert werden, in irgendeiner form, um gespeichert zu werden in der MongoDB-Datenbank. Bei der Verwendung von MongoDB, es ist BSON.
Wenn Sie tatsächlich Fragen, ob es eine Möglichkeit zum speichern einer raw form eines Python-Objekt in eine MongoDB-Dokument, können Sie ein
Binary
Feld in ein Dokument kann beliebige Daten enthalten, die Sie möchten. Es ist nicht direkt queryable in irgendeiner Weise in dieser form, so sind Sie potenziell verlieren viele der Vorteile der Verwendung von NoSQL-Dokumenten-Datenbank wie MongoDB.pickle
Serialisierung der Aufbau eines JSON-Objekts. Es gibt identische Zeichenfolge für Geräte mit gleichen Saiten, das ist für mich sehr wichtig. dazu meine I/O, um die Datenbank nicht die performance-kritischen Teil von meinem code.Es ist ein Tippfehler im Beispiel-code: sollte es Lesen Gurke.dumps(myObj) auf die bevor-der-Letzte Zeile
Danke , Gurke.dumps(obj) arbeitete für mich (scikit-learn.org/stable/modules/...)
Ich denke, sollte der answert wie Gurke ist jetzt geändert und es sollte Gurke.dumps(obj) und nicht Gurke.dump(obj)
InformationsquelleAutor WiredPrairie
Vorausgesetzt, Sie sind nicht besonders daran interessiert, mongoDB, sind Sie wahrscheinlich nicht auf der Suche nach bsohn. BSON ist nur ein anderes Serialisierungsformat im Vergleich zu JSON, ausgelegt für mehr Geschwindigkeit und Speicherplatz-Effizienz. Auf der anderen Seite
pickle
nicht mehr von einer direct-encoding von python-Objekten.Allerdings müssen Sie Ihre Geschwindigkeit tests, bevor Sie erlassen
pickle
um sicherzustellen, es ist besser für Ihren Anwendungsfall.InformationsquelleAutor superdud