Vídeo sobre a tecnologia do SlicingDice

Nosso Cofundador & CTO descreve nosso segredo


Confira esse vídeo com nosso Cofundador & CTO, Rafael Telles, descrevendo os segredos técnicos por trás de nosso baixo preço e impressionante velocidade de consulta.

Qual é a mágica por trás do SlicingDice?


O verdadeiro tempero secreto do SlicingDice se chama S1Search, um Data Warehouse e banco de dados analítico baseado em Java, desenvolvido por uma equipe muito experiente que vem lidando com um incrível volume de dados desde 2012. O S1Search foi fortemente inspirado pelas técnicas de inserção de dados e conceitos de busca - como índices invertidos - do Apache Lucene (e do Elastic Search), também combinando conceitos bem conhecidos de outros bancos de dados - como modelo de armazenamento de dados em colunas.

Bancos de dados são normalmente classificados de acordo com a abstração que eles propiciam ao sistema que os utiliza. Muitos bancos de dados tradicionais seguem o chamado 'modelo relacional', que é suportado por diversas teorias matemáticas. Apesar de muito adotado, alternativas a esse modelo têm crescido consistentemente desde o início dos anos 2000, gerando uma variedade de bancos de dados criados a partir de novos modelos que permitem um gerenciamento mais barato de Big Data.

Os chamados bancos de dados não-relacionais se dividem em uma lista de categorias, que incluem: armazenamento de Key Value, armazenamento de documentos, bancos de dados gráficos e outros. Com tantos modelos competindo no mercado de bancos de dados, deveria estar claro que uma solução definitiva ainda não foi encontrada e que ainda há muito espaço para inovações. Esse é o caso do S1Search: apesar de ser possível traçar similaridades, nenhum dos modelos conhecidos é uma exata descrição do que o S1Search implementa.

A diferença principal do S1Search, comparado aos bancos de dados tradicionais, é em relação a quais colunas são usadas para armazenar um índice e quais são utilizadas para armazenar os valores. Bancos de dados tradicionais mantêm os valores abertos de todas as colunas, porém, índices de apenas algumas. Enquanto que S1Search faz o oposto e mantém índices de todas as colunas e os valores abertos de apenas algumas.




Por que a compressão de dados é tão poderosa?

Abaixo você poderá compreender como a compressão de dados pode fortemente impactar nosso preço e velocidade de consultas.

Maior compressão = menor custo de armazenamento = preços mais baixos

Compressão de dados é um aspecto ao qual nossos desenvolvedores dedicaram muito tempo e empenho. Por conta disso, é comum para nós ter uma taxa de compressão entre 1/10 e 1/30 do tamanho original dos dados quando inseridos no S1Search.

A mágica do que fazemos está na lógica, que é bem direta: podemos armazenar os dados de nossos clientes utilizando apenas uma fração de seu tamanho original. Isso nos custa muito menos do que qualquer outra solução, portanto podemos ser bem agressivos em nossa política de preço.

Graças à economia de armazenamento, quanto mais clientes conseguimos, mais servidores S1Search nós adicionamos, tornando nosso custo médio de armazenagem ainda menor, consequentemente permitindo diminuir ainda mais nossos preços.

Maior compressão = menor I/O = consultas mais rápidas

Um fato conhecido sobre memória primária e dispositivos de armazenamento é que o primeiro é cerca de 1 milhão de vezes mais rápido que o segundo quando consideramos discos rígidos, e 10 mil vezes mais rápido quando consideramos SSDs modernos.

Portanto, esforços para diminuir a quantidade de dados transferidos de/para os discos valem a pena - e esse é justamente o ponto da compressão de dados. Ao custo de adicionar ciclos de CPU para comprimir e descomprimir, é possível atingir grandes ganhos no tamanho dos dados a serem transferidos ao configurar um esquema de compressão apropriado. Mas um único esquema não vai servir a todas as ocasiões.

Já que todos os tipos de dados têm suas próprias características, diferentes tipos de protocolos de compressão serão necessários para atingir taxas de compressão otimizadas e nós implementamos vários deles no S1Search.

Tudo pronto para começar?

Entre em contato our crie uma conta.