Antes de mais nada, vale lembrar que o MongoParadigm é um projeto ainda em desenvolvimento, que precisa ser deixado mais simplificado em alguns pontos. Porém, e isso é a parte que realmente é importante, não é fácil achar um plano de hospedagem que suporte MongoDB, e principalmente, é provável que estes planos sejam caros ou fora do Brasil. Normalmente, os planos suportam MySQL, PostgreSQL, ou outra base de dados relacional (na ausência delas, ainda há o SQLite, que para pequenas aplicações atende bem). Portanto, na maioria das aplicações que desenvolvemos por hobby, simplesmente não há onde hospedá-las.

Foi então que encontrei este artigo: How FriendFeed uses MySQL to store schema-less data. A proposta é simples, montar uma base de dados que rode semelhante ao MongoDB (obviamente sem certas features, como “atomic updates”, auto-sharding, etc) usando YAML para fazer as serializações, e suportando índices tal como MongoDB.

Tal sistema teria uma série de vantagens, tal como a serialização de Arrays e Hashes, e a possibilidade de serializar (e indexar) objetos. Porém, ainda falta decidir como seriam feitas as indexações de objetos diferentes de Hashes e Arrays, porque desta forma seria possível implementar uma “base de dados orientada a objeto” em cima de um sistema SQL. Da mesma forma, há alguma dificuldade em implementar todos os operadores, tal como “in”, “all”, entre outros. Ainda estou pensando neste projeto, mas é provável que seja implementado algo semelhante ao Friendly, se é que eu não vá fazer um “fork” do Friendly e implementar as funcionalidades dele com YAML.

Mais novidades assim que eu consegui esboçar um pouco o sistema. Mesmo porque, ainda há coisas que é necessário pensar, tipo como fazer buscas por vários campos, ou como criar queries no estilo do MongoDB (maior que, menor que, etc). Sugestões?

Categories: Banco de Dados