À propos du service
TraduitJe conçois et gère des bases de données distribuées à colonnes larges sur Apache Cassandra et ScyllaDB, et je commence toujours par une chose : vos requêtes. Avant de démarrer un nœud, je cartographie tous les chemins de lecture et d'écriture dont votre application a réellement besoin, puis je construis un modèle de données autour de ces schémas d'accès. Dans le stockage orienté colonnes, la table suit la requête, donc je dénormalise délibérément, choisis des clés de partition avec une distribution uniforme, et sélectionne des colonnes de clustering qui placent les lectures fréquentes dans une seule partition.
Ensuite, j'optimise le cluster pour supporter un trafic réel. Je définis le facteur de réplication et les niveaux de cohérence selon votre budget pour la fiabilité et la latence, limite la taille des partitions, choisis la stratégie de compactage pour votre charge — séries temporelles, journal d'événements ou clé-valeur à fort renouvellement. Je maintiens les pipelines d'écriture à des dizaines de milliers d'opérations/seconde sans interruptions pendant les vidanges et le compactage, et la latence de queue prévisible : partitions larges, tombstones, et shards chauds que je détecte tôt. Sur ScyllaDB, j'utilise une architecture shard-par-core et j'extrais significativement plus de débit du même matériel.
Je gère également les tâches qui font tomber les clusters à 3 heures du matin : planification de réparations, remplacement de nœuds, réplication inter-DC, planification de capacité, et migrations depuis des bases de données relationnelles qui ont cessé de s'échelonner. En sortie — une base de données qui absorbe les pics et grandit en ajoutant des nœuds.
— Modélisation des données à partir des requêtes et conception de partitions
— Réplication, cohérence et optimisation du compactage
— Débit d'écriture élevé et latence prévisible
— Réparation, remplacement de nœuds et configuration multi-DC
Ensuite, j'optimise le cluster pour supporter un trafic réel. Je définis le facteur de réplication et les niveaux de cohérence selon votre budget pour la fiabilité et la latence, limite la taille des partitions, choisis la stratégie de compactage pour votre charge — séries temporelles, journal d'événements ou clé-valeur à fort renouvellement. Je maintiens les pipelines d'écriture à des dizaines de milliers d'opérations/seconde sans interruptions pendant les vidanges et le compactage, et la latence de queue prévisible : partitions larges, tombstones, et shards chauds que je détecte tôt. Sur ScyllaDB, j'utilise une architecture shard-par-core et j'extrais significativement plus de débit du même matériel.
Je gère également les tâches qui font tomber les clusters à 3 heures du matin : planification de réparations, remplacement de nœuds, réplication inter-DC, planification de capacité, et migrations depuis des bases de données relationnelles qui ont cessé de s'échelonner. En sortie — une base de données qui absorbe les pics et grandit en ajoutant des nœuds.
— Modélisation des données à partir des requêtes et conception de partitions
— Réplication, cohérence et optimisation du compactage
— Débit d'écriture élevé et latence prévisible
— Réparation, remplacement de nœuds et configuration multi-DC