Drupal como (poderoso) banco de dados relacional

8

Eu gostaria de criar um site Drupal, fornecendo uma plataforma para pessoas de todo o mundo que estão trabalhando no mesmo tópico de pesquisa para colaborar e se comunicar. (Tenho certeza que o Drupal é, portanto, uma excelente escolha).

No entanto, este site também deve incluir um banco de dados relacional (que será uma ferramenta de pesquisa muito interessante para os visitantes do site). Uma versão de teste desse banco de dados já existe no ooo base: possui 50 tabelas com muitas relações muitos-para-muitos e um-para-muitos entre elas. Basicamente, registra as relações entre pessoas, eventos e organizações.

Eu sei que é possível criar um banco de dados relacional no drupal, criando tipos de conteúdo personalizados e usando o módulo de conexão de entidade. No entanto, observando a maneira como o Drupal armazena esses dados em seu banco de dados mysql, receio que esse modo de construir um banco de dados não seja muito útil para mim, pois parece muito difícil consultar os dados (ou usar [social rede] software de análise sobre eles). A possibilidade de consultar os dados facilmente, é crucial para o meu banco de dados.

Eu sei que é possível adicionar um segundo banco de dados ao site drupal (consulte http://drupal.org/node/18429 ). No entanto, não tenho certeza se essa é a solução para o meu problema.

Muito curto, gostaria de saber:

(1) Se é possível alterar a maneira como o Drupal salva os dados de alguns tipos de conteúdo em seu banco de dados mysql, para uma maneira que parece mais "natural" para analisar dados (e poder consultá-los facilmente)

(2) Se é possível adicionar um segundo banco de dados mysqld ao site drupal, que organiza os dados de alguns tipos de conteúdo de uma maneira personalizada (mais 'natural'). Se possível, os usuários do site drupal devem poder adicionar conteúdo e analisar esses dados, como se estivessem salvos no mesmo banco de dados.

Ficaria muito grato se alguém pudesse me ajudar!

hansb
fonte

Respostas:

3

Você começou bem a trabalhar com os bancos de dados. Pela minha própria experiência, sou relutante em confiar / permitir que o Drupal mantenha qualquer dado sensível. E como você já possui um banco de dados robusto, parece que também não seria uma boa opção para você.

Com tudo isso dito, parece que você deseja simplesmente se conectar ao nó / conteúdo que ocorre no drupal. Você poderá se conectar a um banco de dados externo, processar e inserir os dados da maneira que desejar.

Ganchos da API do nó - D6 tem funções semelhantes, apenas nomeadas de forma diferente. Existem muitos pontos de gancho no processo. Você pode até alterar formulários e adicionar suas próprias funções de envio.

Wayne Weibel
fonte
2

Se você deseja ter seu próprio fluxo de trabalho para salvar os tipos de conteúdo e seus campos no banco de dados, consulte a API de armazenamento em campo . É usado para executar todo o "acesso ao banco de dados".

Por exemplo, você pode dar uma olhada no módulo MongoDB para ver como ele pode ser implementado. (Vejo que você precisa do SQL DB, basta usar este módulo como exemplo).

Veja também o artigo " Entidades remotas no Drupal 7 ", que descreve como toda a entidade (ou seja, tipo de conteúdo) pode ser salva em outro local que não o Drupal DB padrão.

Eugene Fidelin
fonte
1

Recentemente, iniciei uma sandbox para a integração do Drupal <=> Neo4J.

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

Ainda está nos estágios iniciais, mas parece que o Neo4j seria uma maneira de permitir consultas muito melhores. A idéia, porém, é não alterar a maneira como o Drupal armazena seus dados, mas duplicar os links entre o conteúdo.

Letharion
fonte