SQL Saturday 570 - São Paulo - 2016

Preview:

Citation preview

SQL Server Heterogêneo

SQL Server + Big Data

MVP Rodrigo Dornel@rdornel | Rdornel Data Platform eXpertsrodrigo@rdornel.com

PATROCINADORES

Apresentação.

Rodrigo Dornel Data Platform MVP, MCSA e MCT. Empresário e Professor Universitário.

rdornel.wordpress.com @rdornel facebook.com/rodrigodornel

contato@rdornel.com 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

Google

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?!

Recommended