Aujourd’hui, je suis ravi de partager quelques mises à jour de produits sur lesquelles nous avons travaillé concernant la seize de données modifiées (CDC) en temps réel, y compris l’accès anticipé aux modèles populaires et aux plates-formes CDC tierces. Dans cet article, nous mettrons en évidence la nouvelle fonctionnalité, quelques exemples pour aider les équipes de données à démarrer et pourquoi le CDC en temps réel est devenu beaucoup plus accessible.
Qu’est-ce que le CDC et pourquoi est-il utile ?
Tout d’abord, un bref aperçu de ce que CDC est et pourquoi nous sommes de si grands followers. Étant donné que toutes les bases de données font des compromis strategies, il est courant de déplacer des données d’une supply vers une vacation spot en fonction de la manière dont les données seront utilisées. D’une manière générale, il existe trois méthodes de base pour déplacer des données d’un level A à un level B :
- Un vidage complet périodique, c’est-à-dire la copie de toutes les données de la supply A vers la vacation spot B, en remplaçant à chaque fois complètement le vidage précédent.
- Des mises à jour périodiques par tons, c’est-à-dire toutes les quarter-hour, exécutent une requête sur A pour voir quels enregistrements ont changé depuis la dernière exécution (peut-être en utilisant un indicateur modifié, une heure mise à jour, and many others.), et insérez-les par tons dans votre vacation spot.
- Mises à jour incrémentielles (alias CDC) – à mesure que les enregistrements changent dans A, émettent un flux de modifications qui peuvent être appliquées efficacement en aval dans B.
CDC exploite le streaming pour suivre et transporter les changements d’un système à un autre. Cette méthode offre quelques énormes avantages par rapport aux mises à jour par tons. Premièrement, CDC permet théoriquement aux entreprises d’analyser et de réagir aux données en temps réel, au fur et à mesure qu’elles sont générées. Il fonctionne avec les systèmes de streaming existants comme Apache Kafka, Amazon Kinesis et Azure Occasions Hubs, ce qui facilite plus que jamais la création d’un pipeline de données en temps réel.
Un antimodèle commun : CDC en temps réel sur un entrepôt de données cloud
L’un des modèles les plus courants pour CDC consiste à déplacer des données d’une base de données transactionnelle ou opérationnelle vers un entrepôt de données cloud (CDW). Cette méthode présente une poignée d’inconvénients.
Premièrement, la plupart des CDW ne prennent pas en cost les mises à jour sur place, ce qui signifie que lorsque de nouvelles données arrivent, ils doivent allouer et écrire une copie entièrement nouvelle de chaque micropartition by way of le FUSIONNER commande, qui seize également les insertions et les suppressions. Le résultat ? Il est soit plus coûteux (écritures volumineuses et fréquentes) soit lent (écritures moins fréquentes) d’utiliser un CDW comme vacation spot CDC. Les entrepôts de données ont été conçus pour les travaux par tons, nous ne devrions donc pas en être surpris. Mais alors, que doivent faire les utilisateurs lorsque des cas d’utilisation en temps réel se présentent ? Madison Schott d’Airbyte écrit, « J’avais besoin de données en temps semi-réel dans Snowflake. Après avoir augmenté les synchronisations de données dans Airbyte à une fois toutes les quarter-hour, les coûts de Snowflake ont explosé. Comme les données étaient ingérées toutes les quarter-hour, l’entrepôt de données fonctionnait presque toujours. Si vos coûts explosent avec une fréquence de synchronisation de quarter-hour, vous ne pouvez tout simplement pas répondre aux données récentes, encore moins aux données en temps réel.
Maintes et maintes fois, des entreprises d’une grande variété de secteurs ont augmenté leurs revenus, augmenté leur productivité et réduit leurs coûts en passant de l’analyse par tons à l’analyse en temps réel. Dimona, une entreprise de vêtements latino-américaine de premier plan fondée il y a 55 ans au Brésil, avait ceci à dire à propos de sa base de données de gestion des shares : « Alors que nous avons mis en ligne davantage d’entrepôts et de magasins, la base de données a commencé à s’enliser du côté de l’analyse. Les requêtes qui prenaient auparavant des dizaines de secondes ont commencé à prendre plus d’une minute ou à expirer complètement…. en utilisant le service de migration de base de données (DMS) d’Amazon, nous répliquons désormais en continu les données d’Aurora dans Rockset, qui effectue tout le traitement des données, les agrégations et les calculs. .” Les bases de données en temps réel ne sont pas seulement optimisées pour le CDC en temps réel – elles le rendent accessible et efficace pour les organisations de toute taille. Contrairement aux entrepôts de données cloud, Rockset est spécialement conçu pour ingérer de grandes quantités de données en quelques secondes et pour exécuter des requêtes en moins d’une seconde sur ces données.
CDC pour l’analyse en temps réel
Chez Rockset, nous avons vu l’adoption du CDC monter en flèche. Les équipes ont souvent des pipelines qui génèrent des deltas CDC et ont besoin d’un système succesful de gérer l’ingestion en temps réel de ces deltas pour permettre des costs de travail avec une faible latence de bout en bout et une évolutivité élevée des requêtes. Rockset a été conçu pour ce cas d’utilisation précis. Nous avons déjà créé des connecteurs de données basés sur CDC pour de nombreuses sources courantes : DynamoDB, MongoDB, et plus. Avec le nouveau help CDC que nous lançons aujourd’hui, Rockset lively de manière transparente le CDC en temps réel provenant de dizaines de sources populaires dans plusieurs codecs CDC normal de l’industrie.
Pour certains, lorsque vous ingérez des données dans Rockset, vous pouvez spécifier une requête SQL, appelée un ingérer la transformation, qui est évalué sur vos données sources. Le résultat de cette requête est ce qui est conservé dans votre assortment sous-jacente (l’équivalent d’une desk SQL). Cela vous donne la puissance de SQL pour tout accomplir, depuis renommer/supprimer/combiner des champs jusqu’au filtrage des lignes en fonction de circumstances complexes. Vous pouvez même effectuer des agrégations au second de l’écriture (cumuls) et configurez des fonctionnalités avancées telles que le clustering de données sur votre assortment.
Les données CDC sont souvent contenues dans des objets profondément imbriqués avec des schémas complexes et de nombreuses données qui ne sont pas requises par la vacation spot. Avec une transformation d’ingestion, vous pouvez facilement restructurer les paperwork entrants, nettoyer les noms et mapper les champs supply aux champs spéciaux de Rockset. Tout cela se passe de manière transparente dans le cadre de la plate-forme d’ingestion en temps réel gérée de Rockset. En revanche, d’autres systèmes nécessitent des travaux/pipelines ETL complexes et intermédiaires pour réaliser une manipulation de données similaire, ce qui ajoute de la complexité opérationnelle, de la latence des données et des coûts.
Vous pouvez ingérer des données CDC à partir de pratiquement n’importe quelle supply en utilisant la puissance et la flexibilité des transformations d’ingestion de Rockset. Pour ce faire, vous devez remplir quelques champs spéciaux.
_identifiant
Il s’agit de l’identifiant distinctive d’un doc dans Rockset. Il est necessary que la clé primaire de votre supply soit correctement mappée sur _id afin que les mises à jour et les suppressions de chaque doc soient appliquées correctement. Par exemple:
-- easy single area mapping when `area` is already a string
SELECT area AS _id;
-- single area with casting required since `area` is not a string
SELECT CAST(area AS string) AS _id;
-- compound main key from supply mapping to _id utilizing SQL operate ID_HASH
SELECT ID_HASH(field1, field2) AS _id;
_heure de l’évènement
Il s’agit de l’horodatage d’un doc dans Rockset. En règle générale, les deltas CDC incluent les horodatages de leur supply, ce qui est utile pour mapper le champ spécial de Rockset pour les horodatages. Par exemple:
-- Map supply area `ts_epoch` which is ms since epoch to timestamp kind for _event_time
SELECT TIMESTAMP_MILLIS(ts_epoch) AS _event_time
_op
Cela indique à la plate-forme d’ingestion remark interpréter un nouvel enregistrement. Le plus souvent, les nouveaux paperwork sont exactement cela – de nouveaux paperwork – et ils seront ingérés dans la assortment sous-jacente. Cependant, en utilisant _op, vous pouvez également utiliser un doc pour coder une opération de suppression. Par exemple:
{"_id": "123", "identify": "Ari", "metropolis": "San Mateo"} → insert a brand new doc with id 123
{"_id": "123", "_op": "DELETE"} → delete doc with id 123
Cette flexibilité permet aux utilisateurs de cartographier une logique complexe à partir de leurs sources. Par exemple:
SELECT area as _id, IF(kind="delete", 'DELETE', 'UPSERT') AS _op
Vérifier nos paperwork pour plus d’informations.
Modèles et plateformes
Comprendre les ideas ci-dessus permet d’intégrer les données CDC dans Rockset telles quelles. Cependant, construire la transformation correcte sur ces objets profondément imbriqués et mapper correctement tous les champs spéciaux peut parfois être supply d’erreurs et fastidieux. Pour relever ces défis, nous avons ajouté une prise en cost native à accès anticipé pour une variété de modèles de transformation d’ingestion. Ceux-ci aideront les utilisateurs à configurer plus facilement les transformations correctes en plus des données CDC. En faisant partie de la transformation de l’ingestion, vous bénéficiez de la puissance et de la flexibilité de la plate-forme d’ingestion de données de Rockset pour apporter ces données CDC à partir de l’une de nos sources prises en cost, y compris les flux d’événements, directement by way of notre API d’écriture, ou même by way of des lacs de données comme S3, GCS, et Azure Blob Storage. La liste complète des modèles et des plates-formes pour lesquels nous annonçons la prise en cost comprend les éléments suivants :
Prise en cost des modèles
- Débezium: Une plate-forme distribuée open supply pour la seize de données de changement.
- Service de migration de données AWS: service net d’Amazon pour la migration de données.
- Nuage confluent (by way of Debezium) : Une plateforme de streaming de données cloud-native.
- Arcion: Une plate-forme CDC d’entreprise conçue pour l’évolutivité.
- Striim: Une plateforme unifiée d’intégration et de streaming de données.
Prise en cost de la plate-forme
- Airbyte: Une plate-forme ouverte qui unifie les pipelines de données.
- Estuaire: Une plate-forme d’opérations de données en temps réel.
- Décodable: Une plate-forme de données en temps réel sans serveur.
Si vous souhaitez demander un accès anticipé au help des modèles CDC, veuillez envoyer un e-mail à help@rockset.com.
À titre d’exemple, voici un modèle de message pour lequel Rockset prend en cost la configuration automatique :
{
"knowledge": {
"ID": "1",
"NAME": "Consumer One"
},
"earlier than": null,
"metadata": {
"TABLENAME": "Worker",
"CommitTimestamp": "12-Dec-2016 19:13:01",
"OperationName": "INSERT"
}
}
Et voici la transformation déduite :
SELECT
IF(
_input.metadata.OperationName="DELETE",
'DELETE',
'UPSERT'
) AS _op,
CAST(_input.knowledge.ID AS string) AS _id,
IF(
_input.metadata.OperationName="INSERT",
PARSE_TIMESTAMP(
'%d-%b-%Y %H:%M:%S',
_input.metadata.CommitTimestamp
),
UNDEFINED
) AS _event_time,
_input.knowledge.ID,
_input.knowledge.NAME
FROM
_input
WHERE
_input.metadata.OperationName IN ('INSERT', 'UPDATE', 'DELETE')
Ces applied sciences et produits vous permettent de créer des pipelines de données en temps réel hautement sécurisés et évolutifs en quelques minutes seulement. Chacune de ces plates-formes dispose d’un connecteur intégré pour Rockset, évitant de nombreuses exigences de configuration manuelle, telles que celles pour :
- PostgreSQLName
- MySQL
- IBMdb2
- Vittes
- Cassandre
Du lot au temps réel
CDC a le potentiel de rendre l’analyse en temps réel accessible. Mais si votre équipe ou votre utility a besoin d’un accès aux données à faible latence, s’appuyer sur des systèmes qui traitent les données par tons ou par micro-lots fera exploser vos coûts. Les cas d’utilisation en temps réel sont gourmands en calcul, mais les architectures des systèmes basés sur les tons sont optimisées pour le stockage. Vous avez maintenant une nouvelle choice totalement viable. Les outils de seize de données modifiés comme Airbyte, Striim, Debezium, et al, ainsi que les bases de données d’analyse en temps réel comme Rockset reflètent une structure entièrement nouvelle et sont enfin en mesure de tenir la promesse du CDC en temps réel. Ces outils sont spécialement conçus pour des analyses hautes performances et à faible latence à grande échelle. CDC est versatile, puissant et standardisé d’une manière qui garantit que la prise en cost des sources et des locations de données continuera de croître. Rockset et CDC sont parfaitement assortis, réduisant le coût du CDC en temps réel afin que les organisations de toute taille puissent enfin transférer les tons passés et vers l’analyse en temps réel.
Si vous souhaitez essayer Rockset + CDC, vous pouvez commencer un essai gratuit de deux semaines avec 300 $ de crédits ici.