Ranking do BDs em Março de 2015
02/03/2015
0
Marisiana Battistella
Post mais votado
03/03/2015
Eu não cheguei a utilizar ele, apenas li alguns artigos a respeito, mas eu me questiono até que ponto pode ser boa a forma que ele armazena os dados.
Marisiana Battistella
Mais Posts
04/03/2015
Alan Mario
04/03/2015
Mariana Carvalho
04/03/2015
Alan Mario
04/03/2015
Alan Mario
Tambem acho que foi isso.
05/03/2015
Marisiana Battistella
05/03/2015
Thiago Santana
Projeto usando MongoDB
Utilizamos uma integração entre linguagens (Delphi e Ruby) e Bancos (Firebird e MongoDB). Deu tudo certo! :)
05/03/2015
Alan Mario
05/03/2015
Marisiana Battistella
Na sua opinião Thiago, para desenvolver uma aplicação assim, você acha que é melhor de trabalhar com uma estrutura não-relacional ou com uma estrutura relacional?
05/03/2015
Thiago Santana
Afinal de contas essa foi a única vez que utilizei um banco não relacional!
Uma coisa que achei fantástica foram as consultas e inserts, muito rápida e bem simples.
Exemplo:
$db->collection->insert($this->query); Esta instrução equivale à sql: insert into usuario(UsuarioID, Usuario, Email) VALUES(1, "suissa", "teste@gmail.com")
05/03/2015
Soeuseijothaz
Na sua opinião Thiago, para desenvolver uma aplicação assim, você acha que é melhor de trabalhar com uma estrutura não-relacional ou com uma estrutura relacional?
Para varia a resposta padrão depende do cenário.
Estou desenvolvendo uma aplicação financeira em que seria ótimo poder utilizar um banco de dados não relacional, pois iria facilitar absurdamente a implementação e a performance.
Por se tratar de um sistema de simulações financeiras centenas de indicadores e formulas matemáticas complexas um banco orientado a objetos seria de grande ajuda.
Pois o que importa são os indicadores calculados pela simulação, os dados da simulação seriam como rascunhos, então não seria necessários tê-los para consultas relacionais.
Só não utilizei um bd NoSql pois a diretriz tecnológica da empresa dona do projeto é rígida e define como baco de dados Oracle ou SQL Server.
Para contornar acabei serializando os dados e gravando em bd Oracle o que para a maioria dos DB´s configuraria um heresia passível de ser condenado a fogueira. Só que no cenário do projeto é a melhor solução. Inclusive facilitando incrivelmente a codificação da aplicação.
O fato da maioria das pessoas não usarem e desconhecerem os db´s NoSql e orientados a objeto, não quer dizer que fracassaram ou não vingaram comercialmente.
Normalmente se opta por usar um bd relaciona por comodidade ou por achar que uma nova tecnologia demandaria uma curva de aprendizado enorme e nem sempre é verdade.
E claro a maioria da área de dados torce o nariz quando se fala em bds não relacionais.
05/03/2015
Mariana Carvalho
05/03/2015
Marisiana Battistella
05/03/2015
Soeuseijothaz
Olha não sou especialista, mas segue o que sei sobre o assunto e infelizmente não da para ser sucinto devido a complexidade do assunto.
Antes de mais nada devemos esclarecer os conceitos envolvidos, pois existe uma grande confusão entre NoSql e BD´s Orientado a Objetos.
Apesar dos BD´s relacionar se tornarem padrão, conseguir uma maturidade e robustez inegável o seu uso apresenta alguns problemas:
--Dados na ordem de dezenas ou centenas de TB - abordagem de cluster é cara
--Poder de crescimento elástico horizontal - controle de transação ACID torna inviável com a elasticidade
--Fácil distribuição dos dados e/ou processamento - SGBD paralelos são caros
--Tipos de dados variados, complexos e/ou semiestruturados - modelo de dados objeto-relacional não resolve todos os requisitos
Neste contexto surgiram os banco de dados que fogem ao paradigma do Objeto Relacional.
NoSql é uma tecnologia que alguns BD´s Orientado a Objeto usam sem a abordagem relacional, não necessariamente sendo orientados a objetos. O NoSQL (Not Only SQL) define que o BD em questão pode, ou não, responder a sentenças SQL. Normalmente estes bancos de dados respondem sentenças em formato próprio ou em outros formatos conhecidos (como o json, por exemplo).
Segundo este artigo da [url:descricao=Wikipédia ]http://en.wikipedia.org/wiki/NoSQL[/url] os BD´s podem ser separados de acordo como cada um armazena a informação:
Como Coluna
--Accumulo, Cassandra, HBase
Como Documento
Clusterpoint, Couchbase, MarkLogic, MongoDB
Como Chave-valor
--Dynamo, FoundationDB, MemcacheDB, Redis, Riak, FairCom c-treeACE
Como Grafo
--Allegro, Neo4J, OrientDB, Virtuoso
Um banco de dados orientado a objeto normalmente guarda um objeto de uma linguagem conhecida, como o Zope Object Database que guarda objetos python, sem necessariamente haver uma transliteração de dados.
Um banco de dados orientado a documento, que as vezes é confundido com um banco de dados orientado a objeto, armazena documentos em algum formato específico. Por exemplo, o MongoDB armazena documentos em formato bson ("Binary JSON", ou "JSON Binário"). Assim para um documento se transformar num objeto, teria que ter uma tradução de dados do documento para o objeto da linguagem em questão.
Quais seriam as vantagens do uso de BD orientado a objetos:
--Consegue-se modelar objetos mais próximo ao mundo real;
--O Progamador pode manter a consistência do ambiente de desenvolvimento ao integrar um banco de dados a um paradigma de linguagem de programação e depois apresentar em um único modelo de projeto;
--Rapides de inserção;
--Utiliza pouco recurso computacional;
--Tem fácil aprendizado (por incrível que pareça depois do choque inicia fica fácil);
--Acesso direto ao Banco de Dados sem utilizar o mapeamento objeto relacional.
As principais aplicações:
--Projetos de engenharia e manufatura, experimentos científicos, industria bélica, telecomunicações, sistemas de informações geográficas e multimídia.
Se não me engano algumas empresas que utilizam BD Orientado a Objetos:
--Twitter, Ricoh, BMW e Boing.
05/03/2015
Mariana Carvalho
Clique aqui para fazer login e interagir na Comunidade :)