我想知道是否有(c++或D)序列化库,该库还提供了根据某些条件(如某些属性组合)来定位某个对象(已保存到磁盘)的技术。
我知道sqlite和mySQL等等,但我都在寻找替代方法。
因为那些数据库没有绑定(bind)到特定的数据库模式(在库的编译时就已知道),所以它们只是那么好。
在编译时就知道结构的库可以在很大程度上优化该结构。
也许甚至有一个库创建者,作为输入,您提供c++类和所需的位置/标识属性,作为输出,您获得了经过序列化/数据库库,该库经过了优化,可根据需要定位对象。
另外,我认为sqlite和类似功能对于我的使用来说是很强大的,因为我不需要所有的sql功能,仅需要根据对象的属性定位即可。
问候,
-马伦兹
最佳答案
我有一个正在开发中的Serialization lib。 (一些注释here。)尚未完成,但可以正常工作,只是缺少很多改进和“便利”功能。如果您有兴趣使用它,我会对反馈和功能要求感兴趣。
至于数据库存储,我只会使用SQLite或MySQL。据我了解,用于数据库的查询优化器使用的信息超出了您的编译时间(他们着眼于数据分布等)。
OTOH我一直在考虑制作一个编译时SQL引擎,该引擎使用元编程在编译时构建查询计划。我还有其他一些项目需要首先完成(例如,使用file_malloc
在文件中分配空间)。