2011-01-14 7 views
2

Ich habe große Mengen von Text (Log-Dateien), die sehr groß sein können (bis zu Gigabytes). Sie sind mit Entitäten verknüpft, die ich in einer Datenbank speichere, und ich versuche herauszufinden, ob ich sie in der SQL-Datenbank oder in externen Dateien speichern sollte.Optionen zum Speichern großer Textblöcke in/mit einer SQL-Datenbank?

Es scheint, als wäre der In-Database-Speicher auf 4 GB für LONGTEXT-Felder in MySQL begrenzt, und vermutlich haben andere DBs ähnliche Grenzen. Auch das Speichern in der Datenbank verhindert vermutlich jede Art von Suche beim Betrachten dieser Daten - ich müsste die gesamte Länge der Daten laden, um einen Teil davon zu rendern, oder?

Es scheint also so, als ob ich mich auf das Speichern dieser Daten aus der Datenbank stütze: sind meine Bedenken, große Blobs in der Datenbank zu speichern, und wenn ich sie aus der Datenbank speichern will, dann sind sie da irgendwelche Frameworks/Bibliotheken, um damit zu helfen?

(Ich bin in Python arbeiten, aber bin in Technologien in anderen Sprachen zu interessieren)

Antwort

2

Ihre Bedenken sind gültig.

Die DB hat vor einigen Jahren die Möglichkeit, große Binär- und Textfelder zu bearbeiten, und nach jedem Versuch haben wir aufgegeben.

Das Problem rührt von der Tatsache her, dass sich Ihre Operationen an großen Objekten sehr stark von Ihren Operationen auf atomaren Werten unterscheiden. Der Code wird also schwierig und inkonsistent.

So gehen die meisten Veteranen mit dem Speichern sie auf dem Dateisystem mit einem Zeiger in der db.

0

Ich weiß, PHP/MySQL/oracle/prob mehr können Sie mit großen Datenbankobjekten arbeiten, als ob Sie einen Dateizeiger haben, das geht um Speicherprobleme.

+0

Können Sie einen Link zu einigen Informationen darüber bereitstellen, wie dieser dateiähnliche Zugriff für mysql durchgeführt wird? – kdt

Verwandte Themen