寻找实际工作的db抽象/替代品

时间:2010-01-09 18:45:38

标签: php database sqlite orm lucene

我正在寻找一种能满足一些要求的数据存储形式。我意识到这些要求是非标准的,现在我正在使用像其他人一样的activerecord和ORM解决方案,但这是我的“圣杯” - 如果你知道这样的事情,我会永远感激:

  1. 纯PHP
  2. 多个存储库,最好是基于文件的可移植性,我可以通过告诉它“使用存储库[X]”来实例化 - 我不想预先创建存储库[X],如果我引用它,它就存在
  3. 零数据库配置 - 我不想创建表或导出SQL转储,如果它在我的代码中被引用,它需要在数据库中,自动创建,没有任何大惊小怪,我的代码是我的架构
  4. 层次结构,而不是关系,理想结构只是一个自由形式,无架构的XML,但由于XML对大型树执行可怕,它不能简单地成为XML文件。
  5. 我已尝试使用平面XML存储(使用xpath和xquery),但它在中型存储库中噱头,并使应用程序瘫痪。

    我还尝试使用单个通用表放入SQLite数据库中的key =>值对,但是这个ggs甚至更快,并且从key =>值对重新形成最简单的记录是性能抽取器

    最后,我在zend框架中实现了lucene,除了无更新部分之外,它非常接近理想。

    任何想法,任何人?

2 个答案:

答案 0 :(得分:1)

我对RedBean一直非常有趣,它不是专为flatfiles设计的,而是在PDO上运行,因此为它编写一个sqlite模块应该相对容易。不确定它是否适合您的需求,但绝对值得一看。

答案 1 :(得分:1)

以下是您可能会发现有用的一些链接:

另外,您考虑过使用Berkeley DB吗?

有些DB extensions listed in the PHP Manual旨在用于像平面文件一样的数据库。


根据您的描述,似乎PHP数组应该可以完美运行:

  • 纯PHP
  • 基于多个数组,文件或内存
  • 您的代码是您的架构
  • 分层

您可以使用serialize()var_export()函数启用文件存储。