Orientação a documentos em SQL

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?

This entry was posted in Banco de Dados and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *