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?

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s