English 中文(简体)
NO-SQL reliable for small business app?
原标题:

I m deciding between go for a NON-SQL engine or a regular SQL one for a document managment system for small bussines.

I have experience with firebird/sql server and found a good track of reliability (specially with firebird).

This market is full of crappy "servers" (clon-made PC, the mayority), cheap harddisk, rarely use of RAID or anything like that, some are in locations where a power-off is normal, some not have a UPS, etc... (I will include off-site auto-backup to external servers, but that no change the internal setup). (I know about end-user education about such proper setups, but is stupid depend on that, so stick to te point)

From the desing point of view, a schema-less database is the way to go for my system, but, I worry if any of the actual solutions (MongoDb, Tokyo Cabinet, etc) are like firebird and survice crash, malfunctions & abuse so data corruption is very rare.

The plan is store the office documents there & provide a central repository.

问题回答

Check out Neo4j. It is a graph database (schema-free) that can be used like a document or key/value store.

Neo4j has been in production for many years in environments like you describe. Unlike many other NOSQL databases Neo4j actually flushes data to disk and uses a transaction log to recover from an inconsistent state. It also has real transactions (full ACID) that can span multiple operations and treat them as a single unit (which also seems to be a feature that is frequently left out in many other NOSQL stores).

-Johan

(Disclaimer: I am part of the Neo4j team)

CouchDB has the reliability you need:

The CouchDB file layout and commitment system features all Atomic Consistent Isolated Durable (ACID) properties. On-disk, CouchDB never overwrites committed data or associated structures, ensuring the database file is always in a consistent state.

Look at the ACID Properties section here for more info.

With CouchDB you also get easy backup and replication.

I ve no code in production using CouchDB yet, but so far I m very happy with the tests and the development process with CouchDB.





相关问题
Fail Fast vs. Robustness

Our product is a distributed system. The modules I work on are fairly new, quite rigorous, well tested. They were developed with recent best practices in mind. Other modules can be considered as ...

NO-SQL reliable for small business app?

I m deciding between go for a NON-SQL engine or a regular SQL one for a document managment system for small bussines. I have experience with firebird/sql server and found a good track of reliability (...

Failure scenarios for reliable UDP?

What could be good list of failure scenaros for testing a reliable UDP layer? I have thought of the below cases: Drop Data packets Drop ACK, NAK Packets Send packets in out of sequence. Drop intial ...

热门标签