04:47
0
A criação de uma arquitetura de software passa antes de tudo por meio de uma escolha de plataformas tecnológicas e componentes, ao desenhar soluções a expectativa é proporcionar um ambiente confiável, seguro e que atenda as necessidades de negócio. Nas grandes cooporações é uma realidade a quantidade de dados tratados serem enormes, o que causa um enorme problema para TI como armazenar e disponibilizar para consulta estes dados de maneira eficiente?
Para armazenar estas informações as soluções mais utilizadas recentemente são NOSQL e Banco Relacional seguindo uma lista de produtos para suportar esta solução.
Banco Relacional:
- Oracle
- SqlServer
- Teradata
- Mysql
- Exdata
- Netezza
- MariaDB
- Sybase
- DB2
Banco NOSQL:
# Documento
- RavenDB
- CouchDB
- MongoDB
- BaseX
# Chave/Valor (Key/Value)
- Memcachedb
- Project Voldemort
- Redis
- SimpleDB
- Hbase
- Tabular
- Cassandra
- Hypertable
# Grafos
- DEX
- Neo4j

Como não tenho tempo / conhecimento para explicar todas estas soluções aconselho uma olhada no site do produto ou velho e bom google para saber onde elas são melhor utilizada..
Então devemos fazer um filtro que sem duvida começa pela expectativa do negocio passa por nossa preferencia e conhecimento e experiências boas ou ruins do passado e volta a ter um pequeno leque de opções que confiamos e atende ao negocio.
Uma vez identificadas que ambas as soluções são aceitas o negocio deve nos auxiliar respondendo suas expectativas podemos olhar para o negocio e responder perguntas como :
- Qual o tempo de desenvolvimento esperado?
- Haverá grande crescimento (Escalabilidade)?,
- Haverá muitas mudanças (Manutenibilidade),
- O dado será sempre integro (Confiabilidade),
- Disponibilidade
- Custo
Com todo o conhecimento em mão podemos decidir então por uma ou por outra solução mas antes de dar o veredito é importante salientar que em um único Sistema/Solução podemos utilizar as duas soluções.
Minha experiência com os banco relacionais acima foram muito boas incluindo o armazenamento de centenas de Teras em NoSQL, realizei bastantes testes com Hbase(Hadoop) , MongoDB e estou satisfeito com uma solução utilizando Prevayler. para fazer armazenamento off-line na maquina do usuário.

Glossário:
Banco de Dados Relacional é um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados (wikipedia)
NoSQL é um termo genérico para uma classe definida de banco de dados não-relacionais que rompe uma longa história de banco de dados relacionais com propriedades ACID. Outros termos equivalentes para esta categoria de bancos é NF², N1NF (non first normal form), nested relational, dimensional, multivalue, free-form, schemaless, document database e MRNN (Modelo Relacional Não Normalizado). (wikipedia)
Prevayler: é um software livre escrito predominantemente em Java. É usado para persistência de dados transparente, tolerante a falhas e possui uma arquitetura de balanceamento de carga para Plain Old Java Objects (POJOs). (wikipedia)
Postagem mais recente
Previous
This is the last post.

0 comentários:

Postar um comentário