2016-10-05 52 views
3

有沒有辦法讓兩個KDB進程引用一個只讀表加載到主內存中?他們應該能夠獨立閱讀。要求是從磁盤加載數據一次。我提出了一個尷尬的解決方案,啓動一個Q(生產者)來加載表和剩餘的Q進程(消費者),本地連接並通過套接字拉動表。簡而言之,我試圖對選擇查詢進行多處理。謝謝KDB在內存中共享表

+2

就可以啓動進程與負端?這是你在找什麼http://code.kx.com/wiki/Cookbook/MultithreadedInputMode – Chromozorz

+0

Chromozorz - 謝謝你。我要檢查一下。我想到使用共享內存數據即在同一臺服務器(節點)上啓動單個KDB進程。表t。 – Vortex

+0

太棒了,讓我知道,如果這是你在找什麼。否則,我會發佈一個答案。乾杯 – Chromozorz

回答

1

是的。上get

KDB mmaps,所以只是有一個核心建立自己的表,並save它(可選splayed),然後告訴其他表得到它:

`:table set build_table ([] ...); 
other_cores @\: ({table:get x};`:table);