我甚至不確定正確的術語,所以讓我從我的目標開始:創建一個簡單的應用程序(「Data Doler」),它只會從文件讀取大量數據到內存中,然後將這些數據的片段提供給稱爲「Data Lapper」的單個多線程應用程序,或Data Lapper的多個實例。sqlite vs共享內存應用程序vs ipc vs?
Data Doler只需啓動並讀取一次數據塊,因此我希望它至少能夠堅持到大決戰。 Data Doler應該只是在那裏閒置,等待Data Lapper(s)連接並開始請求數據。 Data Doler將始終在具有> 50 GB內存的多核機器上運行。
數據是靜態的並且是隻讀的,並且它被編入索引以便Data Lapper需要做的是爲Data Doler提供一個內存地址,並立即獲取請求的確切數據片段。可以使用任何語言(C,C++,AtariBasic等)編寫數據更新程序。
我有Data Lapper的C源代碼,所以我如何連接到Data Doler是完全開放的。
我已經開始瞭解關於SqLite,共享內存應用程序,命名管道,ipc等的知識。但是我希望有人能夠通過告訴我我應該咆哮哪棵樹,或者我對這些東西太無能爲力了,我寧願呆在門廊上。
閱讀還是寫作很高?閱讀競爭嗎?播放器保存數據多久? –
爲什麼不直接讓Data Lappers直接讀取文件,並讓操作系統的文件緩存處理其餘的問題?而哪個操作系統? –