KamoCRM

Engenharia de dados e migração

Mover dados entre sistemas sem perder nenhum deles

Cada migração é uma negociação com dados que é pior do que qualquer um se lembra. Registros duplicados que ninguém reconcilia, datas em três formatos, um campo de texto livre com significado que deveria ser um menu suspenso e uma chave que era única até 2019. A parte técnica da transferência de dados raramente é a parte difícil. A parte difícil é decidir o que os dados significam e conseguir que alguém se encarregue dessa decisão antes da transição, em vez de durante ela.

O que o trabalho envolve

  • Perfil dos dados de origem honestamente antes de se comprometer com um plano, incluindo as partes que ninguém quer olhar
  • Projeto de esquema para as consultas que serão realmente executadas, em vez de uma transliteração da antiga estrutura
  • Migrações sob controle de versão e ensaiadas contra uma cópia de produção, repetidamente
  • Reconciliação que prova que as contagens de linha e os totais correspondem, em vez de assumir
  • Um plano de reversão que foi testado, não apenas escrito
  • Sequência de corte projetada em torno do negócio, não em torno da conveniência dos engenheiros

Por que somos credíveis nesse aspecto

Nós também sabemos por experiência que em um banco de dados distribuído uma transação vê um único snapshot para toda a sua vida, mesmo no modo read-committed, o que silenciosamente invalida o código que estava correto em um único nó, e isso pode ser um problema para os desenvolvedores de aplicativos.

O que move o preço

Nós citamos após a descoberta e o número é fixado antes de qualquer coisa começar.Estas são as coisas que movem, para que você possa ver aproximadamente onde o seu projeto se situa antes de falar conosco.

  • Quão limpos são os dados de origem — isso domina tudo o mais, geralmente por uma ampla margem
  • Se os sistemas antigos e novos devem ser executados em paralelo, e por quanto tempo
  • Tempo de inatividade aceitável no corte, uma vez que o tempo de inatividade quase zero é um projeto diferente e mais caro
  • Se os dados históricos devem ser preservados exatamente ou podem ser resumidos

Prova de que fizemos isso

A distributed data layer, chosen deliberatelyDistributed SQL, wide-column, cache, object storage and vectors — each for a reasonThe cluster we run our own company onA production Kubernetes platform, operated by the people who deploy to it

Perguntas que nos fazem

Outros Desenvolvimento de App trabalhos

Custom web applicationsThe system your business actually runs on, built properlyAPI and integration developmentMaking two systems agree, including the one with no documentationMobile applicationsCross-platform where it makes sense, native where it does notSI and retrieval systemsAssistants that read your documents, and know what they are not allowed to read
Todos os Desenvolvimento de App

Diga-nos o que você está tentando fazer

Uma breve conversa geralmente é suficiente para dizer se somos as pessoas certas, se não formos, diremos isso e indicaremos um lugar melhor.

Iniciar uma conversaEu já uso KamoCRMComo citamos