quinta-feira, 17 de abril de 2014

Dentro do Hekaton: SQL Server 2014 do mecanismo de banco de dados desconstruída


Acesso de alto desempenho para armazenamento de arquivos


É 1996 e Mission: Impossible acaba de chegar às telas de cinema. RAM é de R $ 10 por megabyte e caindo. Perante este cenário, a Microsoft começou discretamente sua própria missão aparentemente impossível, uma completa re-escrita de um pequeno banco de dados conhecido que será lançado dois anos para o futuro, e será conhecido como SQL Server 7.


Novo banco de dados de Redmond vai competir com os reis arraigados do mundo do banco de dados, Oracle e DB2.







Fast-forward para 2014.


MI: 4 veio e se foi. RAM custa US $ 10 por gigabyte. E agora temos a mais recente encarnação de um dos bancos de dados best-sellers da indústria:. SQL Server 2014 executivo recém-formado da Microsoft Satya Nadella preside o lançamento em um excessivamente orquestrada evento corporativo em San Francisco, Califórnia, destinado a demonstrar a sua empresa é todo "big data".


SQL Server é consistentemente um dos produtores mais fortes no portfólio de produtos da Microsoft, ou seja, parcela da receita da Microsoft no mercado de RDBMS tem crescido em quase duas décadas. Os números exatos variam de acordo com o analista de comprar em, mas o que não está em disputa é o fato de que a Microsoft tem garras para fora uma posição de terceiro lugar, atrás da IBM e Oracle (número um), que foram acontecendo neste por mais tempo.


Sem dúvida, a única coisa que impediu SQL Server de fazer melhor é o fato de ele só está disponível para Windows.


A quota de mercado de lado, talvez as duas mudanças mais significativas nesses 18 anos foram na frente tecnológica - o aumento do poder de processamento do servidor e do preço da RAM, este último a diminuição do custo de mil vezes. Isto é significativo, uma vez que são estes dois fatores, que são os principais motores do SQL Server 2014 do tema-chave de desempenho.


A memória é o novo disco


Ao conceber esta versão, re-avaliou Microsoft as razões dados são armazenados no disco, em vez de na memória. Isso se reflete nos três principais características deste lançamento. Pressupostos válido quando o SQL Server 7 foi escrito já não são verdadeiras, ou seja: a memória principal era caro e limitado, e os sistemas de CPUs e operacionais tinha apenas espaços de endereçamento de 32 bits.


A memória principal é agora enorme, denso, e mais importante, muito barato. Memória flash tem durável e quase certamente irá continuar a seguir a mesma curva. Enquanto 32-bit do Windows lidou com no máximo 3 GB de memória utilizável, CPUs são agora de 64 bits e Windows Server 2012 pode endereçar 4 TB de RAM. Tamanhos de memória estão crescendo a uma taxa tão rápida, estima-se que mais de 95 por cento de processamento de transações on-line baseado em disco (OLTP) as bases de dados são pequenos o suficiente para ser armazenado na memória.


Por outro lado, há problemas com disco. Latência de recuperação de dados é ordens de magnitude mais lento do que a memória. Estamos falando de milésimos de segundo em relação a nanossegundos, uma diferença de mil vezes.


Além disso, como os processadores tenham atingido os limites de velocidade comercialmente viáveis, para aumentar os seus fabricantes de taxa de transferência computacional da CPU têm pipeline e escalado os seus processadores. Em 1996, os sistemas de CPU de núcleo duplo eram uma novidade rara e extremamente caro. Em 2014, encontrando 16, 24 ou 32 núcleos dentro de um servidor de banco de dados é um dado.


Estes gigantes paralelas consumir dados a um ritmo vertiginoso, gastando grande parte do seu tempo de espera no subsistema de disco para fornecê-lo, ao passo que os mecanismos orientados para o disco ter evoluído dentro do motor de banco de dados para garantir a atualização dos dados se comportar da maneira consistente esperamos que, a fim para manter a conformidade ACID.


É hora de repensar porque os dados são armazenados em lento, o disco não confiável, para outra coisa senão fins de recuperação e arquivamento.


Reiniciar


No SQL Server 2014, Microsoft começou novamente. O motor de banco de dados Hekaton - uma adição ao invés de um substituto para o motor de banco de dados SQL Server núcleo - agora tem a capacidade de armazenar tabelas na memória. Em contraste com a TimesTen da Oracle e da IBM soliddb, motor de banco de dados na memória do SQL Server está totalmente integrado ao produto principal, e sem nenhum custo adicional. Isso faz com que a adoção atraente tanto tecnicamente quanto financeiramente.


Uma mesa em uma migração de tempo é prático, reduzindo o risco sem a necessidade de consultoria caro ou novos conjuntos de habilidades. Todos os tipos de dados comuns são suportadas - apenas o XML com menos frequência utilizada, CLR e max () tipos são excluídos. Esquemas de tabela apenas, ou esquemas e os dados podem ser mantidos em memória, o ex-útil em casos onde dados temporários não tem que ser persistentes, tais como tabelas de teste. Além disso, em contraste com os seus concorrentes, todas as tabelas ou uma tabela de cada vez pode ser migrado.


Compatibilidade total com ACID é assegurada através MVCC otimista (controle de concorrência de multi versão). Linha de versão e time-stamping é usado em vez de bloqueios de página para assegurar o cumprimento ACID, agora uma técnica viável como cada linha é armazenado na memória em vez de disco. Isso resulta na eliminação de bloqueio e bloqueio, e as esperas e os tempos de espera associados a eles, uma grande desgraça da vida de qualquer administrador de banco de dados de produção.


Como resultado, o disco de leitura esperas são completamente eliminados, como todas as leituras são agora realizados a partir da memória. As alterações de esquema tem que estar conectado para o disco, não é grande coisa como eles são comparativamente raros. Se o esquema mais dados tipo de tabela é usado, as alterações de dados também são registradas em disco para fornecer durabilidade para o cumprimento e recuperação ACID.


Neste caso, o ponto de verificação e o registo de escrita ainda tem de ser realizada para manter a durabilidade, mas isso já é aplicada muito mais eficientemente, e num sistema bem configurado raramente apresenta um gargalo.


As feições de Hekaton na memória são suportados por backup tradicional e restauração e opções de alta disponibilidade do SQL Server, AlwaysOn e envio de log. Puzzlingly, a replicação não é suportado, embora nem é espelhamento de banco, o que é compreensível, uma vez que está prestes a ser reprovado.


Uma nova ajuda de migração, o Analysis, Migração e ferramenta de relatório, é incluído como parte do SQL Server Management Studio para ajudar o DBA na conversão de um esquema para tabelas na memória. Com alguns cliques, isso gera um relatório contendo recomendações e as alterações necessárias para a migração bem sucedida.


Embora esta seja uma grande ajuda, um pouco de novo conhecimento precisa ser adquirido pelo DBA para a transição de dados do disco para tabelas residentes na memória, especialmente no que diz respeito às restrições impostas sobre esquemas de tabela. Desenvolvedores não são susceptíveis de perseverar com eles na versão atual, mas histórico recente da Microsoft com o SQL Server é enviar funcionalidade e confiabilidade em primeiro lugar, em seguida, adicionar ferramentas de gerenciamento GUI front-end baseado mais tarde - a forma como deve ser.


Na versão final de pré-produção, as questões mais notáveis ​​são a falta de suporte para truncar e mesclar as declarações, e um punhado de dicas de consulta não permitidos que podem causar código existente para quebrar. Há outras restrições menores, mas a Microsoft tem de abordar a palavra-chave restrições, como Hekaton provavelmente será adotado pela primeira vez por clientes de data warehouse, onde o uso de ambas as afirmações é provável que seja mais prevalente. O assistente de migração também precisa de algum trabalho em termos de suas recomendações, mas isso vai melhorar, sem dúvida, com o tempo.







via Alimentação (Feed)

Nenhum comentário:

Postar um comentário