Você está na página 1de 6

Curso: TECNOLOGIA EM GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

Disciplina: BANCO DE DADOS II


Professor: CELSO LUIZ DE SOUZA
Aluna: TATIANA JANDIRA RANGEL DAS CHAGAS PEREIRA
NoSQL
NoSQL (Not Only SQL — Não Somente SQL) é um termo genérico que
representa os bancos de dados não relacionais. Enquanto os bancos de
dados relacionais são bem comuns no dia a dia da maioria das empresas,
como por exemplo: Oracle, SQL Server, Mysql, Postgres, etc, muitas pessoas
ainda não sabem exatamente do que se tratam os bancos não relacionais. Os
bancos NoSQL são uma classe definida de banco de dados que fornecem
um mecanismo para armazenamento e recuperação de dados que são
modelados de formas diferentes das relações tabulares usadas nos bancos
de dados relacionais.
Já o termo NoSQL foi usado por Carlo Strozzi em 1998 para nomear seu banco
de dados relacional open source, chamado Strozzi NoSQL, que não expôs a
interface padrão da linguagem de consulta estruturada (SQL), mas ainda era
relacional. Desde então, o termo tem se popularizado bastante e teve até sua
fase de buzzword. Hoje em dia temos inúmeros bancos de dados NoSQL, que
são divididos em 4 classes:
• Chave/Valor (Key-Value) — onde temos o principal representante o
Redis.
• Colunas (Column Family) — onde temos o principal representante o
Cassandra.
• Documento (Document model) — onde temos o principal
representante o MongoDB.
• Grafos (Graph) — onde temos o principal representante o Neo4J.
Json
Por ser um dos formatos mais utilizados para comunicação entre serviços web
(webservices), principalmente quando estamos falando de APIs REST,
entender o que é e como funciona um JSON é primordial para qualquer pessoa
que deseja trabalhar com desenvolvimento de softwares. É um formado de
representação de dados baseado na linguagem de programação Javascript,
daí o nome JavaScript Object Notation. Ou seja, Notação de Objeto em
Javascript.
Vamos pensar no exemplo de um objeto pessoa com nome Pedro e altura
1,90. A representação deste objeto em JSON ficaria assim:
{
"nome": "Pedro",
"altura": 1.90
}
É composto por chave/valor (ou no inglês key/value), as chaves representam
os nomes dos atributos da classe e os valores, bem, são os valores do objeto.
Dificilmente se cria softwares que sejam isolados do mundo, sem comunicação
com outros sistemas. Seja em uma aplicação Web, Mobile, ou até mesmo
Sistemas Embarcados, quase sempre é necessário fazer um software se
comunicar com outro. Quem quer criar aplicações para usuários finais
(aplicativos mobile, web, desktop, etc.) deve se preocupar com os formatos de
dados e os protocolos de comunicação mais comuns para este fim. E neste
contexto dois formatos de dados são os mais usados para comunicação na
WEB. São eles: XML e JSON. Para sistemas mais modernos o JSON é muito
mais utilizado para comunicação do que o XML. Por isso, se você pretende
trabalhar com aplicações mobile e web, entender JSON é de extrema
importância. A sintaxe de um JSON é bem simples como já adiantei
anteriormente, mas agora vamos aprofundar um pouco mais. Vejamos os
elementos básicos do JSON.
1. { e } - delimita um objeto.
2. [ e ] - delimita um array.
3. : - separa chaves (atributos) de valores.
4. , - separa os atributos chave/valor.
Os JSONs são estruturados em objetos e/ou arrays (ou listas). Os objetos são
representados por chaves { } e os arrays são representados por colchetes [ ].
Essa é a primeira coisa que você deve olhar no JSON: Onde estão as chaves e
os colchetes?
Identificando estes dois tipos de estruturas voce já sabe se os dados serão
acessados por chaves (quando for um objeto), ou por índices/números (quando
for um array).
Além disso, tem algumas outras regras, nos objetos os atributos devem seguir
de um caracter : (dois-pontos) e o valor do atributo. E os atributos devem ser
separados por , vírgulas.
Já os arrays só podem ser de um determinado tipo de dados (veja a próxima
sessão), não pode misturar texto com número, por exemplo.
Vetores e Matrizes (arrays)
Veja abaixo um exemplo de objeto e um exemplo de array.
{
"atributo1": "valor1",
"atributo2": 2,
"atributo3": true
}
[2,4,5,6]
Outro ponto interessante é que um objeto JSON pode ter atributos do
tipo array e um array pode ser do tipo objeto ou array. Confuso? Veja o
exemplo abaixo pra entender melhor.
{
"atritutoDoTipoArray" : [1,2,3,54]
}
[{
"a":1
},{
"b":1
}]
Ah! Tanto array quando objeto podem ser vazios em JSON. Assim:
{}
[]
OS TIPOS DE DADOS DO JSON
Além de objeto e array serem considerados os tipos de dados principais. O
JSON também tem os tipos de dados primitivos. Os tipos de dados básicos do
JSON são:
1. string - separados por aspas (duplas ou simples). Ex. "Brasil" ou 'Brasil'
2. número - sem aspas e pode ser inteiro ou real, quando for do tipo real
deve-se usar o caractere . (ponto) para separar a parte inteira das casas
decimais . Ex. 1 (inteiro) ou 23.454 (real)
3. booleano - tipo lógico normal, pode assumir valores true ou false.
4. nulo - este é o valor nulo mesmo. Ex. { "nome" : null }
Veja abaixo um exemplo de objeto JSON com todos estes tipos de dados.
{
"texto" : "Brasil",
"numero" : 23,
"numeroReal" : 54.87,
"booleano": true,
"nulo": null
}
COMO MANIPULAR OBJETOS JSON
Ao longo da sua vida como desenvolvedor você vai precisar trabalhar com
JSON executando algumas tarefas básicas, como:
1. Converter uma String (texto) para um objeto JSON;
2. Converter um objeto JSON para String;
3. Ler os dados dos atributos de um JSON;
4. Inserir e alterar os dados dos atributos de um JSON;
Em algumas linguagens de programação é muito fácil manipular objetos JSON.
PostgreSQL
PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional
baseado no POSTGRES, Versão 4.2, desenvolvido na Universidade da
Califórnia no Departamento de Ciências da Computação em Berkeley, o qual
foi pioneiro em muitos conceitos que vieram a estar disponíveis em alguns
bancos de dados comerciais mais tarde.
O PostgreSQL é um descendente open-source do código original de Berkeley
code.
O PostgreSQL é um banco de dados objeto-relacional (sem relação com
linguagens de programação orientadas a objetos), em que cada coisa criada é
tratada como um objeto, tais como bancos de dados, tabelas, views, triggers,
etc.
Algumas características modernas do PostgreSQL:
Consultas complexas;
Chaves estrangeiras (foreign keys);
Gatilhos (triggers);
Visões (views);
Integridade transacional.
O PostgreSQL pode ser estendido pelo usuário para muitos propósitos, por
exemplo adicionando novos:
Tipos de dados;
Funções;
Operadores;
Funções agregadas;
Métodos de indexação;
Linguagens procedurais.
Open Source e Licenciamento
O PostgreSQL, é 100% comunitário. Devido à sua licença liberal (PostgreSQL
License) , baseada nas licenças BSD e MIT, o PostgreSQL pode ser usado,
modificado, e distribuído por qualquer um gratuitamente para qualquer
propósito, seja privado, comercial, ou acadêmico.
PostgreSQL na Cloud
O PostgreSQL tornou-se o banco de dados relacional de código aberto
preferencial de muitas empresas e startups e ganhou muito mercado com o
crescimento exponencial da adoção de Cloud Computing. O Cloud SQL para
PostgreSQL é o serviço de banco de dados gerenciado da GCP (Google Cloud
Platform) que ajuda a configurar, manter, gerenciar e administrar os bancos de
dados relacionais PostgreSQL. O Amazon RDS (AWS) facilita a configuração,
a operação e a escalabilidade de implantações de PostgreSQL na nuvem. O
Amazon RDS gerencia tarefas administrativas complexas e demoradas, como
instalação e atualização do software PostgreSQL, gerenciamento do
armazenamento, replicação para alta disponibilidade e throughput de leitura, e
backups para recuperação de desastres. O Azure Database for PostgreSQL é
um banco de dados como serviço totalmente gerenciado com recursos
internos, como alta disponibilidade e inteligência.
Investimento
É melhor investir desde o início na solução livre PostgreSQL. O suporte ao
PostgreSQL costuma ser muito rápido e ágil, pois a comunidade é muito
dinâmica. Dúvidas são respondidas em questão de horas (às vezes minutos) e
bugs são corrigidos em várias versões minoritárias anuais, aproximadamente
uma por mês. Todos os anos uma nova versão majoritária é lançada com
dezenas de novas funcionalidades. As versões têm ciclo de vida de 5 anos.
Outras Arquiteturas
O PostgreSQL talvez seja o banco de dados que, entre todos, suporta a maior
quantidade de arquiteturas de hardware e software do mercado. Seu sistema
operacional e sua linguagem de programação de escolha provavelmente
funcionarão com o PostgreSQL. PostgreSQL é tendência positiva. Não morrerá
por causa de uma empresa sozinha. Cresce em uso e funcionalidades todos os
anos. Melhora o desempenho a cada versão. Tem suporte plural e legítimo,
comunitário ou proprietário.
Cases Nacionais
Grandes cases de uso público no Brasil: Tribunal de Justiça, Caixa Econômica
Federal, Ministério da Saúde (Datasus), Serpro, Banco do Brasil, Celepar,
Metrô de São Paulo, projeto SIVAM (Sistema de Vigilância da Amazônia).

Mineração de Dados
Mineração de dados (em inglês, data mining) é o processo de encontrar
anomalias, padrões e correlações em grandes conjuntos de dados para prever
resultados. Através de uma variedade de técnicas, podemos usar essas
informações para aumentar a renda, cortar custos, melhorar o relacionamento
com os clientes, reduzir riscos e mais.
O processo de minerar dados para descobrir conexões escondidas e prever
tendências futuras tem uma longa história. Por vezes chamado de "descoberta
de conhecimento em bancos de dados", o termo "mineração" só foi cunhado
nos anos 1990, mas sua base compreende três disciplinas científicas
entrelaçadas que existem há tempos: estatística (o estudo numérico das
relações entre dados), inteligência artificial (inteligência exibida por softwares
e/ou máquinas, que se assemelha à humana) e machine learning (algoritmos
que podem aprender com dados para realizar previsões). A tecnologia de
mineração de dados continua evoluindo para acompanhar o potencial ilimitado
do big data e a computação de baixo custo. Na última década, os avanços no
poder e na velocidade de processamento nos permitiram ir de práticas
manuais, tediosas e lentas para análises de dados rápidas, fáceis e
automatizadas. Quanto mais complexos forem os conjuntos de dados
coletados, mais potencial haverá para deles extrair insights relevantes.
Varejistas, bancos, fabricantes, operadoras de telecomunicações, seguradoras
etc, estão usando a mineração de dados para descobrir relações entre tudo —
desde preços, promoções e demografias até como a economia, o risco, a
concorrência e as mídias sociais estão afetando seus modelos de negócio,
receitas, operações e relacionamentos com os clientes.
Qual a importância da mineração de dados?
A mineração de dados permite que:
Separe todos os ruídos caóticos e repetitivos em seus dados;
Entenda o que é relevante para, então, fazer um bom uso dessa informação
para avaliar os resultados possíveis;
Acelere o ritmo de tomadas de decisões bem-informadas.

Você também pode gostar