我有非常簡單的結構化數據,目前以家庭自制文件格式存儲,但我想知道是否應該遷移到更現代化的東西。數據僅爲double
s的一個表格,由double
列索引。我需要執行的操作是:關於我的數據存儲問題的意見(數據庫/自制解決方案)
- 遍歷表遍歷。
- 插入和刪除任意記錄。
- 在給定鍵值(鍵可能不在數據庫中)之前和之後選擇給定數量的行。
的要求是:
- 存儲必須基於文件的無服務器是。
- 應該不需要將整個文件讀入內存。
- 生成的文件應該可以在不同的體系結構之間進行移植(端到端...)
- 必須是一個非常穩定的項目(數據非常關鍵)。
- 必須在Solaris/SPARC上運行,最好在Linux/x64上運行。
- 訪問時間應儘可能快。
- 必須作爲C++庫提供。 Fortran和Python綁定的加分點:)
- 可選的精度更高的數字表示形式比雙精度更具優勢。
- 相對緊湊的存儲大小也是一種獎勵。如果SQLite是不夠快
從我有限的經驗,源碼將是一個有趣的選擇,或在非服務器模式或許MySQL的。但是,也許一個成熟的SQL數據庫是矯枉過正的?
你有什麼建議?
是否所有的值都可以存儲在內存中?如果是的話,那麼`std :: map`或者`std :: vector >`可以做到這一點。 –
2011-02-11 09:08:24
不,對不起,我應該更清楚一點:我正在尋找持久存儲。此外,行可以具有任意長度(但每個表的固定長度),除索引外,它們不僅包含一個double。 – lytenyn 2011-02-11 09:12:02