我需要实现一个简单的图形数据库引擎,我应该考虑哪些事情?首先,我在使用哪种数据结构之间感到困惑,我的意思是图形表示(如邻接矩阵或邻接列表)或实际图形本身?我需要这个可扩展。 以后如何将图形作为文件存储在硬盘中?在以图像形式存储图形数据之后,我还需要一种方法来选择性地仅将某些文件加载到图形中,因为我无法将所有内容一次性加载到RAM中。抱歉模糊,但我需要有人指出我正确的方向。还请建议我可以使用的语言,我可以在这个项目中使用python吗?谢谢。
答案 0 :(得分:2)
根据您的需要,您将实现与数据库的不同接口,即。邻接矩阵或图表本身。
您可以使用键{/值存储,例如bsddb,leveldb或wiredtiger(首选),而不是使用基于文件的数据库。如果您使用有线网格,这将处理经常访问的文件缓存,提供ACID语义和索引。
在键/值存储上创建的存储层可以有多个布局。这取决于您需要的最终界面。
要开始使用键/值存储开发自定义数据库,我建议您阅读有关leveldb和bsddb的问题。
如下所示: