KDB+

Content

Visão geral

O KDB+ é um banco de dados de lojas de coluna de alto desempenho, projetado para processar e armazenar grandes quantidades de dados. Os dados comumente acessados ​​são empurrados para a memória de acesso aleatório (RAM), que é mais rápido para acessar do que os dados no armazenamento em disco. Criado com instituições financeiras em mente, o banco de dados foi desenvolvido como um repositório central para armazenar dados de séries temporais que suportam análises em tempo real de bilhões de registros. O KDB+ tem a capacidade de analisar dados ao longo do tempo e responde a consultas semelhantes à linguagem de consulta estruturada (SQL).

Os bancos de dados colunares retornam respostas a algumas consultas de uma maneira mais eficiente do que os sistemas de gerenciamento de banco de dados baseados em linha. Dicionários KDB+, tabelas e carimbos de hora de nanossegundos são tipos de dados nativos e são usados ​​para armazenar dados de séries temporais.

No centro do KDB+ está a linguagem de programação interna, Q, uma linguagem concisa e expressiva da matriz de consulta e dialeto do idioma APL. Q pode manipular dados de streaming, em tempo real e histórico. O KDB+ usa Q para agregar e analisar dados, executar funções estatísticas e participar de conjuntos de dados e suporta o SQL consultas A linguagem vetorial Q foi construída para velocidade e expressividade e elimina a maioria das necessidades de estruturas de loop. O KDB+inclui interfaces em C, C ++, Java, C#e Python.

História

Em 1998, a KX Systems lançou a KDB, um banco de dados construído no idioma K escrito por Arthur Whitney. Em 2003, o KDB+ foi lançado como uma versão de 64 bits do KDB. Em 2004, a estrutura de banco de dados do mercado de multas KDB+ foi lançada junto com os dados Taq da KDB+ Taq, um carregador para os dados Taq da Bolsa de Valores de Nova York (NYSE). O KDB+ foi criado por Arthur Whitney, construindo seu trabalho anterior com idiomas de matriz.

Em abril de 2007, a KX Systems anunciou que estava lançando uma versão do KDB+ para o Mac OS X. Naquela época, o KDB+ também estava disponível no Linux, Windows e Solaris.

Em setembro de 2012, a versão 3.0 foi lançada. Foi otimizado para os processadores atualizados da Intel com suporte para WebSockets, identificadores globalmente exclusivos (GUID) e identificadores universalmente únicos (UUID). As extensões vetoriais avançadas da Intel (AVX) e as extensões SIMD de streaming 4 (SSE4) 4.2 nos processadores de ponte arenosa do tempo permitiram suporte aprimorado do sistema KDB+. Em junho de 2013, a versão 3.1 foi lançada, com benchmarks até 8 vezes mais rápido do que para versões mais antigas.

Em março de 2020, a versão 4.0 foi lançada. Novos recursos incluíam primitivas multithread, Intel Optane DC Suporte e dados persistentes da memória na criptografia REST.