Tipos de bancos de dados NoSQL

Banco de dados não relacionais ou distribuídos, tem como princípio básico não possuírem o conceito de modelagem por tabelas como o relacional, diferenciam-se pela sua utilização horizontal, através da distribuição de dados em diferentes servidores. São indicados para aplicações projetadas com alta carga de dados, onde o modelo relacional não consegue atender. Para a maioria das aplicações de grande escala, a disponibilidade e a tolerância são mais importantes que a consistência, sendo as características BASE mais fáceis de serem alcançadas do que as ACID. Um caso importante a ser citado foi o Banco NoSQL CassandraDB, que inicialmente foi desenvolvido para um recurso do Facebook.

Os bancos de dados NoSQL não são todos iguais. Há grandes diferenças no que se refere como a forma de armazenamento e conceitos de modelagem. Basicamente se subdividem em técnicas de armazenamento diferentes. Há 4 tipos básicos de bancos de dados NoSQL, a seguir eles são descritos.

NoSQL orientado a documento: consiste em uma estrutura baseada em uma coleção de documentos, sendo um documento um objeto que contém um código único com um conjunto de informações, podendo ser strings, documentos aninhados ou ainda listas. Inicialmente pode ser semelhante ao modelo de chave-valor(Key-value), no entanto, diferencia-se m ter um conjunto de documentos e cada um destes recebe um identificador único, assim como as chaves, dentro da coleção. Ao se armazenar os dados em JSON, o desenvolvimento é facilitado, pois há suporte a vários tipos de dados. Exemplos destes são o MongoDB e CouchBase.

Figura 1 – organização de um NoSQL orientado a documento.

 

NoSQL Key-Value (chave-valor): consiste em uma modelagem que indexa os dados a uma chave. Ao se armazenar os dados, sua forma de procura se dá por uma base similar a um dicionário, onde estes possuem uma chave. Esta forma de armazenamento é livre de “schema”, permite a inserção de dados em tempo de execução, sem conflitar o banco e não influenciando na disponibilidade, pois seus valores são isolados e independentes entre si. Alguns exemplos são: Oracle NoSQL, Riak, Azure Table Storage, BerkeleyDB e Redis.

Figura 2 – Exemplo de organização de um banco de dados NoSQL chave-valor.

 

NoSQL representado por Grafos: Este modelo armazenamento utiliza três componentes básicos: um grafo para representar um dado, arrestas ou ligações para representar a associação entre os grafos e os atributos (ou propriedades) dos nós e relacionamentos. Modelo altamente usado onde exijam dados fortemente ligados. Este modelo é vantajoso onde há consultas complexas frente aos outros modelos, pois seu diferencial é o ganho de performance. Alguns exemplos são: Neo4J, OrientedDB, GraphBase e InfiniteGraph.

Figura 3 – Exemplo de organização de um banco de dados NoSQL orientado a grafos.

 

NoSQL modelo Colunar: Este modelo foi inicialmente desenvolvido baseado no Big Table da Google. Basicamente consiste em uma Tabela, onde nela possui várias famílias de colunas, e dentro destas famílias, colunas onde estão as propriedades.  Neste modelo, as entidades são representadas por tabelas e os dados gravados em disco modelo caracteriza-se por indexar um dado por uma Tripla, que consiste em linha, coluna e timestramp, sendo este o que permite verificar as diferentes versões de um dado. Os valores das propriedades das colunas podem são semelhantes ao modelo “Key-Value”.  São bancos de dados indicados para mídias sociais e problemas que envolvem consultas complexas.

Figura 4 – Exemplo de organização de um banco de dados NoSQL orientado a Colunas.

 

Há também o Hadoop, que é um framework paralelo no processamento de dados que tem sido usado para redução de mapas e Jobs. Diferentemente do Spark que armazena os dados em memória, o Hadoop armazena em disco e utiliza a técnica de replicação para garantir tolerância a falhas. Foi projetado para funcionar desde um único servidor até um cluster com milhares de máquinas. È uma solução comcebida para detectar e tartar falhas na camada de aplicação, fornecendo um serviço de alta disponibilidade baseado em um grid de computadores. No entanto o Hadoop possui uma grande latência para as consultas. Há dois componentes principais do Hadoop: Hadoop Distributed File System (HDFS) e o Mapreduce.

Figura 5 – Exemplo de funcionamento do Hadoop.

 

Referências Bibliográficas.

https://pt.slideshare.net/Celio12/trabalho-no-sql-aricelio-de-souza – acessado 17/04/2017

Nosql Essencial – Um Guia Conciso Para o Mundo Emergente da Persistência Poliglota – Martin Fowler, Pramod J. Sadalage – ISBN: 978-85-7522-338-3 – Ano: 2013

https://dzone.com/articles/a-primer-on-open-source-nosql-databases – acessado 17/04/2017

http://aptuz.com/blog/is-apache-spark-going-to-replace-hadoop/ – acessado em 13/05/2017

https://www.ibm.com/developerworks/br/data/library/techarticle/dm-1209hadoopbigdata/   acessado em 12/05/2017

O que é engenharia social?

engSocial

Engenharia Social, o nome é até bonito, mas está entre os maiores problemas das áreas de TI. O termo ficou conhecido em 1990 através do famoso hacker Kevin Mitnick, e é utilizado para descrever um método de ataque, onde se faz uso da persuasão, através da ingenuidade ou explorando a confiança das pessoas, para se obter informações sigilosas ou importantes de empresas ou sistemas informações que podem ser utilizadas para ter algum tipo acesso não autorizado.

Continue lendo “O que é engenharia social?”

Design Patterns (Padrões de Projeto)

 

dpNo artigo irei mostrar as principais funções do Design Patterns (padrões de projeto) qual é objetivo da ferramenta e o que ela significa para a empresa.
Padrões de projetos  são soluções para problemas que alguém um dia teve e resolveu aplicando um modelo que foi documentado e que você pode adaptar integralmente ou de acordo com necessidade de sua solução. Vou abordar neste artigo o padrão de modelo MVC que tem por objetivo básico separar a lógica de negócio da apresentação. Continue lendo “Design Patterns (Padrões de Projeto)”

Análise de Riscos

Segurança (Cadeado e teclado)Com a velocidade que as novas tecnologias vêm surgindo e com o aumento dispersão da informação, as empresas precisam garantir que suas informações estejam sempre seguras. O terno analise de riscos define identificar e tratar um risco.

Uma boa análise de riscos previne a dor de cabeça de possíveis problemas que poderão ocorrer no futuro, pois com essa análise é possível realizar um levantamento das áreas que poderão acarretar risco e tomar medidas para que elas não venham a acontecer. Continue lendo “Análise de Riscos”

Sistemas de Controle de Acesso e Identificação

controle-de-acesso-biometrico

Em busca de qualidade, rapidez e eficiência, as empresas cada vez mais estão dispostas a investirem em sistemas de identificação e controle de acesso que, além de facilitarem, trazem segurança ao processo.

Mas será que os sistemas disponíveis no mercado estão suprindo essa necessidade de segurança? Para melhor compreender esses sistemas, neste artigo será descrito o que são e como funcionam os sistemas de controle de acesso que utilizam a tecnologia de identificação biométrica e cartões de proximidade. Continue lendo “Sistemas de Controle de Acesso e Identificação”

O que são botnets? Como proteger seu computador contra a infecção de botnets?

Artigo_01Conhecer a ameaça, e o que pode nos afetar diretamente e tomar as devidas ações de segurança para evitar transtornos, um dos temas de segurança em sistemas de informação é o que fazer se encontrar uma infecção de botnes em seu computador e conhecer seus aliados DOS, DDOS e Flood. Continue lendo “O que são botnets? Como proteger seu computador contra a infecção de botnets?”

O que são Antivírus? como funcionam?

VirusA partir da popularização dos computadores pessoais, surgiu uma das principais ameaças do mundo virtual: o malware, softwares criados com o intuito de causar algum dano aos computadores em que se infiltrem.

Sob a forma de vírus, worms, trojans, spywares, e outras tantas ameaças, esses softwares são responsáveis pela exclusão de arquivos importantes, roubo de dados pessoais como senhas de banco, sobrecarga no tráfego de dados em redes, etc.

Para combater essas pragas digitais, é essencial a utilização de um bom antivírus, e o funcionamento dessa defesa muito importante ajuda a elucidar um pouco sua utilização. Continue lendo “O que são Antivírus? como funcionam?”

O que é um ataques de força bruta? Como se proteger?

Ao utilizarmos uma aplicação, computador ou qualquer dispositivo que esteja protegido por um usuário e senha estamos sendo alvos de um ataque de força bruta. Neste artigo será demostrado as formas de ataque e como se proteger delas.

O ataque de força bruta é um método de adivinhar um usuário e senha por meio de tentativas, normalmente tem por objetivo o acesso a alguma área restrita com os privilégios e liberações de acesso do usuário.

Os ataques podem ser feitos de duas maneiras, de forma manualmente e por meio de ferramentas automatizadas, que essas por sua vez podem diminuir o tempo para descobrir a chave de entrada do sistema. Continue lendo “O que é um ataques de força bruta? Como se proteger?”

Segurança relacionada à geolocalização

Quando estou compartilhando com o mundo ou meu circulo de amigos minha atual posição estou sendo descolado ou desligado aos perigos que me cercam?

Atualmente dispomos de vários modos de informar a uma rede social nossa posição física em tempo real. Para não perder foco, vou elucidar sobre a mais popular: o foursquare. Também conhecido em gírias por 4SQ, essa ferramenta não leva o titulo de mais popular de graça.

Diversos itens tornam a ferramenta interessante. Segundo o próprio site, acumula uma marca de mais de 3 bilhões de check’in e a data de nascimento vem de 2009. É uma ferramenta colaborativa. Continue lendo “Segurança relacionada à geolocalização”

Boas práticas de segurança no desenvolvimento de jogos

A história dos jogos, é contada por homens e mulheres insaciáveis por inovação e criatividade, mas também por indivíduos que utilizaram destas hábeis pessoas para alavancar oportunidades capitalistas. O fato não é negativo mas sim um sinônimo de castigo.

Não é fácil desenvolver, criar e inovar, com a bendita pressão capitalista como alicerce do negócio. Tudo isso fez e faz parte da rotina de todos que direto ou indiretamente participam. Continue lendo “Boas práticas de segurança no desenvolvimento de jogos”

O que é Spam?

SPAMA segurança eletrônica é um assunto cada vez mais discutido por todos, desde especialistas até o usuário menos empolgado com a internet. Os motivos são vários, e entre eles esta o SPAM, considerado uma verdadeira praga cibernética. É sobre esta praga que este artigo trata, o que é, como se defender e alguns dos algoritmos utilizados no seu combate. Continue lendo “O que é Spam?”

Backups em Cloud – Vantagens e Desvantagens

Ao falarmos em armazenamento de dados em redes locais, logo lembramos que eles oferecem alto desempenho e disponibilidade de armazenamento acessível via interfaces padrão do setor.

Porém, quando o armazenamento de dados possui um volume considerável, o mesmo acaba se tornando caro e a segurança dessas informações fica cada vez mais preocupante, tendo em vista o seu armazenamento em uma rede local.

O que faz com que esse tipo de armazenamento fique caro, não é apenas o gasto com equipamentos físicos, mas também o gasto com ambiente apropriado para mantê-los e com pessoas para gerenciar esse armazenamento e a sua segurança. Continue lendo “Backups em Cloud – Vantagens e Desvantagens”

O que são os Cyber Attacks ?

Esse texto tem como objetivo mostrar como se originam os ataques cibernéticos, por quais meios e como podemos nos prevenir diante a essas ameaças.

Podemos dizer que o ataque cibernético basicamente é uma modalidade da guerra cibernética, na qual ela atinge a estrutura crítica de uma organização ou governo. Os ataques destinados principalmente a grandes organizações e governos, os ataques tem como principal fim, espionagem, terrorismo e baixa dos serviços dos oponentes.
Continue lendo “O que são os Cyber Attacks ?”