Daten Persistenz

Die Bienentherme soll nun eine hohe Menge an Daten beinhalten. Sensordaten werden für gewöhnlich durchgehend erhoben. Der native Ansatz diese in eine einzelne Textdate zu sichern und diese dann durchparsen zu lassen ist bei größeren Datenmengen nicht praktikabel. Im Foren wird für Sensordaten die MongoDB enpfohlen. Es ist keine Relationale Datenbank und es ist für große Datenmengen ausgelegt. Die Daten werden als JSON-Objekt gesichert. [1] Ein recht überschaubares Python-Tutorial erklärt den Umgang von MongoDB und Pyhton. [2]  Sensordaten brauchen kein Relationales Datenbankschema. Sie besten normalerweise aus einem Typ, einem Zeitstempel und einem Wert. Diese kann man wunderbar als JSON Objekt festhalten und ein eine MongoDB persistieren.

Nachdem man mit "sudo apt-get update; sudo apt-get upgrade; sudo apt-get install mongodb" das Datenbankprogramm gesichert hat, startet man den dienst auf der Bash mit "mongod" und importiert es im Phython Code mit.

import pymongo
from pymongo import MongoClient
client = MongoClient()
client = MongoClient('localhost', 27017)
client = MongoClient('mongodb://localhost:27017/')
# Erstelle DB Client
db = client.bt_datenbank
# Erhalte eine Menge von Objekten (Collection) 
collection = db.bt_datenbank
# Sichern von Daten
import datetime
post = {"author": "Mike",
        "text": "My first blog post!",
        "tags": ["mongodb", "python", "pymongo"],
        "date": datetime.datetime.utcnow()}

import pymongo from pymongo import MongoClient client = MongoClient() client = MongoClient('localhost', 27017) client = MongoClient('mongodb://localhost:27017/') # Erstelle DB Client db = client.bt_datenbank # Erhalte eine Menge von Objekten (Collection) collection = db.bt_datenbank # Sichern von Daten import datetime post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"], "date": datetime.datetime.utcnow()}

 

 

Ressourcen: