sql server heterogêneo: sql server + bigdata

Post on 16-Apr-2017

488 Views

Category:

Data & Analytics

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

November 2015

SQL Server HeterogêneoSQL Server + BigData

PASS Chapter LeaderRodrigo Ramos Dornel “Dornel”

MTAC Lead da Região SULProfessor UniversitárioMais de 10 anos como consultor em SQL ServerMCT e MCSARDornel Data Platform Experts

Upcoming SQLSaturdaysSouth America International

• Novembro, 21 em Brasília• http://www.sqlsaturday.com/469/eventhome.aspx• Abril, 09 Joinville (2016)• http://www.sqlsaturday.com/488/eventhome.aspx

Visit www.sqlsaturday.com to register for a event near you!

Local Chapter - MCITPSChttp://www.mcitpsc.com.br - @mcitpsc

Agenda

Introdução XML JSON

PolyBase SISS

6

Introdução

Porque banco de dados Heterogêneo?

• XML• SQL + NoSQL• Hadoop• MapReduce• HDFS• Hive• DocumentDB

7

Introdução

XML

• O que é XML

• Linguagem de marcação

• Capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da internet.

8

Introdução

Onde tudo começou

• Alterou alguns paradigmas de banco de dados

• Primeira experiência com dados não estruturados

• Introdução do tipo de dados XML

9

Introdução

• SQL + 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.

10

Introdução

• SQL + NoSQL

• NoSQL, extremamente orientado a solução, ou seja, flexível, escalável e customizado.

• Trabalhar em arquitetura em nuvem e escalabilidade horizontal.

11

Introdução

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

12

Introdução

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

13

Introdução

14

Introdução

• 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

15

Introdução

16

Introdução

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

• Por causa dessa bendita possibilidade que estamos aqui Hoje .

17

Introdução

• DocumentDB

• É o banco de dados da Microsoft para JSON e JavaScript (Java Script Object Notation).

• No site do DocumentDB ele comenta que é possível fazer consultas parecidas com SQL ou usar UDF, funções para essas conversões.

• Seria o concorrente da Microsoft para o mongoDB

19

XML

• SQL Server e XML

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

20

XML

• Demo

• XML Auto• XQuery• XQuery Update

21

JSON

• DocumentDB

• O DocumentDB do Azure é um serviço de banco de dados de documento NoSQL projetado desde o início para suportar, de forma nativa, JSON e JavaScript diretamente dentro do mecanismo de banco de dados.

22

JSON

• JSON e o 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()???• OPENJSON(), carrega um campo “texto”

convertendo ele para JSON. OPENJSON é uma função (TVF), imagina um CAST ou CONVERT.

• INCLUDE_NULL_VALUES

23

JSON

• JSON e o SQL Server 2016

• Indexação

• ALTER TABLE Sales.SalesOrder_json• ADD vCustomerName AS

JSON_VALUE(Info, '$.Customer.Name')

• CREATE INDEX idx_SalesOrder_json_CustomerName

• ON Sales.SalesOrder_json(vCustomerName)

• Ou crie um índice Full Text!!!CREATE FULLTEXT INDEX ON Person.Person_json(EmailAddresses)

KEY INDEX PK_Person_json_PersonIDON jsonFullTextCatalog;

GO

25

PolyBase

O que é PolyBase?

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

27

PolyBase

O que é 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.

28

PolyBase

O que é PolyBase?

• Fonte de dados Externa, Hortomworks.• Definição dos dados• Localização dele no File System

29

PolyBase

• Demo• Criar o Source, File, Table• ODBC, OpenQuery• Azure Blob

30

SSIS

• Pacote de Integração SSIS + HDInsight + Azure Blob

• Conjunto de ferramentas para conexão e tarefas dentro do SSIS.

32

Quem vai cuidar disso tudo?

Você mesmo belesão!!!

Stay Involved!• Sign up for a free membership today at sqlpass.org

• Linked In: http://www.sqlpass.org/linkedin• Facebook: http://www.sqlpass.org/facebook• Twitter: @SQLPASS• PASS: http://www.sqlpass.org

• @rdornel• rodrigodornel@gmail.com

top related