Upload
rodrigo-dornel
View
307
Download
3
Embed Size (px)
Citation preview
SQL Server Heterogêneo
SQL Server + Big Data
MVP Rodrigo Dornel@rdornel | Rdornel Data Platform [email protected]
PATROCINADORES
Apresentação.
Rodrigo Dornel Data Platform MVP, MCSA e MCT. Empresário e Professor Universitário.
rdornel.wordpress.com @rdornel facebook.com/rodrigodornel
[email protected] rdornel.com
SQL Server Heterogêneo.
XML e JSON NoSQL Hadoop Hdfs Mapreduce Hive PolyBase
XML e JSON
Alterou alguns paradigmas de banco de dados
Primeira experiência com dados não estruturados
Introdução do tipo de dados XML
XML e JSON
Introduzido na versão 2005.
Possibilita transformar linhas do banco de dados em fragmentos de XML.
Permite carregar e armazenar dados XML dentro SQL Server.
Usa a linguagem XQuery para manipular dados dentro do XML, baseado em expressões XPath (árvore do XML, navegação).
XML e JSON
Propriedades ACID? CHECK, Constraints? Schema validation XSD XQuery
XML e JSON
Capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de
compartilhamento de informações através da internet, serviços e afins.
XML e JSON
Propriedades ACID? CHECK, Constraints? Indexação
Indexing JSON path using B-tree index Indexing JSON array element using full-text
search index
XML e JSON
Capaz de descrever diversos tipos de dados.
Seu propósito principal é a facilidade de compartilhamento de informações através da internet, serviços e afins.
XML e JSON
XML e JSON
SQL Server 2016 JSON Auto, cria uma hierarquia automaticamente JSON Path, você especifica as hierarquias ISJSON(), valida se a coluna está no padrão JSON JSON_QUERY() “SUB CONSULTA” JSON_VALUE(), retorna o valor do nó JSON_MODIFY(), altera valores OPENJSON(), carrega um campo “texto” convertendo ele
para JSON. OPENJSON é uma função (TVF), imagina um CAST ou CONVERT.
INCLUDE_NULL_VALUES
XML e JSON
Demos
SQL Server 2016
SQL vs NoSQL
SQL, fortemente ligado ao mundo relacional, consultas bem definidas, esquemas rígidos e ACID.
NoSQL, termo genérico para uma classe definida de banco de dados não-relacionais. Não apresenta estrutura rígida, alguns chamam de livre de esquema, pouco ou nenhum controle ACID.
Hadoop
Plataforma feita em Java para processamento distribuído de grandes massas de dados.
Basicamente composto pelo HDFS, Yarn e MapReduce.
Projeto é mantido pela fundação Apache. Para nós o mais familiar ou conhecido é o
HDInsight feito pela Hortomworks para a Microsoft.
Azure ou Local (só um nó)
Hdfs
Sistemas de arquivos feito para rodar em hardware básico.
Feito para trabalhar com grandes quantidades de dados.
Tolerante a falha. Não leva em consideração aspectos
tradicionais de acesso a dados e sim um estilo de acesso como um streaming de dados.
Hdfs
MapReduce
MapReduce é um modelo de programação desenhado para processar grandes volumes de dados em paralelo, dividindo o trabalho em um conjunto de tarefas independentes
MapReduce
Hive
Basicamente uma infraestrutura de datawarehouse para rodar no topo da arquitetura do Hadoop para oferecer sumarização dos dados, consultas e análise.
Ele oferece uma linguagem SQL-like chamada de HiveQL com leitura e esquemas que permitem que consultemos os dados MapReduce como se consultássemos banco tradicionais.
Hive
Usa tabelas similares ao modelo relacional. Particionadas, overwriting e appending data. Cada tabela é um diretório no HDFS, pode
ser dividida em partições ou buckets.
Hive
Hive
Suporta a maioria dos tipos de dados primitivos.
BIGINT, BINARY, BOOLEAN, CHAR, DECIMAL, DOUBLE, FLOAT, INT, SMALLINT, STRING, TIMESTAMP, and TINYINT.
Adicional de dados complexos como structs, maps and arrays
PolyBase
A tecnologia PolyBase permite consultar e unir dados de várias fontes, tudo usando os comandos Transact-SQL.
PolyBase
PolyBase
Fonte de dados Externa, Hadoop, Azure Blob.
Definição de como os dados estão organizados, ou seja, separadores de colunas.
Um esquema que represente esses dados, colunas, tipos de dados e localização desse arquivo dentro do seu sistema de arquivos.
Necessário ter o Java JDK antes de instalar e/ou pode ser interessante instalar um drive ODBC para Hive.
PolyBase
Push computation to Hadoop. Scale compute resources. Catalog Views
SELECT * FROM sys.external_data_sources; SELECT * FROM sys.external_file_formats; SELECT * FROM sys.external_tables;
PolyBase
Azure Feature Pak
PolyBase
Azure Feature Pak
PolyBase
Azure Feature Pak
PolyBase
Azure Feature Pak
PolyBase
Demo Hortonworks
Hdfs Hive
Polybase External Table Hive ODBC
Azure Feature Pak
Dúvidas?!