Drupal als (leistungsstarke) relationale Datenbank


8

Ich möchte eine Drupalsite erstellen, die Menschen auf der ganzen Welt, die an demselben Forschungsthema arbeiten, eine Plattform für die Zusammenarbeit und Kommunikation bietet. (Ich bin sicher, Drupal ist daher eine ausgezeichnete Wahl).

Diese Website sollte jedoch auch eine relationale Datenbank enthalten (die für die Besucher der Website ein sehr interessantes Recherchetool darstellt). Eine Testversion dieser Datenbank ist bereits in ooo base vorhanden: Sie enthält 50 Tabellen mit vielen Viele-zu-Viele- und Eins-zu-Viele-Beziehungen zwischen ihnen. Grundsätzlich werden die Beziehungen zwischen Personen, Ereignissen und Organisationen erfasst.

Ich weiß, dass es möglich ist, eine relationale Datenbank in Drupal zu erstellen, indem benutzerdefinierte Inhaltstypen erstellt und das Entity Connect-Modul verwendet werden. Wenn ich mir jedoch anschaue, wie Drupal diese Daten in seiner MySQL-Datenbank speichert, befürchte ich, dass diese Art der Datenbankerstellung für mich nicht sehr nützlich ist, da es sehr schwierig erscheint, die Daten abzufragen (oder [social] zu verwenden Netzwerk] Analysesoftware auf ihnen). Die Möglichkeit, die Daten einfach abzufragen, ist für meine Datenbank von entscheidender Bedeutung.

Ich weiß , es ist möglich , eine zweite Datenbank zur Drupal - Website (siehe hinzuzufügen http://drupal.org/node/18429 ). Ich bin mir jedoch nicht sicher, ob dies die Lösung für mein Problem ist.

Sehr kurz Ich würde gerne wissen:

(1) Ob es möglich ist, die Art und Weise zu ändern, in der Drupal die Daten einiger Inhaltstypen in seiner MySQL-Datenbank speichert, auf eine Weise, die für die Analyse von Daten „natürlicher“ erscheint (und in der Lage ist, sie einfach abzufragen)?

(2) Ob es möglich ist, der Drupal-Site eine zweite mysqldatabase hinzuzufügen, die die Daten einiger Inhaltstypen auf eine benutzerdefinierte ("natürlichere") Weise organisiert. Wenn möglich, müssen die Benutzer der Drupal-Site in der Lage sein, Inhalte hinzuzufügen und diese Daten zu analysieren, als ob sie in derselben Datenbank gespeichert wären.

Ich wäre sehr dankbar, wenn mir jemand helfen könnte!

Antworten:


3

Sie haben einen guten Einstieg in die Arbeit mit den Datenbanken. Aus eigener Erfahrung bin ich abgeneigt, Drupal die Möglichkeit zu geben, vernünftige Daten zu pflegen. Und da Sie bereits über eine robuste Datenbank verfügen, scheint dies auch für Sie keine gute Option zu sein.

Nach alledem scheint es so, als ob Sie sich einfach in das Speichern von Knoten / Inhalten einbinden möchten, das in Drupal auftritt. Sie können dann eine Verbindung zu einer externen Datenbank herstellen und die Daten verarbeiten und einfügen, wie Sie möchten.

Knoten-API-Hooks - D6 hat ähnliche Funktionen, die nur unterschiedlich benannt sind. Es gibt viele Hakenpunkte im Prozess. Sie können sogar Formulare ändern und Ihre eigenen Übermittlungsfunktionen hinzufügen.


2

Wenn Sie einen eigenen Workflow zum Speichern von Inhaltstypen und deren Feldern in der Datenbank haben möchten, können Sie sich die Feldspeicher-API ansehen . Es wird verwendet, um alle "Datenbankzugriffe" durchzuführen.

Sie können sich beispielsweise das MongoDB- Modul ansehen, um zu sehen, wie es implementiert werden kann. (Ich sehe, dass Sie SQL DB benötigen, verwenden Sie einfach dieses Modul als Beispiel).

Lesen Sie auch den Artikel " Remote-Entitäten in Drupal 7 ", in dem beschrieben wird, wie die gesamte Entität (dh der Inhaltstyp) an einem anderen Ort als der Standard-Drupal-Datenbank gespeichert werden kann.


1

Ich habe kürzlich eine Sandbox für die Drupal <=> Neo4J-Integration gestartet.

http://drupal.org/sandbox/Letharion/1861580

Es ist noch in einem sehr frühen Stadium, aber Neo4j klingt so, als wäre es eine Möglichkeit für Sie, viel bessere Abfragen zuzulassen. Die Idee ist jedoch nicht, die Art und Weise zu ändern, in der Drupal seine Daten speichert, sondern die Verknüpfungen zwischen Inhalten zu duplizieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.