A versão da plataforma de dados da Microsoft acompanhou a evolução dos computadores e o resultado foi um aumento exponencial de desempenho.
O mercado de dados está constantemente se reinventando: novas perspectivas, nova arquitetura, novos paradigmas. Entre essas novidades, encontra-se a habilidade de executar uma base de dados na memória principal, com apoio de CPUs multi-core. Vale lembrar que um processador multi-core ou multinúcleo, é aquele que possui dois ou mais núcleos de processamento em um único chip. Os núcleos dividem as tarefas entre si, o que torna o processador multitarefas.
Com o codinome Hekaton, a Microsoft desenvolveu e incluiu tais características no SQL Server 2014. E por que isso é importante? Simplesmente porque a maioria dos bancos de dados foram originalmente concebidos quando a memória principal dos servidores representava um custo relativamente alto. Esse é o motivo pelo qual os dados precisavam ser persistidos em discos para processar aplicações críticas.
No entanto, essa realidade mudou. Nos últimos anos, houve uma acentuada redução do preço de memórias ao mesmo tempo em que servidores multi-core tornaram-se acessíveis. Desse modo, hoje é possível comprar um servidor com diversos núcleos e um grande espaço de memória por um valor muito inferior. Isso sem considerar a possibilidade de seu uso através da nuvem, onde a oferta é praticamente instantânea e o preço ainda mais diluído.
Visão do OLTP na memória
O gerenciamento de dados transacionais é conhecido como OLTP (processamento de transações online). Ou seja, são informações que acompanham algum tipo de interatividade, como por exemplo, as comerciais, que incluem tanto pagamentos recebidos de clientes quanto pedidos feitos e entregues.
Uma vez que muitos, se não a maioria, dos bancos de dados OLTP podem ser armazenados em 1 TB, cai o paradigma de armazenamento de dados em disco e as suas consequentes limitações. Além disso, a necessidade de que os dados sejam lidos, escritos, atualizados ou até mesmo processados para a memória desaparece. Isso nos traz novas perspectivas e realidade.
Tabelas e procedimentos armazenados (stored procedure) baseados em memória passam a ser armazenados de forma completamente diferente, se comparados com as tabelas armazenadas em disco. Isso porque esses procedimentos representam uma coleção de comandos em SQL, de forma que é possível usar o mesmo código diversas vezes diferentes.
Dessa forma, a nova estrutura permite acessar e processar dados de forma mais eficiente, com mais desempenho e flexibilidade.
O SQL Server 2014 – OLTP in-memory traz ganhos reais e significativos de desempenho e escalabilidade. Eles dependem de muitos fatores, mas podem atingir melhorias de 5 a 30 vezes maiores se comparado às versões anteriores.
Leia também: Power BI: Como adotar uma cultura de dados na prática.
Alguns dos aspectos que impulsionam as vantagens
- Algoritmos otimizados para acessar dados residentes em memória.
- Controle de simultaneidade otimista que elimina bloqueios lógicos.
- Objetos livres de bloqueio para acessar todos os dados: os threads que executam trabalho transacional não usam bloqueios ou travas para controle de simultaneidade.
- A redução das ordens de grandeza no caminho do código do mecanismo é o resultado dos procedimentos armazenados compilados nativamente.
Com o SQL Server 2014 instalado, recomenda-se utilizar o AMR (Analysis, Migration and Reporting). A ferramenta para análise de bases de dados é responsável por fornecer recomendações referentes às tabelas e procedimentos (stored procedured). Isso deve ser considerado para migração OLTP in-memory.
Principais melhorias da nova versão do SQL Server
- OLTP in-memory;
- performance (columnstore index);
- segurança;
- alta disponibilidade com Alway On;
- nuvem para cenários híbridos (Windows Azure).
Ao entender mais sobre a nova versão do SQL Server 2014, é preciso saber como aplicar todas as melhorias na prática. Por isso, leia mais sobre o OLTP na memória e cenários de uso.