PHP-friendly NoSQL solutions [closed]
I'm looking to use a NoSQL solution for my next project, which will be written in PHP. What choices do I have in terms of NoSQL solutions that can easily interfaced via PHP? I haven't done much thinking about the architecture yet, so I'm not sure what my needs will be; I'd simply like to know what my choices are so I don't build something I can't reasonably implement.
For instance, I know Cassandra has Pandra, but that's just a PHP library. MongoDB has a native PECL extension.
Solution 1:
I wrote the PHP driver for MongoDB and I think it's a great interface :)
The mongo PECL package is not only pretty mature (comparatively... nearly a year and a half old now!) and fairly thoroughly documented, it is really widely used. If you check out MongoDB's PHP page, you can see that there are ways of integrating it with Cake, Doctrine, Drupal, Kohana, Symfony, and Zend, as well as a couple admin GUIs (like PHPMoAdmin) and several of it's own ODMs (object document mappers).
P.S. salathe has a good point, though, the best solution is really going to depend on what you're doing.
Solution 2:
CouchDB has PHPillow:
PHPillow is an object orientated wrapper for CouchDB. Releases can be found on the downloads page. Apache CouchDB is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API. Among other features, it provides robust, incremental replication with bi-directional conflict detection and resolution, and is queryable and indexable using a table-oriented view engine with JavaScript acting as the default view definition language.
Also see http://nosql-database.org for a good overview.
Solution 3:
a NoSQL solution
Your question is very vague, whether you intended it or not. Without knowing that you are wanting to get out of the NoSQL solution then any recommendations would just be naming names (not necessarily a bad thing, but nothing that you can't Google yourself in a few minutes). For example, the two that you name above (Cassandra and MongoDB) are different animals: to base the choice on friendliness seems a little short-sighted.
So, could you have a think about it, then come and elaborate on the project (no need to divulge details; general approaches, wants and desires, that sort of thing) to aid us in helping you move towards a choice?
P.S. This is only an "answer" because it's too long for a comment. Waffley fingers!
P.P.S. Not that it means anything, but I am quite the fan of MongoDB... with PHP or otherwise.