KDB Tickerplant设置/架构,带投标匹配引擎
我有一个相当默认的tickerplant设置正在运行 (数据模拟进程推送到tickerplant,tickerplant由RDB订阅,EoD刷新写入HDB,网关进程查询RDB和HDB等) 现在,我想用出价匹配引擎替换数据模拟过程。 此过程需要实时访问报价、订单、交易和其他用户/会计数据表等表 我现在的问题如下:KDB Tickerplant设置/架构,带投标匹配引擎,kdb,Kdb,我有一个相当默认的tickerplant设置正在运行 (数据模拟进程推送到tickerplant,tickerplant由RDB订阅,EoD刷新写入HDB,网关进程查询RDB和HDB等) 现在,我想用出价匹配引擎替换数据模拟过程。 此过程需要实时访问报价、订单、交易和其他用户/会计数据表等表 我现在的问题如下: 我想将bidmatcher所需的表放入RDB,并通过tickerplant通过.u.upd填充它们。这是正确的方法吗?或者我应该将表保留在bidmatcher流程的本地位置 向RDB查
- 我想将bidmatcher所需的表放入RDB,并通过tickerplant通过
填充它们。这是正确的方法吗?或者我应该将表保留在bidmatcher流程的本地位置李>.u.upd
- 向RDB查询来自bidmatcher的数据(同步)安全吗
- 如果我将这些表放在RDB中,并通过tickerplant填充它们,我如何管理upserts?
只执行插入操作,我找不到任何与.u.upd
或upsert
兼容的示例实现delete
.u.upd
函数使用16=键入first x
检查键控列后的列,如果记录恰好是键控表,则在同一函数中达到(登记(先计数x)#a),x
时,此操作失败。
要解决此问题,您必须修改upd函数,以包含“键入第一个x=99h”的检查。通过这种方式,它可以为您的数据进行适当的分支和处理升级 使用tickerplant将数据传递到RDB,而不是使用独立的bidmatcher流程,这有着显著的优势。这允许其他订阅者在您的设置将来更改时接收bidmatcher数据,tickerplant将创建日志,在RDB崩溃时保存和重播数据 对RDB使用同步查询将起作用,因为它只是日内数据,但如果每天存储大量数据,则可能会注意到RDB在运行查询时暂时锁定。另一种方法是使用异步查询,这样它在等待返回结果时不会阻塞句柄 如果要将数据传递到tickerplant,则必须在其中定义模式,然后将其读入RDB,这样模式在那里是相同的。如果使用键控表作为记录,则它将失败,因为tickerplant预期键控列为时间列之后的第一列。在典型的kdb+勾选设置中,
.u.upd
函数使用16=键入first x
检查键控列后的列,如果记录恰好是键控表,则在同一函数中达到(登记(先计数x)#a),x
时,此操作失败。
要解决此问题,您必须修改upd函数,以包含“键入第一个x=99h”的检查。通过这种方式,它可以为您的数据进行适当的分支和处理升级