KamoCRM

Ingénierie des données et migration

Déplacement des données entre les systèmes sans en perdre aucune

Chaque migration est une négociation avec des données qui sont pires que ce dont on se souvient. Des enregistrements en double que personne ne réconcilie, des dates dans trois formats, un champ de texte libre qui porte une signification qui était censé être un menu déroulant et une clé qui était unique jusqu’en 2019. La partie technique du déplacement des données est rarement la partie la plus difficile.

Ce que le travail implique

  • Profiler honnêtement les données sources avant de s’engager dans un plan, y compris les parties que personne ne veut regarder
  • Conception du schéma pour les requêtes qui seront réellement exécutées, plutôt qu'une translittération de l'ancienne structure
  • Migrations sous contrôle de version et répétées contre une copie de production, à plusieurs reprises
  • Réconciliation qui prouve que les nombres de lignes et les totaux correspondent, plutôt que de supposer
  • Un plan de récupération qui a été testé, pas seulement écrit
  • Séquençage de coupure conçu autour de l'entreprise, pas autour de la commodité des ingénieurs

Pourquoi nous sommes crédibles à ce niveau

Nous avons migré notre propre plateforme de production entre des moteurs SQL distribués avec des données en direct et nous savons par expérience que dans une base de données distribuée, une transaction voit un seul snapshot pour toute sa durée de vie, même en mode de validation en lecture, ce qui invalide discrètement le code qui était correct sur un seul nœud.

Ce qui déplace le prix

Nous vous proposons un devis après la découverte et le numéro est fixé avant que tout ne commence.Ce sont les choses qui le déplacent, de sorte que vous pouvez voir à peu près où se situe votre projet avant de nous parler.

  • Le degré de propreté des données sources — cela domine tout le reste, généralement par une large marge
  • Si les anciens et les nouveaux systèmes doivent fonctionner en parallèle, et pendant combien de temps
  • Temps d'arrêt acceptable à la coupure, puisque le temps d'arrêt presque nul est une conception différente et plus coûteuse
  • Si les données historiques doivent être conservées exactement ou peuvent être résumées

Preuve que nous l'avons fait

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

Questions qui nous sont posées

Autres Développement d'applications travaux

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
Tout Développement d'applications

Dites-nous ce que vous essayez de faire

Une courte conversation est généralement suffisante pour savoir si nous sommes les bonnes personnes, si nous ne le sommes pas, nous le dirons et vous indiquerons quelque part mieux.

Commencez une conversationJ'utilise déjà KamoCRMComment nous citons