Why does foursquare use mongodb




















Foursquare can now take advantage of MongoDB's built-in auto-sharding. MongoDB has allowed foursquare it to dramatically simplify its data model. This is both more efficient at run-time and easier for engineers to understand and manipulate. MongoDB is a practical database for practical problems that engineers in the real world have…it's only going to continue to evolve into a database that just makes our jobs easier as application developers, which is fantastic.

Tagged with: mongodb, foursquare, agile development, big data, nosql, 10gen. MongoDB not only solved the initial problem, but also provided the tools for agile development. Foursquare can now take advantage of MongoDB's built-in auto-sharding. MongoDB has allowed foursquare it to dramatically simplify its data model. It will make your life easier later. For large collections like foursquare's checkins use short names for fields to avoid wasted space vid not venueid, dup not duplicate, etc.

Unless you're really small consider splitting up your data into different MongoDB clusters. This has several advantages: isolation: if you're doing things right, a single cluster should be able to fail without bringing down your whole site. This kind of isolation will drastically improve your availability different data has different access characteristics; some data really needs to stay in memory, some data can live on disk disk access patterns are key.

If you are forced to do this sort of thing you'll want to build new compacted replicas from time to time retired old fragmented replicas. Future versions of mongo should deal with this better. Monitoring is your friend hopefully you already knew this , monitor and graph everything but a couple key things to pay attention to are: memory resident size disk io rates.

MongoDB does not have this requirement. Speed was another factor in using MongoDB. MongoDB has a distributed architecture, so it can easily scale up a data store across multiple servers.

In the case of Foursquare, MongoDB is now saving all the data generated by the service's users. Formerly, the company used PostGres, but it is in the process of migrating its data off that relational database. Foursquare is a location-based social network. As users travel about, they can post, or "check in," that they are at a certain location, such as a restaurant.

It's designed to help people discover acquaintances who are nearby. Eventually, it will evolve into a city guide, one that can offer recommendations of nearby retail establishments, Heymann said. Foursquare has 9 million users, who do 3 million "check-ins" per day. So far, the service has amassed about million check-ins across 4 million places.

Overall, Foursquare has 2. The biggest reason for switching to MongoDB, Heymann said, was for its auto-sharding, or the ability to split a database across different servers.



0コメント

  • 1000 / 1000