well •really good for non-relational data No more Object-Relational Mapping, now you have Object- Document Mapping Queries, but not as you know them •Most document databases do not allow queries on arbitary properties
one is right for your project depends on many factors •MongoDB: For most things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back. •CouchDB: For accumulating, occasionally changing data, on which pre-defined queries are to be run. Places where versioning is important. A nice overview with much more can be found on http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
-X PUT http://127.0.0.1:5984/demo Create documents using Futon or with curl -H 'Content-Type: application/json' \ -X POST http://127.0.0.1:5984/demo \ -d '{"company": "Example, Inc."}' Fetch documents using Futon If you do manual work on the shell, try HTTPie instead of cURL Read guide.couchdb.org and docs.couchdb.org
Configure the index * * @return void */ public function configure() { $this->forEntity('Acme\Demo\Domain\Model\SomeEntity') ->indexProperty('name') ->indexProperty('relatedValueObject.color'); } }
by •implementing TYPO3\CouchDB\ViewInterface •configuring TYPO3\CouchDB\QueryView Design documents can be defined by extending TYPO3\CouchDB\DesignDocument
basically do what you want •Open a direct database connection •Read CSV files •Connect to a Solr server •Instantiate another Doctrine EntityManager Do something more advanced, let Radmiraal.CouchDB inspire you As long as you encapsulate nicely!
integration so far has been done and made possible by (applause!): •Beech IT •BKWI •Rens Admiraal •myself More work is needed, so if you think this is the way to go… contact me!