MongoDB vs CouchDB for NoSQL Copy of MySQL Database on LAMP Stack

I am looking for someone who likes PHP, Javascript (JSON), REST and MySQL to tell me which NoSQL database will be a better option for LAMP developers.

The specific application is creating a NoSQL database that will have a small amount of key-value objects, allowing the app to respond quickly to users with only the most important and time sensitive data. The only real time NoSQL updating would be logging user access timestamps.

High Level Process:

  1. User interacts with desktop or web application to handle major data entry transactions stored in MySQL
  2. Application copies subset of data into NoSQL as an object with the user's UUID as the key. Only the user's most recent transaction is stored in NoSQL.
  3. User connects to NoSQL data with a mobile device or voice to check on status of transaction

Question: Which NoSQL database is better for the above process for a LAMP developer and why?

Answers


MongoDb and CouchDb are quite similar. Anyway, MySQL is also quite responsive, and to increase performance, maybe you can look at Memcached.

MongoDb
  • Document oriented Database, based on BSON (JSON-like) documents
  • Key value database, but values can be BSON documents
  • High performance in both read and write operations
  • Scalable (Master-Slave replication)
  • Custom protocol
  • Not suited for applications that require data integrity (banking, ecommerce, accounting) -
CouchDb
  • Document oriented Database, based on JSON documents
  • Key value database, but values can be JSON documents
  • High performance in both read and write operations
  • Scalable (Master-Master replication with conflict resolutions)
  • REST protocol
  • Not suited for applications that require data integrity (banking, ecommerce, accounting) -- see the comment of Robert Newson - he's arguing that a document update is fully acid compliant and while it doesn't support transactions on multiple document update is still suited for this kind of applications. Also to consider that a "document" can contain structured information, it's more rich than a relational DB record. I'm going to think about it, before updating again this question.

Need Your Help

Android Text View Map Address

android textview

In Text View, i find a XML attribute 'autoLink'. We can assign a value 'map' to match map address. However, i don't know what is map address. Can anyone give me an example?