The document summarizes a meeting of the Accra MongoDB User Group held on November 10th, 2012. It provides information about MongoDB and 10gen, the company that develops MongoDB. It discusses 10gen's founders, management, offices, investors, and customer portfolio. It also summarizes why users should join the MongoDB User Group and covers topics from the meeting including MongoDB operations, what's new in version 2.2, aggregation framework, TTL collections, fragmentation, data center awareness, and developing an application to find nearby restaurants serving fufu using MongoDB.
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
Accra MongoDB User Group
1. Accra MongoDB User Group
Meeting held on 10th November 2012
Presented by Yusuf Hamza(Founder and Co-Organizer)
2. What is MongoDB?
- Database Management System
-Open Source
-Document Oriented
-Schema less
-Scalability
-Agility
-Rich Text Query
3. A Brief on 10gen
Founders
-Dwight Merriman: former DoubleClick Founder and CTO
-Eliot Horowitz: former DoubleClick engineer and ShopWiki Founder and
CTO
Dwight + Eliot =experiences building large scale, high availability, robust
systems.
Management
-Dwight Merriman, CEO & Co-Founder
Twitter: http://twitter.com/dmerr blog: http://dmerr.tumblr.com/
-Max Schireson, President
Twitter: http://twitter.com/mschireson blog: http://maxmschireson.com/
Eliot Horowitz, CTO & Co-Founder
Twitter: http://twitter.com/elliothorowitz blog: http://elliothorowitz.com/
4. Offices
-New York City (New York)
-Palo Alto (Carlifornia)
-Reston (Virginia)
-London(Great Britain)
-Dublin(Ireland)
-Barcelona(Spain)
-Sydney( Australia)
5. Investors
-Flybridge Capital Partners: www.flybridge.com
-Sequoia Capital: http://www.sequoiacap.com/us/technology
-Union Square Ventures: http:// www.usv.com/
-New Enterprise Associate, Inc. (NEA): http:// www.nea.com/
Customer Portofolio : USA
-Buddy Media -Prizee -Wordnik
-Cisco -Rangespan - Zuberance
-Craiglist -Server Density
-CustomLink -Shopcade
-Disney -Shurterfly
-Forbes -Smartling
-Foursquare -Sruq
-Intuit - The Guardian
-Mtv Networks -Tracckr
6. Why Join MongoDB User Group?
-Stimulate your intelligence
-Job Trends
-New way of dealing with Data
-Meet the demands of the future
- Learn and Share ideas in a relaxed and free session
- Get solutions to your database problems
- Collaborate to undertake new projects
- Any issue worth pursuing.
8. Use Cases:
- Operational Intelligence
- Content Management
- Product Data Management
- High Volume Data Feeds
- User Profile Management
- Hadoop.
9. Basic MongoDB Operations
Queries and what they
match
• http://www.10gen.com/static/downloads/mongodb_qrc_queries
.pdf
MongoDB Commands
• http://www.10gen.com/static/downloads/mongodb_qrc_commands.pd
f
10. The rise of NoSQL and why MongoDB is leading the pack.
Credit:Matthew Asslet
12. MongoDB 2.2. what’s new?
Concurrency
• DB level Locking
-Replication not impeded by other operations
-Can be spited into Dbs
• Yielding with Disk Acess
- Finish making sure no disk acess in a lock
- can measure globally and per db if it happens
- Can measure faults per db
13. Aggregation Framework
Map Reduce = complicated (javascrip codes) and not too awesome
MongoDB 2.2 Proves a simpler and more awesome approach
e.g Simple JSON Aggegation
db.post.aggregate(
{ $unwind : “$tags” ,
{ $group : { id : “$tags” ,
total : { $sum : 1 } } } )
14. TTL Collections
• Currently works with dates
• Db.sessions.ensureindex({ lastupdated : 1 } ,
{ expiresAfterSeconds :
86400 } ) ;
• Background Job deleting entries
• Storage engines configured for no fragmentation
15. Fragmentation
Reasons why it’s a problem
Storage engine free list stored by a power of 2
- Non heterogeneous sized data can fragment
-Always allocate power of 2
- db.carts.runCommand(
- “collmod” ,
-{ usePowerOf2sizes : true } )
Benefit: Consistency in performance
Setback: Unused disk spaces(Expensive)
16. Data Center Awareness
• Tagging for sharding
• Can tag shard –A, B,C
• Can define tag ranges
- 0 -100 > A
- 100-200 > B
- ……
Use Cases
• Geo Collocating Data
• Isolating Collections/data to specific shards/regions/types
• Non heterogeneous hardware
• Multi tenancy
17. A simple Applicationsusing MongoDB
Developing an application to find nearby restaurant serving
‘Fufu ‘Using MongoDB as datasore.
“Fufu” is a favorite delicacy in Ghana
18. • Geolocation Primer: Mehods to determine location
• Detecting the location of a web visitor: The W3C geolocation API
• Browsers support for the API
• The Geolocation object: getCurrentPosition() method
• Drawing map using the Google Maps API
• Geospational Indexes: creating geospatial indexe
• Performing location queries:finding restaurants near you using
geoNear()
Command and bounded queries
• Geospatial Haystack Indexing: finding restaurants near you serving
“fufu”
19. Free online courses from 10gen Education
10gen Education
• An online learning platform run by 10gen (the MongoDB company)
available to anyone in the world with an internet connection.
• free courses will teach you how to develop for and administer
MongoDB quickly and efficiently.
• Frequent assessments help you verify your understanding, and at the
end of a course, you'll receive a certificate of completion from 10gen.
• You'll also become a member of 10gen's community of cutting-edge
NoSQL technologists.
• Over time, 10gen will be adding classes on schema design, advanced
scaling and replication, and other topics, so check back often!
• 10gen's education platform was developed under a collaboration with
edX, the not-for-profit consortium between MIT, Harvard and Berkeley.