Estudando Modelagem - Abordagens

Modelagem

13/12/2014

Vi uma aula muito legal sobre varias abordagens e me chamou atenção a abordagem orientação a objetos, na qual hoje em dia a programação é totalmente baseada, por que não deu certo em banco de dados?
Marilia Silva

Marilia Silva

Curtidas 0

Respostas

Marisiana Battistella

Marisiana Battistella

13/12/2014

Eu acho q não entendi a tua pergunta Marilia...
O que não deu certo em banco de dados?
GOSTEI 0
Marilia Silva

Marilia Silva

13/12/2014

Orientação a Objetos em Banco de Dados.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

13/12/2014

Orientação a Objetos em Banco de Dados.


Deu certo sim só não é tão usado como os banco relacionais.
Mas existem no mercado vários bancos OODBMS o problema é que são usados em projetos específicos, só não são tão populares quanto ao gerenciadores de banco de dados relacionais.
Existem inclusive banco de dados orientados a objetos que aceitam o SQL, vide o Caché.
Mais informações aqui:

http://pt.wikipedia.org/wiki/Banco_de_dados_orientado_a_objetos

Existem grande projetos que utilizam gerenciadores de banco de dados NOSQL. Que é outra abordagem.

https://www.devmedia.com.br/o-que-e-nosql-java-magazine-87/19015
http://imasters.com.br/artigo/17043/banco-de-dados/nosql-voce-realmente-sabe-do-que-estamos-falando/

E ainda existem várias empresas que utilizam bancos de dados hierárquicos: cobol, adabas (que pode ser usado como relacional) , d3 e mumps.
GOSTEI 0
Marilia Silva

Marilia Silva

13/12/2014

Mas esses bancos não costumam ser mais lentos que os banco de dados relacionais?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

13/12/2014

Mas esses bancos não costumam ser mais lentos que os banco de dados relacionais?


Esta é uma questão que gera muita discussão e esta longe de ter-se consenso.

Tudo depende do cenário onde o gerenciador de banco de dados será utilizado, e principalmente de como foi modelado/projetado.

Mais rápido em relação a que?
Em certas situações bancos de dados hierárquicos e NOSQL podem ser muito mais rápidos que os relacionais.
Só que compartilhar a informação pode ser bem mais complicado que em um modelo relacional.

BD´s relacionais podem ser uma carroça se mal modelados/projetados.

Não existe receita nem leis imutáveis, tudo vai depender de vários fatores.

E como já ressaltei o Cache pode ser usado orientado e objetos e relacional. Vale o custo, beneficio e o tempo gasto na curva de aprendizagem? Só um estudo levando-se em consideração o objetivo do projeto que poderá esclarecer.

Acredito que por enquanto na maioria das vezes os bancos relacionais são a melhor solução, mas tudo pode mudar com novas tecnologias e novos paradigmas.

Somente estudando e entendendo as nuances de cada mecanismo e o cenário é que você poderá decidir por um ou outro.
GOSTEI 0
Marilia Silva

Marilia Silva

13/12/2014

Já me disseram que a orientação a objetos é mais lento(mas só me falaram isso), tenho que ler mais principalmente sobre bancos relacionais por uma questão de aprendizado e o mercado exige no momento.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/12/2014

NoSQL não é a metodologia de modelagem de dados utilizada para as bases de dados que os sistemas BigData acessam?
GOSTEI 0
Marilia Silva

Marilia Silva

13/12/2014

Não entendi...
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

13/12/2014

NoSQL não é a metodologia de modelagem de dados utilizada para as bases de dados que os sistemas BigData acessam?



Marisiana,

Não sou especialista, contudo me interesso por estes assuntos, então o que vou postar é simplesmente a minha visão pessoal. Caso contenha algum equívoco por favor me corrijam.

NoSQL não é apenas uma técnica de modelagem é um movimento, se não me engando apareceu no final dos anos 90, que propõe uma tecnologia/abordagem que é usada para trabalhar com quantidades maciças de dados de forma não relacional. Não para substituir os bancos relacionais, mas trabalhar em conjuntos em determinados cenários. Assim é possível trabalhar com bd´s relacionais e não relacionais em uma mesma aplicação. Cada ferramenta (servidor) tem sua especificidade e propõe uma abordagem diferente para manipular a informação, por exemplo: Redis (chave-valor), MongoDB (documento), Neo4J (grafo) e Cassandra (família de colunas) e existem outros.

Já Big Data, começou a ser citado em 2008, é algo novo e tão "hypado" que fica até difícil defini-lo. Cada blog e cada autor tem uma visão e conceito diferente. No meu entendimento não é apenas a quantidade/tamanho do banco de dados que que define se a base é ou não um Big Data, afinal os SGBD´s de hoje podem lidar com quantidades de dados absurda se bem projetados, mas sim a escalabilidade e a velocidade na mineração, em tempo real, da informação em menor tempo de requisição. Por exemplo um controle de tráfego aéreo, onde milhares de voos devem ser monitorados, disponibilizando sua localização geográfica e traçando suas rotas e destinos em tempo real entraria no conceito. Ou um controle de estacionamento em vários shoppings onde usaria geolocalização para informa vagas disponíveis aos usuários que estão chegando também. Ou o entulho das redes sociais. kkk

Já o conceito de banco de dados orientados surgiu em 1985, não é tão novo assim, mas ainda não se popularizou. A questão da orientação a objetos é mais ou menos como "verdadeiro amor" que é propagado por todos, "mas poucos usam de maneira correta e em sua plenitude". Kkkk O que existe de barbaridades por ai com o intuito utilizar OO é um assombro. Como OO é uma abstração da realidade permite-se uma liberdade total, só que liberdade sem bom senso é fatal.

Afirmar que uma ou outra tecnologia de banco de dados tem performance menor que a outra é complicado e beira a arte divinatória, pois tudo depende do cenário e principalmente de como foi projetado.


Veja este entrevista interessante sobre o assunto.

Espero que tenha ajudado na compreensão de assuntos tão diversos e complexos.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/12/2014

Obrigada pela explicação Jothaz!

Eu vejo Orientação a Objetos como um conceito único que é utilizado em diversas tecnologias. Por exemplo, as ferramentas MySQL Workbench e PqAdmin III que são orientadas a objetos pois é possível construir os SQL através da interface gráfica.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

13/12/2014

Obrigada pela explicação Jothaz!
Eu vejo Orientação a Objetos como um conceito único que é utilizado em diversas tecnologias. Por exemplo, as ferramentas MySQL Workbench e PqAdmin III que são orientadas a objetos pois é possível construir os SQL através da interface gráfica.



De nada! Vale ressaltar que é uma visão pessoal e como tal pode ser imprecisa.

Sua argumentação é perfeita! Hoje é a melhor técnica, mas assim como ele rompeu um paradigma pode ser que no futuro apareça outra abordagem.

O SQL também tem esta característica pode-se usar qualquer front-end para extrair o dados do modelo. O que não acontece com banco hierárquicos.

Só para ilustrar uma faca na mão de uma pessoal comum é só um ferramenta ou arma, já nas mãos de um cirurgião salva vidas.
As benesses da orientação a objetos e inquestionável o problema e quando cai em mãos inábeis ou pretenciosas. kkkkk
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/12/2014

hahhahaha... tens razão!

Ainda não consegui parar para ler o conteúdo do link q compartilhastes sobre NoSQL e BigData, assim conseguir ler com atenção farei meu comentário.
GOSTEI 0
Marilia Silva

Marilia Silva

13/12/2014

Entendi um pouco sobre o assunto abordado, mas isso ficará para outra hora.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/12/2014

Sim Marilia, é outro assunto...
Eu acabei utilizando teu tópico para tirar uma dúvida minha e acabamos ampliando o assunto to post.
GOSTEI 0
Marilia Silva

Marilia Silva

13/12/2014

Pra mim não tem problema. é bom que fico sabendo mais.
GOSTEI 0
POSTAR