aslında çalışan bir db soyutlama / yerine arıyor

2 Cevap php

ben bir kaç ihtiyaçlarına cevap olacak veri depolama biçimi için arıyorum. i bu gereksinimleri standart dışı olduğunun farkında, ve şimdi ben de herkes gibi activerecord ve ORM çözümleri kullanarak değilim, ama bu benim "Holy Grail" - Eğer böyle bir şey biliyorum, ben sonsuza dek minnettar olacaktır:

  1. pure PHP
  2. i depo [X] önceden oluşturmak istiyorsanız, if i reference it, it exists yok - çoklu depoları, tercihen file based taşınabilirlik için, ben nerede "kullanımı depo [X]" bunu anlatarak örneğini .
  3. sıfır veritabanı yapılandırma - benim kodunda başvurulan eğer ben tabloları veya ihracat SQL dökümlerini oluşturmak istemiyorsanız, bu olması gereken veritabanı, otomatik oluşturulan herhangi bir karışıklık olmaksızın, my code is my schema
  4. hierarchical, ilişkisel değil, ideal bir yapı, sadece bir serbest formlu, şema az XML olurdu, ancak XML büyük ağaçlar ile korkunç gerçekleştirir beri, sadece bir XML dosyası olamaz.

i yassı XML depolama (XPath ve XQuery) ile tecrübe var ama orta büyüklükte bir depo üzerinde gags ve uygulama sakat.

ben de bir tek genel tablo ile bir SQLite veritabanı içine düştü anahtar => değer çiftleri ile denemişlerdir, ama o daha hızlı gags ve anahtar => değer çiftleri bile basit rekor bir performans decimator olduğunu yeniden şekillendirme.

dışında hiçbir güncelleme kısmından, ideale oldukça yakın zend çerçevesinde, uygulanan nihayet, ben Lucene ile denedi.

herhangi bir fikir, herkes?

2 Cevap

I RedBean, oldukça flatfiles için tasarlanmış, ama PDO'de üzerinde çalışır, bu yüzden bunun için bir sqlite modül yazmak nispeten kolay olmalı olmayacak ile çok eğlenceli sahip oldum. Ihtiyaçlarınız için çalışacaktır eğer emin, ama bir göz alarak kesinlikle değmez.

İşte size yararlı olabilecek bazı bağlantılar:

Ayrıca, Berkeley DB kullanarak kabul var?

Bazı DB extensions listed in the PHP Manual veri tabanları gibi düz dosya kullanılmak üzere tasarlanmıştır.


Açıklamasından bu mükemmel çalışması gerekir PHP diziler gibi görünüyor:

  • saf PHP
  • göre birden fazla diziler, dosya veya bellek
  • kodunuzu şema
  • hiyerarşik

Bu dosya depolama etkinleştirmek için serialize() veya var_export() işlevlerini kullanabilirsiniz.