
Para a leitura deste artigo, seria interessante o leitor ter visitado um artigo anterior, intitulado “A maldição das tabelas”.
De qualquer forma, faço uma recapitulação de alguns pontos que considero essenciais para os argumentos deste artigo. São eles:
- Bancos de dados são representações (modelos) do mundo real;
- Bancos de dados são limitados pelas suas abordagens tecnológicas de organização lógica dos dados;
- Optar por uma ou outra “tecnologia” é abdicar de formas de representar o mundo real mais {precisas, adequadas, eficientes, lógicas, etc.}
Por conta disto, a abordagem da “persistência poliglota” começou a ganhar terreno, lá nos idos de 2011, impulsionada também por uma nova arquitetura de desenvolvimento de sistemas, baseada em microsserviços, suportados por serviços “REST”. Um grande avanço, adotado inclusive por sistemas de biodiversidade, como o {Atlas of Living Australia, Living Atlases}, utilizado pelo Sistema de Informações sobre a Biodiversidade Brasileira – SiBBr.
Apesar do avanço na capacidade da persistência em representar e gerenciar de forma eficiente diferentes modelos (relacional, grafo, semi-estruturado, colunar, chave-valor, etc.), criou-se uma camada de complexidade: ter que lidar e manter diferentes ferramentas, diferentes linguagens de consulta, diferentes demandas de infraestrutura e, consequentemente, diferentes competências do time de TI.
Foi aí que, na segunda metade da década de 2010, começou a tomar forma a ideia de “bancos de dados multimodais” – sistemas de bancos de dados que permitem lidar com diferentes {tipos, estruturas} de dados. Uma coisa meio “one ring to rule them all”!
(Verso dos Anéis, recitado por J.R.R. Tolkien – Fonte: https://tolkiengateway.net/wiki/Ring-inscription)
Cheguei a “brincar” bastante com o ArangoDB, que permitia ter documentos JSON como “nós” e criar relações entre estes nós (arestas), também com atributos definidos por JSON; e com o Neo4J, orientado a grafos, satisfazendo meu interesse em analisar e visualizar dados em rede. Diversão pura! Mas ainda faltava alguma coisa…
É preciso deixar claro aqui o que quero dizer quando digo “faltava alguma coisa”. Penso que não é necessário aqui convencer ninguém de que o domínio da biodiversidade é um domínio complexo, por si só. Agregar questões sociais, ambientais, climáticas, econômicas e culturais a um domínio já naturalmente complexo e notoriamente transversal cria desafios colossais à sua representação lógica. E era isso que faltava. Uma liberdade (ou falta de limitação) à capacidade de modelar, lógica e adequadamente, conceitos extremamente complexos, relacionados a tudo que tangencia a biodiversidade.
No artigo da “maldição das tabelas” já havia manifestado uma grande frustração em relação ao modelo relacional e os modelos baseados em grafos e documentos JSON estavam abrindo novos caminhos e esperanças, mas ainda eram insuficientes. No mesmo artigo, já chamava a atenção para as ferramentas multimodais, como o ArangoDB e, há cerca de um ano, eu resolvi experimentar o SurrealDB. Fiquei bem impressionado com sua proposta, mas acabei não me aprofundando mais. Entretanto, a necessidade bateu à minha porta.
Como já comentado também em artigos mais recentes, ando envolvido com iniciativas e projetos que envolvem a modelagem conceitual do conhecimento tradicional e a sensação de “vazio tecnológico” é agonizante… Este “vazio tecnológico” é diretamente proporcional à complexidade e ao tamanho do “conteúdo sócio-cultural”, por exemplo, da relação das plantas com as pessoas. Quer uma pequena, perceba – PEQUENA, amostra do que quero dizer com isso? Aqui vai.
As abordagens mais ortodoxas, geralmente relacionais, usadas para modelar a simplicidade ingênua de que “essa planta serve pra fazer um chazinho pra dor de barriga”, em minha opinião, são absolutamente insuficientes para modelar conhecimento tradicional. Sem falar que já discutimos aqui que uma base de dados não é, necessariamente, uma base de conhecimentos. Na verdade, academicamente, ainda não encontrei nenhum paper com uma proposta de um modelo conceitual “decente” para a preservação digital de conhecimento tradicional. Nada além da visão ingênua do “chazinho”. De qualquer forma, estou muito mais para a “informática na biodiversidade experimental” do que para a discussão meramente teórica. Eu preciso botar a mão na massa e implementar! Foi aí que voltei para o “SurrealDB”!
Não vou entrar em detalhes técnicos de funcionalidades do SurrealDB, para não entediá-los. E não é nada que não possam perguntar para o seu agente predileto (ver relatório aqui). Meu resumo, bem objetivo, é que, nos exercícios que tenho feito, o SurrealDB demonstra ter uma flexibilidade impressionante para acomodar qualquer modelo de dados relacionados com a biodiversidade, por mais complexo que seja, de forma eficiente e elegante. Em especial, modelos lógicos relacionados com a sociobiodiversidade e com a preservação do conhecimento tradicional.
Obviamente, ter uma caneta bonita não faz de você um escritor de sucesso. Por outro lado, ter uma caneta lhe permite escrever os rascunhos do seu romance de sucesso, pensar sobre eles, compartilhá-los para crítica e aprimorá-lo à exaustão. E é isso que tenho exercitado no SurrealDB.
Curiosamente, sobre o nome “Surreal”, creio que remete ao movimento Surrealista, que surgiu na Europa, no final do século XX, e buscava libertar o pensamento e a expressão artística das amarras da lógica e da razão. O movimento, com ícones como Salvador Dalí e Miró, buscava subverter as normas estabelecidas e celebrar a liberdade da imaginação e do inconsciente. Sinto-me bem liberto e subversivo em relação às normas tradicionalmente estabelecidas para bancos de dados! Me sinto menos “tecnologicamente vazio” agora!