Concluindo meu nível de computação A em 2003 e me formando em computação em 2007, e aprendendo meu ofício em uma empresa com muito uso de SQL, fui criado com a idéia de bancos de dados relacionais sendo usados para armazenamento.
Portanto, apesar de ser relativamente novo no desenvolvimento, fiquei surpreso ao ler um comentário (em /software//q/89994/12436 ) que dizia:
[Alguns desenvolvedores] desprezam o [SQL] e acham que ele e o RDBMS são uma moda
Obviamente, um desenvolvedor competente usará a ferramenta certa para o trabalho certo e não criará um banco de dados relacional quando, por exemplo, arquivo simples ou outra solução para armazenamento for apropriado, mas os RDBMs são úteis em um grande número de circunstâncias, então como eles poderiam ser considerado uma moda passageira?
Respostas:
A chave está no R no RDBMS, que significa relacional. Ao contrário da crença popular, não significa relações entre tabelas, mas sim o fato de que cada tabela é uma relação no sentido matemático da palavra .
O modelo relacional tem implicações bastante significativas. Você precisa modelar seus dados para ajustar as relações e normalizar esse modelo . Se seu aplicativo foi projetado como modelo orientado a objetos, o modelo relacional não é um bom ajuste. Isso é amplamente conhecido como incompatibilidade de impedância objeto-relacional .
Uma abordagem para essa incompatibilidade são os ORMs (mapeadores de relação de objetos), que ganharam muita popularidade. Mas elas não são a verdadeira solução, são mais uma solução para o problema. Eles ainda não resolvem o problema de mapear a herança de classe para o modelo relacional.
A verdadeira solução para a incompatibilidade objeto-relacional são os OODBMSes , que infelizmente não tiveram muita tração. O mecanismo popular que suporta OOBDs nativamente é o PostgreSQL, que é OO / RDBMS híbrido. Outro OODBMS é o Zope Object DB , que é construído em Python e na configuração típica usa RDBMS como mecanismo subjacente.
A abordagem alternativa é ter mais lógica implementada no nível de aplicativo ou middleware e usar a solução NoSQL para armazenamento subjacente.
Nem OODBMS nem NoSQL são "apenas um arquivo simples".
fonte
Fiz a declaração que você citou na pergunta acima. Se você quiser uma citação para verificar minha suposição sobre desenvolvedores neste site, leia minha resposta para a pergunta a seguir e analise a reação dos comentários e votos negativos que recebi pelo que ainda considero uma resposta aceitável.
Programadores experientes devem conhecer as consultas ao banco de dados?
Fiz a afirmação de que, se um banco de dados RDBMS estiver sendo usado, apesar do Linq ou de um ORM, um desenvolvedor deve ter um conhecimento avançado de SQL.
Essa foi uma afirmação altamente impopular que parece por causa de diferenças respeitáveis de opinião sobre a importância do SQL, para a mentalidade menos respeitável de que o RDBMS é inerentemente inferior aos bancos de dados NoSQL como o MongoDB.
EDIT: Para adicionar ainda mais à minha reivindicação, citarei o usuário SK-logic:
fonte
moda passageira :
Os RDBMSs existem há séculos (pelo menos em termos de CS), então quem disse que quis dizer algo mais ou não tem noção.
fonte
A alternativa ao RDBMS não é apenas um arquivo simples. Quando eu estava na escola, o OODBMS era a novidade e meu professor estava certo quando ele classificou isso de moda. Você deve dar uma olhada nos diferentes modelos e observar as tendências. Vi uma dependência crescente do OLAP e estaria disposto a apostar que um novo sistema multidimensional que pode processar dados mais rapidamente está ao virar da esquina.
fonte
O problema é que muitos desenvolvedores equiparam erroneamente o RDBMS ao SQL. SQL é uma linguagem realmente horrível para os padrões modernos. É uma implementação falha e incompleta de uma linguagem "relacional" (o SQL não é realmente relacional e isso faz parte do problema) que não evoluiu muito nos últimos 30 anos. Muitas pessoas que usam SQL mal entendem o modelo relacional - tudo o que sabem é SQL e, portanto, assumem que o modelo relacional é a causa de sua frustração.
fonte
Sem contexto, é difícil determinar quem / por que a declaração de que os RDBMs são considerados uma moda passageira.
A curto e médio prazo (5 a 10 anos) e eu pensaria ainda mais que isso não vai desaparecer. Um RDBM fornece um método eficiente e eficaz de armazenamento, processamento e recuperação de dados relacionais, que é o que a maioria das empresas possui: clientes / pedidos, passageiros / passagens etc.
Existem outras alternativas, como o NoSQL, que parecem estar crescendo em popularidade com o projeto de código aberto.
Como OLAP, esses são realmente (em meu entender) bancos de dados especializados projetados para permitir que uma empresa forneça informações estatisticamente oportunas e úteis sobre uma empresa e execute cenários "what if" nos dados atuais. Obviamente, em quase todos os casos, esses dados atuais vieram de um RDMBs e foram manipulados e depois inseridos no banco de dados OLAP.
fonte
Os bancos de dados relacionais são uma moda passageira, no mesmo sentido em que a microcomputação é uma moda passageira.
fonte
Resposta simples é não. RDBMS não é um modismo. Ao ler algo em um site do LinqPad, lembre-se de que o objetivo deles é vender licenças para o produto.
fonte
Moda não é a palavra certa, pois existe há muito, muito tempo. Eu acho que você pode começar a argumentar que a tecnologia é muito antiga e que talvez seja hora de apresentar a próxima coisa - arquiteturas NoSQL talvez
fonte
O Wiki Def. de moda passageira, define o termo "moda" da seguinte forma: moda é qualquer forma de comportamento que se desenvolve entre uma grande população e é coletivamente seguida com entusiasmo por algum período, geralmente como resultado do comportamento ser percebido como novo de alguma forma. Diz-se que uma moda passageira "pega" quando o número de pessoas que a adotam começa a aumentar rapidamente. O comportamento normalmente desaparece rapidamente quando a percepção de novidade desaparece.
Como os seguidores do RDBMS não desapareceram rapidamente e não vão desaparecer nos próximos anos (graças à enorme pilha de aplicativos de produção que o utilizam), não podemos dizer que é uma moda passageira. De fato, os principais conceitos do RDBMS permaneceram bastante estáveis, onde muitas das outras tecnologias mudaram (e ainda estão mudando) drasticamente.
O conceito de RDBMS (e seu principal veículo, SQL) representa um passo na tecnologia que, como muitos outros, pode ser substituído por outros melhores, isso é tudo.
fonte