Um recente post no seu blog, Martin Fowler,um famoso líder da área de software, previu que um aquecimento global está descongelando os banco de dados da terra.. O mundo está preso usando banco de dados RDBMS e é chegado o tempo de avaliar a viabilidade da utilização do RISC RDBMS ou documentos XML nos bancos de dados.
Durante muitos anos, o banco de dados RDBMS dominou o mundo. Houve um tempo quando a OPP fazia sua própria programação e foram criadas esperanças de que o OO poderia afetar até mesmo os bancos de dados. Depois de notar falhas nos bancos de dados ODBMS, Martin expressa sua opinião sobre o motivo das falhas: “seu [RDBMS] domínio é menor devido ao seu papel na gestão de dados do que o seu papel na integração”. E explica seu ponto de vista:
Hoje para muitas organizações, o principal padrão para integração é Shared Database Integration - onde múltiplas aplicações são integradas usando um banco de dados comum. Quando você tem estes IntegrationDatabases, é importante que todas essas aplicações possam facilmente pegar esses dados compartilhados - dai o importante papel do SQL. O papel do SQL como a mais padronizada das linguagens de querytem sido fundamental para o domínio dos bancos de dados.
A internet está mudando o cenário oferecendo novas soluções de integração:
O aquecimento dos espaços dos bancos de dados vem da presença de alternativas de integração - em especial o aumento dos web services. Sob várias perspectivas há um movimento crescente para aplicações conversarem umas com as outrasvia documentos de texto (em sua maioria XML) sobre HTTP. A web, tanto na forma de internet ou de intranet, tornouseu modelo de integração ainda mais predominante do que o SQL. Isso é bom, pois eu nunca gostei da abordagem de múltiplas aplicações ficarem altamente acopladas através de um banco de dados em comum - você não pode violar mais o encapsulamento do que isso.
HTTP afetará a maneira como os bancos de dados são usados, de acordo com Martin:
Se você mudar seu protocolo de integração do SQL para HTTP, isso significa agora que pode mudar seu banco de dados de IntegrationDatabases para ApplicationDatabases. Esta mudança é profunda. Na primeira etapa ele suporta uma abordagem muito mais simples para o mapeamento do objeto relacional - tais como a abordagem do Ruby on Rails. Mas, além disso, quebra o vício de aderir ao modelo de dados relacional. Se você integra através do HTTP já não importa mais como o aplicativo armazena seus próprios dados, por sua vez significa que uma aplicação pode escolher um modelo de dados que satisfaça as suas próprias necessidades.
Enquanto Martin não acha que o RDBMS vai desaparecer a qualquer momento, ele indica possíveis alternativas a serem usadas:
- Drizzle é uma forma de banco de dados relacional, mas um que evita as maquinaria dos produtos relacionais modernos. Eu penso nisso como um RISC RDBMS - suportando apenas o básico do conjunto de funcionalidades do modelo relacional.
- Couch DB é uma das muitas formas de incursão para um modelo de chave-valor distribuído. Embora bruscamente seja um modelo simples de dados (nada mais do que um hashmap) este tipo de abordagem tornou-se bastante popular nos websites de grande volumes.
- Gemstone foi um dos vários bancos de dados orientados a objetos, e eu acho a combinação Gemstone-Smalltalk um ambiente de desenvolvimento muito poderoso (superior à maioria dos seus sucessores). Gemstone ainda está no mercado como um player de nicho, mas pode ganhar mais força.
- Maglev - um projeto que traz sua abordagem (essencialmente uma fusão entre banco de dados e virtual machine) para o mundo do Ruby.
Martin cuidadosamente conclui que RDBMS não estão desaparecendo e "são a escolha certa para muitas situações". Seu blog sugere que dado o aumento das opções hoje em dia, "desenvolvedores de aplicação devem pensar sobre qual é a opção correta para suas necessidades. Como projetos não relacionais crescem em popularidade e maturidade, cada vez mais pessoas irão atrás de outras opções." O que você acha?