Closing session and MongoDB roadmap

v2.2 projectedt 2012 Q1

  • Concurrency: yielding and db or collection-level locking

  • Improved free list implementation

  • New aggregation framework

  • TTL collections

  • Hash shard key

    • Hashing gives you flat distribution

Concurrency Issues

  • No excessive blocking

    • dropIndex
    • getLastError
    • isMaster
    • etc…
  • May block for long times

    • foreground index creation
    • reindex
    • compacty (is that a startup name? ha ha ha)
    • repair database
    • creating a very large (many gb) capped collection
    • validate connection

Aggregation Framework

  • Declarative, no JavaScript reipred
  • Pipeline model: $match, $project, $group
  • Easy to add new operations
  • C++ native (non-JavaScript) implementation

TTL Collections

  • Currently: Evict old data to make room for new records by crating a timestamp index, an d create a cron job to delete stale items with update
  • Coming: per object or per collection: automates deleting documents older than some limit.

Harsh Shard Key

  • If you are not expecting range queries on the shard key
  • Then it makes sense to shard by hask key, you naturally get a flat distribution
  • In a sense this is the easiest possible case
  • Mongodb started by solving the hard case.

Short List (not in 2.2 but coming up)

  • Full text Search (so you don’t need SOLR)

    • The absolute number one requested feature
    • Done but needs to be vetted and tested better
    • Text searches can generate bajillions of extra records and other issues
    • Sounds like they are trying to do it right.
  • More concurrency

  • Online compaction

    • Make the system smaller on the fly
    • This way you don’t have to play replica set games to clean things up
  • Internal compression

  • Read tagging

10gen Hiring

  • NYC/Silicon Valley - may see us

  • EU

    • London
    • Dublin
  • Anywhere - Language Evangelist