2016-04-06 15 views
0

Ich habe in letzter Zeit auf Mahout gearbeitet. Die aktuelle Version unterstützt Eingaben von Dateien, MySQL etc ... über seine DataModels. In meinem Fall befinden sich die Rohdaten in einer Postgres-Datenbank an einem Clientstandort. Die Rohdaten erfordern eine gute Vorverarbeitung, bevor sie in das Mahout DataModel eingespeist werden. Momentan speichere ich die verfeinerten Daten als einfache *.csv Datei und lade sie mit integriertem FileDataModel zu Mahout.In-Memory-Datenbank für Mahout Empfehlung

Ist es möglich, einen inmemory DB zu verwenden, um die verfeinerten Daten tatsächlich zu speichern und ihn unter Verwendung seiner vorhandenen MySQLJDBCDataModel/JDBCDataModel in Mahout zu laden? . Wenn ja, welche Art von inmemory DB würde diesem Zweck dienen

Antwort

0

sqllite3 ist ziemlich oft das goto in der Speicherdatenbank und aus gutem Grund ist es eine der am härtesten kämpften Datenbanken da draußen und kann buchstäblich überall gefunden werden. Der von Ihnen verwendete Browser verwendet es wahrscheinlich. Es hat eine im Speicher Option, die ziemlich geradlinig ist. Sogar diskettenbasiert ist es auch schnell.

Die meisten Datenbanken, die über ausreichend RAM verfügen, laden die meisten Ihrer Daten ohnehin effizient in den Arbeitsspeicher. Ich habe PostgreSQL lange Zeit als Backend für eine Suchmaschine benutzt und der meiste Zugriff war auf RAM, wobei beim Lesen fast nichts auf die Festplatte ging. Wenn Sie die Datenbank bereits in PostgreSQL haben, könnte es einfacher sein, sie in dieser Datenbank zu speichern.

0

Beachten Sie, dass Sie nur über einen einzigen Prozess auf eine In-Memory-Datenbank von SQLite zugreifen können.

Wenn Sie die ultimative Leistung benötigen, ist selbst eine vollständig zwischengespeicherte persistente Datenbank nicht so schnell wie ein echtes In-Memory-Datenbanksystem. Für mich hört sich das jedoch nicht so an, als würden Sie diese extreme Performance benötigen.