35
SQL Server Heterogêneo SQL Server + Big Data VP Rodrigo Dornel rdornel | Rdornel Data Platform eXperts [email protected]

SQL Saturday 570 - São Paulo - 2016

Embed Size (px)

Citation preview

Page 1: SQL Saturday 570 - São Paulo - 2016

SQL Server Heterogêneo

SQL Server + Big Data

MVP Rodrigo Dornel@rdornel | Rdornel Data Platform [email protected]

Page 2: SQL Saturday 570 - São Paulo - 2016

PATROCINADORES

Page 3: SQL Saturday 570 - São Paulo - 2016

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

Page 4: SQL Saturday 570 - São Paulo - 2016

SQL Server Heterogêneo.

XML e JSON NoSQL Hadoop Hdfs Mapreduce Hive PolyBase

Page 5: SQL Saturday 570 - São Paulo - 2016

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

Page 6: SQL Saturday 570 - São Paulo - 2016

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).

Page 7: SQL Saturday 570 - São Paulo - 2016

XML e JSON

Propriedades ACID? CHECK, Constraints? Schema validation XSD XQuery

Page 8: SQL Saturday 570 - São Paulo - 2016

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.

Page 9: SQL Saturday 570 - São Paulo - 2016

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

Page 10: SQL Saturday 570 - São Paulo - 2016

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.

Page 11: SQL Saturday 570 - São Paulo - 2016

XML e JSON

Page 12: SQL Saturday 570 - São Paulo - 2016

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

Page 13: SQL Saturday 570 - São Paulo - 2016

XML e JSON

Demos

SQL Server 2016

Page 14: SQL Saturday 570 - São Paulo - 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.

Page 15: SQL Saturday 570 - São Paulo - 2016

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ó)

Page 16: SQL Saturday 570 - São Paulo - 2016

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.

Page 17: SQL Saturday 570 - São Paulo - 2016

Hdfs

Page 18: SQL Saturday 570 - São Paulo - 2016

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

Page 19: SQL Saturday 570 - São Paulo - 2016

MapReduce

Page 20: SQL Saturday 570 - São Paulo - 2016

Google

Page 21: SQL Saturday 570 - São Paulo - 2016

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.

Page 22: SQL Saturday 570 - São Paulo - 2016

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.

Page 23: SQL Saturday 570 - São Paulo - 2016

Hive

Page 24: SQL Saturday 570 - São Paulo - 2016

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

Page 25: SQL Saturday 570 - São Paulo - 2016

PolyBase

A tecnologia PolyBase permite consultar e unir dados de várias fontes, tudo usando os comandos Transact-SQL.

Page 26: SQL Saturday 570 - São Paulo - 2016

PolyBase

Page 27: SQL Saturday 570 - São Paulo - 2016

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.

Page 28: SQL Saturday 570 - São Paulo - 2016

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;

Page 29: SQL Saturday 570 - São Paulo - 2016

PolyBase

Azure Feature Pak

Page 30: SQL Saturday 570 - São Paulo - 2016

PolyBase

Azure Feature Pak

Page 31: SQL Saturday 570 - São Paulo - 2016

PolyBase

Azure Feature Pak

Page 32: SQL Saturday 570 - São Paulo - 2016

PolyBase

Azure Feature Pak

Page 33: SQL Saturday 570 - São Paulo - 2016

PolyBase

Demo Hortonworks

Hdfs Hive

Polybase External Table Hive ODBC

Azure Feature Pak

Page 34: SQL Saturday 570 - São Paulo - 2016

Dúvidas?!

Page 35: SQL Saturday 570 - São Paulo - 2016