In 2010ish, we tried to roll out a feature (Treasury) using MongoDB. It was an interesting experience. I learned quite a bit in the process. I wrote about what I was thinking at the time here. But for the most part it was an abject failure and Ryan Young wound up porting the entire thing to the MySQL shards which had come to maturity in the meantime.
Before you get too excited, the reason for the failure is probably not any of the ones you're imagining. Mainly it's this: adding another kind of production database was a huge waste of time.
If you want to make Mongo your only database, it might work out well for you. I can't personally say it will definitely work out. I know that there's plenty of talk on the internet about Mongo's running-with-scissors-as-default and lack of single-server durability and rumors about data loss or what have you, but, none of that ever affected us. Those concerns may or may not have merit, but I personally have no experience with them.
But what I can say is that if you are considering Mongo plus another database like MySQL, then in all likelihood you shouldn't do it. The benefits of being schemaless are negated by the pain you will feel sorting out:
Logging.
Monitoring.
Slow query optimization.
init scripts.
Graphing.
Replication.
Sharding strategy.
Rebalancing strategy.
Backups.
Restoration.
Before you get too excited, the reason for the failure is probably not any of the ones you're imagining. Mainly it's this: adding another kind of production database was a huge waste of time.
If you want to make Mongo your only database, it might work out well for you. I can't personally say it will definitely work out. I know that there's plenty of talk on the internet about Mongo's running-with-scissors-as-default and lack of single-server durability and rumors about data loss or what have you, but, none of that ever affected us. Those concerns may or may not have merit, but I personally have no experience with them.
But what I can say is that if you are considering Mongo plus another database like MySQL, then in all likelihood you shouldn't do it. The benefits of being schemaless are negated by the pain you will feel sorting out:
Logging.
Monitoring.
Slow query optimization.
init scripts.
Graphing.
Replication.
Sharding strategy.
Rebalancing strategy.
Backups.
Restoration.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/301743/viewspace-751817/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/301743/viewspace-751817/