O documento discute as APIs Thrift e CQL do Cassandra, explicando que a Thrift era mais complexa e difícil de usar, enquanto a CQL foi desenvolvida para simplificar o acesso ao Cassandra, trazendo uma sintaxe semelhante ao SQL. A CQL tornou-se a API padrão para comunicação com o Cassandra a partir da versão 1.2, sendo usada no projeto Adsever para armazenamento de dados.
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 3/8Emiliano Barbosa
Este documento fornece uma introdução aos fundamentos de SQL usando o Microsoft SQL Server 2019. Ele discute objetivos de aprendizado SQL, definição e manipulação de dados, diagramas de entidade-relacionamento, armazenamento de procedimentos e criação de tabelas.
1) O documento discute fundamentos de SQL Server 2005, incluindo armazenamento de procedimentos e definição de dados.
2) É ensinado como criar procedimentos armazenados e tabelas, e como tratar erros em transações.
3) Exemplos demonstram a criação de procedimentos, tabelas, transações e tratamento de erros.
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
O documento apresenta uma introdução ao PostgreSQL, abordando seu breve histórico, uso no Brasil, recursos como subconsultas e linguagens procedurais, ambientes de gerenciamento, criação de bancos de dados e usuários, tipos de dados, criação de tabelas, inserção de dados, remoção de registros, busca de registros e exercícios de fixação.
O documento discute restrições em bancos de dados SQL, incluindo chave primária, chave estrangeira, valor padrão e único. Ele fornece exemplos de como configurar essas restrições em tabelas para manter a integridade referencial e de domínio.
1. O documento descreve os principais comandos DDL (Data Definition Language) do MySQL para criar, alterar e excluir bancos de dados, tabelas e views.
2. Os comandos CREATE, ALTER e DROP são explicados em detalhes com exemplos de como criar tabelas, adicionar chaves primárias e estrangeiras, modificar estruturas de tabelas e excluir bancos de dados e tabelas.
3. As opções ON DELETE e ON UPDATE são discutidas no contexto de configurar o comportamento de chaves estrangeiras quando há exclusão ou
O documento apresenta os principais comandos SQL do MySQL para criação e manipulação de bancos de dados, tabelas, campos e registros. Inclui instruções para criação de tabelas, inserção, consulta e remoção de dados, além de descrever os tipos de dados suportados como numéricos, datas, strings e blobs.
Criação de log de ações através do banco - PostgreSQLMarcos Thomaz
O documento descreve como criar logs de ações através do banco de dados PostgreSQL. Ele discute como criar triggers e functions para registrar automaticamente inserções, alterações e exclusões em tabelas, armazenando as informações em uma tabela de log central. O documento também aborda como lidar com problemas como gerar logs para múltiplas tabelas e armazenar valores antigos e novos em casos de atualização.
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 3/8Emiliano Barbosa
Este documento fornece uma introdução aos fundamentos de SQL usando o Microsoft SQL Server 2019. Ele discute objetivos de aprendizado SQL, definição e manipulação de dados, diagramas de entidade-relacionamento, armazenamento de procedimentos e criação de tabelas.
1) O documento discute fundamentos de SQL Server 2005, incluindo armazenamento de procedimentos e definição de dados.
2) É ensinado como criar procedimentos armazenados e tabelas, e como tratar erros em transações.
3) Exemplos demonstram a criação de procedimentos, tabelas, transações e tratamento de erros.
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
O documento apresenta uma introdução ao PostgreSQL, abordando seu breve histórico, uso no Brasil, recursos como subconsultas e linguagens procedurais, ambientes de gerenciamento, criação de bancos de dados e usuários, tipos de dados, criação de tabelas, inserção de dados, remoção de registros, busca de registros e exercícios de fixação.
O documento discute restrições em bancos de dados SQL, incluindo chave primária, chave estrangeira, valor padrão e único. Ele fornece exemplos de como configurar essas restrições em tabelas para manter a integridade referencial e de domínio.
1. O documento descreve os principais comandos DDL (Data Definition Language) do MySQL para criar, alterar e excluir bancos de dados, tabelas e views.
2. Os comandos CREATE, ALTER e DROP são explicados em detalhes com exemplos de como criar tabelas, adicionar chaves primárias e estrangeiras, modificar estruturas de tabelas e excluir bancos de dados e tabelas.
3. As opções ON DELETE e ON UPDATE são discutidas no contexto de configurar o comportamento de chaves estrangeiras quando há exclusão ou
O documento apresenta os principais comandos SQL do MySQL para criação e manipulação de bancos de dados, tabelas, campos e registros. Inclui instruções para criação de tabelas, inserção, consulta e remoção de dados, além de descrever os tipos de dados suportados como numéricos, datas, strings e blobs.
Criação de log de ações através do banco - PostgreSQLMarcos Thomaz
O documento descreve como criar logs de ações através do banco de dados PostgreSQL. Ele discute como criar triggers e functions para registrar automaticamente inserções, alterações e exclusões em tabelas, armazenando as informações em uma tabela de log central. O documento também aborda como lidar com problemas como gerar logs para múltiplas tabelas e armazenar valores antigos e novos em casos de atualização.
O documento fornece dicas para otimizar queries no MySQL, incluindo usar EXPLAIN para analisar planos de execução, analisar tabelas com ANALYZE TABLE, comparar colunas do mesmo tipo, isolar colunas indexadas em comparações, fornecer sugestões ao otimizador, esvaziar tabelas com TRUNCATE, escolher tipos de dados adequados e carregar dados de forma eficiente.
O documento fornece uma introdução aos fundamentos do SQL Server 2005, incluindo objetivos de aprendizagem, conteúdo sobre definição e manipulação de dados, recuperação de dados usando cláusulas SELECT, FROM, WHERE e JOIN, e conceitos básicos de bancos de dados e modelagem entidade-relacionamento.
O documento descreve recursos avançados de bancos de dados relacionais como DDL e DML. Na parte I, é relembrado o DDL e apresentadas novidades como criação de domínios, índices, gatilhos, procedimentos, funções e visões. Na parte II, o foco é o DML, relembrando consultas SQL e apresentando cláusulas como BETWEEN, JOIN, GROUP BY e funções agregadas.
O documento discute os conceitos de normalização de banco de dados, incluindo as primeiras, segunda e terceira formas normais. Também explica os comandos SQL DISTINCT, agregação com GROUP BY e HAVING e a união de consultas com UNION.
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8Emiliano Barbosa
Este documento fornece uma introdução aos fundamentos de SQL, incluindo definição de dados, manipulação de dados, recuperação de dados e conceitos básicos de banco de dados. Ele também discute tópicos como cláusulas SELECT, FROM, WHERE, INSERT e transações.
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)Gabriel Bugano
O documento descreve como configurar um banco de dados MySQL e criar uma página web para inserir, alterar e excluir registros no banco de dados. Ele explica como configurar o banco de dados, criar tabelas e inserir dados, e como conectar a página web ao banco de dados usando SqlDataSource para permitir operações CRUD (create, read, update, delete).
O documento apresenta os principais conceitos e comandos da linguagem SQL, incluindo consultas, manipulação de tabelas, junções, subconsultas, views, triggers e stored procedures.
O documento discute PHP e MySQL, explicando que aplicações precisam salvar informações em bancos de dados e que PHP oferece suporte nativo ao MySQL. Ele também fornece instruções sobre como configurar o PHP para usar MySQL, criar bancos de dados no MySQL usando PHPMyAdmin e realizar operações básicas como inserção, consulta, atualização e remoção de dados usando funções PHP.
Conceitos inicias de banco de dados Mysqlbinhoetec
Este documento apresenta os principais conceitos de bancos de dados relacionais e da linguagem SQL. Ele descreve o que é um banco de dados relacional, tabelas, linhas, colunas e os principais tipos de dados suportados. Também explica os subconjuntos DML, DDL, DQL da linguagem SQL e seus usos. Por fim, fornece um exemplo prático de como criar um banco de dados e tabela usando comandos SQL.
1. O documento discute comandos da linguagem SQL como SELECT, INSERT, UPDATE e DELETE para manipular dados em bancos de dados. Ele também descreve tipos de dados, limites do Oracle RDBMS e funções.
2. São apresentados exemplos de uso de comandos SQL como SELECT, WHERE, ORDER BY, GROUP BY e HAVING para realizar consultas, ordenações e agrupamentos de dados.
3. O documento explica funções numéricas, de data, caracteres e de conversão que podem ser usadas nas consultas SQL para processar e formatar dados retornados.
O documento apresenta exemplos de comandos SQL para permitir que usuários informem valores para executar consultas de forma dinâmica, como entrada de números, strings e datas para filtros "where". É mostrado como criar scripts SQL para receber dados do usuário e formatar saídas, incluindo conversão de tipos e formatos.
O documento apresenta exemplos de comandos SQL para permitir que usuários informem valores para executar consultas de forma dinâmica, como entrada de números, strings e datas para filtros "where". É mostrado como criar scripts SQL para receber dados do usuário e formatar saídas, como conversão de datas.
O documento discute os conceitos de normalização de banco de dados, incluindo a primeira, segunda e terceira formas normais. Explica que a primeira forma normal requer que cada campo contenha um único valor e não valores repetidos ou agrupados. A segunda forma normal exige que todos os campos não-chave dependam da chave primária completa. E a terceira forma normal requer que campos não dependam de outras chaves.
Existem 4 categorias principais de bancos NoSQL: chave-valor, documento, grafo e família de colunas. O Apache Cassandra é um banco de dados NoSQL altamente escalável e tolerante a falhas que armazena dados no formato de famílias de colunas e oferece eventual consistência.
O documento discute técnicas de teste de software, como o desenvolvimento guiado por testes (TDD) e o uso de frameworks de mock como o Mockito. Ele explica como criar mocks e espiões para isolar unidades de teste e validar comportamentos. Também aborda ferramentas do Spring para testar controllers e simular requisições HTTP.
O documento descreve como o framework Apache Camel pode ser usado para integrar sistemas e bases de dados em uma publicação, fornecendo uma rota de integração legível. O Camel permite a interação com diversos tipos de camadas de transporte e pode ser inserido em aplicações Java para integrar uma publicação que realiza ETL entre bases de dados e um motor de busca.
Redis is an open source, in-memory data structure store that can be used as a database, cache, or message broker. It supports data structures like strings, hashes, lists, sets, sorted sets with range queries and atomically incremented counters. Data can be persisted to disk and replicated to other servers for high availability. Redis is often used for caching, real-time analytics, and messaging applications due to its speed and flexibility.
O documento discute princípios de código limpo, incluindo escrever código com nomes significativos e descritivos, manter funções pequenas e focadas em uma única tarefa, e estruturar o código em classes pequenas com responsabilidades bem definidas.
Slides about ITCSS – an Inverted Triangle CSS architecture which will allow you to write maintainable and scalable stylesheets without pain.
EDIT:
I teamed with Artur Kot (https://twitter.com/arturkot) to update and enrich the presentation. Enjoy!
O documento fornece dicas para otimizar queries no MySQL, incluindo usar EXPLAIN para analisar planos de execução, analisar tabelas com ANALYZE TABLE, comparar colunas do mesmo tipo, isolar colunas indexadas em comparações, fornecer sugestões ao otimizador, esvaziar tabelas com TRUNCATE, escolher tipos de dados adequados e carregar dados de forma eficiente.
O documento fornece uma introdução aos fundamentos do SQL Server 2005, incluindo objetivos de aprendizagem, conteúdo sobre definição e manipulação de dados, recuperação de dados usando cláusulas SELECT, FROM, WHERE e JOIN, e conceitos básicos de bancos de dados e modelagem entidade-relacionamento.
O documento descreve recursos avançados de bancos de dados relacionais como DDL e DML. Na parte I, é relembrado o DDL e apresentadas novidades como criação de domínios, índices, gatilhos, procedimentos, funções e visões. Na parte II, o foco é o DML, relembrando consultas SQL e apresentando cláusulas como BETWEEN, JOIN, GROUP BY e funções agregadas.
O documento discute os conceitos de normalização de banco de dados, incluindo as primeiras, segunda e terceira formas normais. Também explica os comandos SQL DISTINCT, agregação com GROUP BY e HAVING e a união de consultas com UNION.
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8Emiliano Barbosa
Este documento fornece uma introdução aos fundamentos de SQL, incluindo definição de dados, manipulação de dados, recuperação de dados e conceitos básicos de banco de dados. Ele também discute tópicos como cláusulas SELECT, FROM, WHERE, INSERT e transações.
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)Gabriel Bugano
O documento descreve como configurar um banco de dados MySQL e criar uma página web para inserir, alterar e excluir registros no banco de dados. Ele explica como configurar o banco de dados, criar tabelas e inserir dados, e como conectar a página web ao banco de dados usando SqlDataSource para permitir operações CRUD (create, read, update, delete).
O documento apresenta os principais conceitos e comandos da linguagem SQL, incluindo consultas, manipulação de tabelas, junções, subconsultas, views, triggers e stored procedures.
O documento discute PHP e MySQL, explicando que aplicações precisam salvar informações em bancos de dados e que PHP oferece suporte nativo ao MySQL. Ele também fornece instruções sobre como configurar o PHP para usar MySQL, criar bancos de dados no MySQL usando PHPMyAdmin e realizar operações básicas como inserção, consulta, atualização e remoção de dados usando funções PHP.
Conceitos inicias de banco de dados Mysqlbinhoetec
Este documento apresenta os principais conceitos de bancos de dados relacionais e da linguagem SQL. Ele descreve o que é um banco de dados relacional, tabelas, linhas, colunas e os principais tipos de dados suportados. Também explica os subconjuntos DML, DDL, DQL da linguagem SQL e seus usos. Por fim, fornece um exemplo prático de como criar um banco de dados e tabela usando comandos SQL.
1. O documento discute comandos da linguagem SQL como SELECT, INSERT, UPDATE e DELETE para manipular dados em bancos de dados. Ele também descreve tipos de dados, limites do Oracle RDBMS e funções.
2. São apresentados exemplos de uso de comandos SQL como SELECT, WHERE, ORDER BY, GROUP BY e HAVING para realizar consultas, ordenações e agrupamentos de dados.
3. O documento explica funções numéricas, de data, caracteres e de conversão que podem ser usadas nas consultas SQL para processar e formatar dados retornados.
O documento apresenta exemplos de comandos SQL para permitir que usuários informem valores para executar consultas de forma dinâmica, como entrada de números, strings e datas para filtros "where". É mostrado como criar scripts SQL para receber dados do usuário e formatar saídas, incluindo conversão de tipos e formatos.
O documento apresenta exemplos de comandos SQL para permitir que usuários informem valores para executar consultas de forma dinâmica, como entrada de números, strings e datas para filtros "where". É mostrado como criar scripts SQL para receber dados do usuário e formatar saídas, como conversão de datas.
O documento discute os conceitos de normalização de banco de dados, incluindo a primeira, segunda e terceira formas normais. Explica que a primeira forma normal requer que cada campo contenha um único valor e não valores repetidos ou agrupados. A segunda forma normal exige que todos os campos não-chave dependam da chave primária completa. E a terceira forma normal requer que campos não dependam de outras chaves.
Existem 4 categorias principais de bancos NoSQL: chave-valor, documento, grafo e família de colunas. O Apache Cassandra é um banco de dados NoSQL altamente escalável e tolerante a falhas que armazena dados no formato de famílias de colunas e oferece eventual consistência.
O documento discute técnicas de teste de software, como o desenvolvimento guiado por testes (TDD) e o uso de frameworks de mock como o Mockito. Ele explica como criar mocks e espiões para isolar unidades de teste e validar comportamentos. Também aborda ferramentas do Spring para testar controllers e simular requisições HTTP.
O documento descreve como o framework Apache Camel pode ser usado para integrar sistemas e bases de dados em uma publicação, fornecendo uma rota de integração legível. O Camel permite a interação com diversos tipos de camadas de transporte e pode ser inserido em aplicações Java para integrar uma publicação que realiza ETL entre bases de dados e um motor de busca.
Redis is an open source, in-memory data structure store that can be used as a database, cache, or message broker. It supports data structures like strings, hashes, lists, sets, sorted sets with range queries and atomically incremented counters. Data can be persisted to disk and replicated to other servers for high availability. Redis is often used for caching, real-time analytics, and messaging applications due to its speed and flexibility.
O documento discute princípios de código limpo, incluindo escrever código com nomes significativos e descritivos, manter funções pequenas e focadas em uma única tarefa, e estruturar o código em classes pequenas com responsabilidades bem definidas.
Slides about ITCSS – an Inverted Triangle CSS architecture which will allow you to write maintainable and scalable stylesheets without pain.
EDIT:
I teamed with Artur Kot (https://twitter.com/arturkot) to update and enrich the presentation. Enjoy!
O documento discute o modelo de dados do Cassandra, incluindo:
1) Keyspaces, column families e indexes para organizar os dados;
2) Técnicas como denormalização e agregação para melhor desempenho;
3) Coleções como list, set e map para armazenar dados complexos.
O documento discute agrupamento e resumo de dados em bancos de dados. Ele explica como usar funções agregadas como COUNT, SUM, AVG, MAX e MIN com cláusulas GROUP BY e HAVING para agrupar e filtrar dados resumidos. Também aborda o tratamento de valores nulos e como aplicar funções agregadas de diferentes maneiras.
O documento apresenta uma introdução ao banco de dados Apache Cassandra. Explica o que é Cassandra, sua arquitetura, modelo de dados e como funciona. Também fornece exemplos de uso no serviço de assinaturas da Movile e dicas para aplicação do Cassandra.
Este documento fornece uma introdução à linguagem SQL (Structured Query Language). Ele descreve o modelo relacional de dados, a definição da linguagem SQL e seus principais comandos para manipulação de dados, definição de esquemas e controle de acesso.
Este documento fornece uma introdução à linguagem SQL, incluindo sua história, propósito e principais comandos. Apresenta o modelo relacional de dados e discute os comandos CREATE TABLE, VIEWS e REGRAS DE INTEGRIDADE que garantem a consistência dos dados.
Este documento discute SQL e o uso de bancos de dados relacionais. Ele fornece uma introdução aos principais conceitos de SQL como DDL, DML, consultas, funções agregadas e operadores relacionais. Também apresenta exemplos de como criar e manipular tabelas, banco de dados e consultas em SQL.
● O documento discute a evolução de sistemas distribuídos na Movile ao longo de 6 anos, começando com o uso do Apache Cassandra para controlar assinaturas e tarifações e, posteriormente, armazenar dados de aplicativos e notificações push.
● Problemas como desempenho, disponibilidade e escalabilidade levaram a mudanças na arquitetura, como a migração de bancos de dados relacionais para o Cassandra.
● Lições aprendidas incluem evitar coleções do Cassandra, reparos ap
O documento descreve o DB-API e o módulo SQLite para trabalhar com bancos de dados no Python. O DB-API define padrões para conexões e cursores. O SQLite é um banco de dados embutido no Python que armazena dados em arquivos e suporta transações e bancos de até 2TB. O módulo SQLite3 permite executar comandos SQL como inserções e consultas.
O documento apresenta os principais conceitos e comandos do sistema de gerenciamento de banco de dados MySQL. Ele explica o que é SQL, como instalar o MySQL e os principais grupos de comandos - DML, DDL e DCL. Além disso, demonstra comandos básicos como criar e manipular bancos de dados e tabelas, inserir, consultar e alterar dados.
O documento discute as funcionalidades do In-Memory OLTP no SQL Server 2016, incluindo: 1) Armazenamento de dados diretamente na memória ao invés de páginas; 2) Novos tipos de índices como Hash e Range para melhor desempenho; 3) Procedures compiladas nativamente para execução em nível de máquina.
O documento apresenta uma introdução sobre SQL, incluindo sua história e partes. Descreve os comandos SQL para definição de dados, como CREATE, DROP e ALTER. Explica integridade de chaves, referencial e de domínio. Apresenta tipos de dados e índices. Por fim, solicita um exercício para criação de tabelas relacionais.
O documento apresenta uma introdução à linguagem PL/SQL, descrevendo suas principais características como a capacidade de combinar SQL e programação procedural, o uso de blocos, declaração de variáveis e constantes, cursores, estruturas de controle como condições e laços, subprogramas e pacotes.
Este documento apresenta uma introdução ao T-SQL com Microsoft SQL Server 2012 Express. Ele discute os principais tópicos como a origem do SQL, o Management Studio, variáveis e tipos de dados, criação de banco de dados, tabelas e consultas básicas.
O Cassandra é um banco de dados NOSQL orientado à família de coluna que nasceu para resolver problemas com aplicações que precisam operar com gigantescas cargas de dados além de poder escalar com grande facilidade. Ele nasceu no facebook e hoje vem sendo usado intensamente por empresas dos mais variados portes, tais como Netflix, Twitter, Instagram, HP, IBM, dentre muitas outras. Um fator importante que vale ser citado é a sua adoção crescente inclusive em mercados mais conversadores tais como, instituições financeiras e agências governamentais como a NASA.
Assuntos abordados
- Conceito Data Science
- Conceito BigData
- NOSQL
- Histórico
- Tipos de Bancos
- Comparação com o Modelo relacional
- Cassandra
- Arquitetura Cassandra
- Configurações Básica do Cassandra
- Configuração de multi-nodes no Cassandra
- Conhecendo o DevOpsCenter
- Instalando os Agentes
Este documento apresenta um resumo de cada capítulo de um livro sobre T-SQL no Microsoft SQL Server 2012 Express. O livro discute tópicos como a origem do SQL, comandos básicos como SELECT e INSERT, criação de tabelas, índices e procedimentos armazenados.
Este documento fornece instruções sobre como criar e manipular bancos de dados e tabelas no MySQL. Ele explica como criar tabelas, definir tipos de dados, chaves primárias e estrangeiras. Além disso, apresenta exemplos de comandos SQL como SELECT, INSERT, UPDATE e DELETE.
1) O documento apresenta tabelas e comandos SQL para criação de um banco de dados.
2) São listadas tabelas como CLIENTE, VENDEDOR e PEDIDO com suas respectivas colunas.
3) São explicados comandos como CREATE DATABASE, CREATE TABLE, DROP TABLE, SHOW DATABASES e INSERT entre outros.
1) O documento discute como realizar consultas no banco de dados usando o framework Hibernate. 2) Existem três maneiras de fazer consultas no Hibernate: HQL, Critérios e SQL nativo. 3) Vários exemplos de consultas HQL são apresentados, incluindo parâmetros, joins, funções agregadas e consultas nomeadas.
Este documento discute funções da linguagem SQL para seleção e filtragem de dados em bancos de dados. Ele explica o uso das cláusulas LIMIT, OFFSET, DISTINCT e ORDER BY para limitar, ignorar, eliminar duplicatas e ordenar resultados de consultas SQL respectivamente. Também apresenta operadores e expressões para filtrar dados com base em condições, intervalos, listas, valores nulos e padrões de string.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
2. Thrift API
Primeira API para comunicação
com o Cassandra
Mostrava vários detalhes internos do Cassandra,
deixando os comandos verborrágicos e perigosos
Interface difícil de se trabalhar
Muitas transformações devem ser feitas via código
5. Thrift API
Por impossibilidade de se usar o CQL quando começamos a
trabalhar com o Cassandra escolhemos um cliente chamado
Astyanax porém a complexidade era alta, daí tivemos que criar
uma camada de abstração, surgiu o Cassandree.
O uso do Cassandree no Adsever está no
nosso log de impressão e controle de cliques
através do Tracker e Batches
8. CQL API
Evolução para uma API mais robusta
CQL3 (Cassandra Query Language) foi criada para abstrair a
complexidade do Cassandra e permitir que sua utilização seja
muito mais simples, poderosa e segura.
Até a versão 1.1.X do Cassandra, o CQL3 ainda era beta, com a
versão 1.2.X ele se tornou estável e passou a ser chamado em
muitos lugares apenas por CQL.
Sintaxe semelhante ao SQL para facilitar aprendizado
11. CQL API
Quando atualizamos o Cassandra para a versão 1.2.1 estávamos
prontos para usar o CQL 3 e o cluster já estava estabilizado
Utilizamos o cliente Datastax Java Driver para conexão. Esse
cliente se assemelha em muito a JDBC, isso facilita muito
Utilizamos o Java Driver dentro do
Dashboard para armazenamento do histórico
de ofertas e como base de dados principal
15. CQL API
CREATE KEYSPACE demodb WITH REPLICATION = {'class' :
'SimpleStrategy', 'replication_factor': 3};
CREATE TABLE users (
user_name varchar,
password varchar,
gender varchar,
session_token varchar,
state varchar,
birth_year bigint,
PRIMARY KEY (user_name));
INSERT INTO emp (empID, deptID, first_name, last_name)
VALUES (104, 15, 'jane', 'smith');
SELECT * FROM emp WHERE empID IN (130,104)
ORDER BY deptID DESC;
16. Os detalhes maléficos do
Cassandra
Collections Columns
TTL
UUID
Indexes
Compound Keys
17. Collections Columns
O cassandra é schemaless, ou seja, coluna
existe ou não, pra mim tanto faz
Mas no CQL é necessário uma formalidade
nas colunas para que eu consiga fazer
buscas.
18. Collections Columns
CREATE TABLE conta_oferta (
campanha int,
categoria int,
loja bigint,
ofertas map<timestamp,bigint>,
PRIMARY KEY ((campanha,categoria), loja) );
O CQL trás um novo tipo de coluna, a coluna de
coleção.
Existem 3 tipos de coleções permitidas:
Set
List
Map
campanha | categoria | loja | ofertas
----------+-----------+------+--------------------------------------------------------------
6637 | 6424 | 50 | {2013-08-27 02:00:00-0300: 30, 2013-08-27 03:00:00-0300: 50}
19. Collections Columns
Uma collection column permite guardar
valores dinâmicos, traduzindo a forma
schemaless do cassandra para um mundo
mais schemafull
Cada item de uma collection column pode ter
um TTL específico
20. TTL
Cada coluna na CF pode ter uma data para
expirar ou um Time To Live próprio. Assim
mantemos sempre dados válidos no
servidor, não há a necessidade de criar rotinas
complexas de expurgo ou pedir para a Infra
apagar os destinations =P
No Dashboard cada item da coluna de ofertas
tem um TTL de 30 dias
21. UUID
Em uma base relacional o ID pode ser um número
inteiro com incremento continuo já que a base fica
em apenas em um computador
Já que o Cassandra é clusterizado, para evitar
choque de ids é necessário uma estratégia mais
avançada e para isso é usado o UUID (universally
unique id). Esse id é tem o formato hexadecimal e é
criado baseado na hora e em outros fatores, como
MAC address
Exemplo: ff63a295-e425-4773-9358-dd717039c1c2
No Java:
java.util.UUID.randomUUID();
22. Índices
A busca no cassandra é feita apenas por
chaves, nunca por colunas
Para fazer buscas por colunas é necessário
transformá-las em chaves, ou seja, criar índices
CREATE TABLE users ( userID uuid, frame text, lname text, state text, zip
int, PRIMARY KEY (userID, zip) );
CREATE INDEX users_state ON users (state)
23. Chaves
As chaves em uma CF servem para separar
os dados entre os nós, ordená-los e buscá-los.
Buscas devem ser feitas respeitando as
chaves e suas prioridades
Buscas devem ser da “esquerda para a
direita”
24. Chaves
CREATE TABLE calendario (
dia int,
mes int,
ano int,
compromisso text,
PRIMARY KEY (dia,mes,ano) );
INSERT INTO calendario (dia,mes,ano,compromisso) VALUES
(27,08,2013,'preparando apresentacao');
SELECT * FROM calendario WHERE dia = 27;
dia | mes | ano | compromisso
-----+-----+------+-----------------
27 | 8 | 2013 | preparando aula
25. Chaves
SELECT * FROM calendario WHERE mes = 8;
Bad Request: Cannot execute this query as it might involve data filtering
and thus may have unpredictable performance. If you want to execute
this query despite the performance unpredictability, use ALLOW
FILTERING
Ordem: dia > mês > ano
Uma Clustering Key não pode ser
usada sem sua Partition Key
26. Chaves
Partition Key
Chave responsável por espalhar os dados entre os nós do cluster
É a linha da Colum Family
Clustering Key
Ordena os dados dentro de cada
separação feita pela Partition Key
É o prefixo das colunas
Compound Key
Uma chave composta pela
Partition Key e Clustering Key
CREATE TABLE calendario ( dia int, mes int, ano int, compromisso text,
PRIMARY KEY (dia,mes,ano) );
Partition
Key
Clustering Key
Compound Key
28. Chaves
Mas por que isso existe?
Para garantir performance.
Sem isso o Cassandra deve buscar a informação em todos os nós do
cluster
ALLOW FILTERING
Caso performance não seja o meu problema, eu posso avisar o
Cassandra disso através da sintax ALLOW FILTERING
SELECT * FROM calendario WHERE mes = 8 ALLOW FILTERING;
dia | mes | ano | compromisso
-----+-----+------+-----------------
27 | 8 | 2013 | preparando aula
29. Lógica para busca
1) O campo a ser procurado deve ser um índice
1) A ordem dos índices deve ser respeitada
1)Pense na Query antes de criar sua CF
1)Use ao máximo chaves naturais
1)Pense na query antes!
1)Lembre-se que em 95% o seu sistema usará as mesmas queries, então
pense antes na query
30. Normalização
Facilita a atualização de dados
Permite que eu contenha apenas informações
consistentes, sem campos NULL
Permite informações em lista (com ajuda de
uma tabela de relacionamento), como por
exemplo, múltiplos telefones
31. Normalização
Criação mais coerente de
queries complexas
Os publishers beta testers, com
campanhas ativas, da categoria
moda, que sejam do signo de
Virgem e com ascendente em Áries
32. Novo paradigma
Mas por que devemos usar apenas esse tipo
de paradigma?
Quanto de meta informação nós precisamos
para guardar informações normalizadas?
Quantas primary keys com auto increment
(chaves não naturais), quantas foreign
keys, quantas tabelas de relacionamentos
precisamos para normalizar as informações?
33. Dashboard
O Dashboard em 99% do tempo procura
informações, por que eu quero facilidade
para atualizar uma informação se isso vai
prejudicar minha busca?
Por que eu não posso ter um campo nulo?
Para economizar espaço? Mas e as chaves
primarias e estrangeiras que eu vou
precisar, para ter essa economia?
Quantas vezes eu vou precisar saber
sobre os publishers de Virgem
com ascendente em Áries?