Drupal como base de datos relacional (poderosa)

8

Me gustaría crear un Drupalsite, proporcionando una plataforma para que las personas de todo el mundo que trabajan en el mismo tema de investigación colaboren y se comuniquen. (Estoy seguro de que Drupal es, por lo tanto, una excelente opción).

Sin embargo, este sitio web también debe incluir una base de datos relacional (que será una herramienta de investigación muy interesante para los visitantes del sitio web). Ya existe una versión de prueba de esta base de datos en ooo base: tiene 50 tablas con muchas relaciones de muchos a muchos y de uno a muchos entre ellas. Básicamente, registra las relaciones entre personas, eventos y organizaciones.

Sé que es posible crear una base de datos relacional en drupal creando tipos de contenido personalizados y usando el módulo de conexión de entidad. Sin embargo, teniendo en cuenta la forma en que Drupal almacena estos datos en su base de datos mysql, me temo que esta forma de construir una base de datos no es muy útil para mí, ya que parece muy difícil consultar los datos (o usar [social software de análisis de red] en ellos). La posibilidad de consultar los datos fácilmente es crucial para mi base de datos.

Sé que es posible agregar una segunda base de datos al sitio de drupal (cf http://drupal.org/node/18429 ). Sin embargo, no estoy seguro de si esa es la solución para mi problema.

Muy breve me gustaría saber:

(1) Si es posible cambiar la forma en que Drupal guarda los datos de algunos tipos de contenido en su base de datos mysql, de una manera que parezca más "natural" para analizar datos (y poder consultarlos fácilmente)

(2) Si es posible agregar una segunda base de datos mysql al sitio drupal, que organiza los datos de algunos tipos de contenido de forma personalizada (más 'natural'). Si es posible, los usuarios del sitio drupal deben poder agregar contenido y analizar estos datos, como si estuvieran guardados en la misma base de datos.

¡Estaría muy agradecido si alguien pudiera ayudarme!

Hansb
fuente

Respuestas:

3

Tiene un buen comienzo para trabajar con las bases de datos. Desde mi propia experiencia, soy reacio a confiar / permitir que Drupal mantenga datos sensibles. Y dado que ya tiene una base de datos sólida, parece que tampoco sería una buena opción para usted.

Con todo lo dicho, parece que simplemente desea conectarse al nodo / ahorro de contenido que ocurre en drupal. Luego podrá conectarse a una base de datos externa y procesar e insertar los datos de cualquier manera que elija.

Ganchos de API de nodo : D6 tiene funciones similares, que se nombran de manera diferente. Hay muchos puntos de enlace en el proceso. Incluso puede alterar formularios y agregar sus propias funciones de envío.

Wayne Weibel
fuente
2

Si desea tener su propio flujo de trabajo para guardar los tipos de contenido y sus campos en la base de datos, puede consultar la API de Field Storage . Se utiliza para realizar todo el "acceso a la base de datos".

Por ejemplo, puede mirar el módulo MongoDB para ver cómo se puede implementar. (Veo que necesita SQL DB, solo use este módulo como ejemplo).

Consulte también el artículo " Entidades remotas en Drupal 7 " que describe cómo se puede guardar toda la entidad (es decir, el tipo de contenido) en otro lugar que no sea Drupal DB predeterminado.

Eugene Fidelin
fuente
1

Recientemente comencé un sandbox para la integración de Drupal <=> Neo4J.

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

Todavía está en las primeras etapas, pero parece que Neo4j sería una forma de permitir consultas mucho mejores. Sin embargo, la idea no es cambiar la forma en que Drupal almacena sus datos, sino más bien duplicar los enlaces entre el contenido.

Letharion
fuente