2017-06-26 2 views

Répondre

2

Sous l'architecture kdb + tick standard, le RDB n'expose aucune fonctionnalité pub/sub. Le RDB va plutôt s'abonner au TP (Tickerplant). D'autres composants peuvent également s'abonner au TP.

J'ai entendu parler d'implémentations dans lesquelles des fonctions pub/sub sont ajoutées à une base de données relationnelle. Si tel est le cas, l'insertion d'un enregistrement dans une table n'entraînera probablement pas sa publication en aval (mais cela dépend de la façon dont RDB pub/sub a été implémenté dans votre cas)

Si toutefois, vous vouliez dire un TP et pas un RDB dans la question initiale, puis l'insertion d'un enregistrement dans une table dans le TP entraînera sa publication aux abonnés en aval soit sur (1) l'appel .u.upd suivant sur l'appel de TP ou (2) si TP est en temps différé.

Mais ce n'est pas la bonne façon d'obtenir un enregistrement publié en aval. La méthode correcte consiste à appeler la fonction .u.upd (TP)/upd (RDB) sur le processus.

Par exemple:

On TP: 
    .u.upd[<tableName>;<tableData>] 
On RDB: 
    upd[<tableName>;<tableData>] 
+0

Salut, merci pour vos commentaires. Comment se fait-il que s'il y a une fonction pub/sub dans rdb, l'instance en aval ne sera pas mise à jour? mais il sera mis à jour si c'est tp/rdb? – Terry

+0

@Terry c'est le travail du tickerplant de relayer les messages aux abonnés, pas le RDB. Si vous voulez faire ceci, vous devez mettre en place des tickerplants chaînés –

+0

je comprends que c'est le travail de tp. cependant, s'il y a une fonction pub/sub dans rdb, n'est-ce pas toujours la même chose? – Terry