MongoDB World 2017: Video Games

Jane McGonigal’s keynote talk started by highlighting that 2.1 billion people around the world play video games.  12 billion hours a week are spent playing video games.  There is something that is energizing about gameplay.  A scan of the brain has shown that the opposite of play may be depression.

Gameplay seems to increase activity in the hippocampus portion of the brain.  One interesting fact is that gamers fail at gameplay 80% of the time.  In spite of this, gamers tend to activate the ability to learn.

Jane does game research and analyzed the psychology of gameplay.  Pokemon Go was fastest downloaded app  in the history of apps.  There were 500 million downloads in 30 days.  Why was this game so popular?  Pokemon go elicits a sense of opportunity for the players and engages users.  When 650 million people start walking around playing this mobile game, a lot of data is generated.  There have been analyses done around the statistics around the usage of this game.

Augmented Reality may be the most compelling experience and platform for gaming vs. virtual reality.  The lessons learned from gaming data are:

  1. People want to engage the real world in an interesting way
  2. Games will be a huge driver of data collection

The app called Priori listens to a person’s voice to determine a person’s mental state.  Emotionant is a technology that determines a person’s mood based on their facial expression.  Emotiv is a sensing device that can detect emotions.  Mooditood is a social network to share how people feel.


MongoDB: BI Connector & Tableau


Ronan Bohan from MongoDB and Vaidy Krishnan from Tableau presented the Jumpstart presentation.  The BI connector was just shipped by MongoDB.  The mission of Tableau is to harness the power of data.  There are three core tenets of the development philosophy are:

  1. Connectivity to access all data
  2. Design software for deeper thinking
  3. Ability to scale data and provide analytics on that data

There is a focus on Big Data.  The goal is to provide focus and make the data discoverable.  Vaidy stated that Tableau is about data access.  Tableau will transfer the data from the application layer to the business actionable level.  Tableau has been adopted by 55,000 clients all over the world.

Ronan began a discussion of how to connect MongoDB data to the Tableau platform.  Tableau was originally designed to work with structured data from relational databases.  MongoDB is designed to store semi-structured data.  This made MongoDB and Tableau incompatible.  This problem has been solved by the BI connector.  This allows MongoDB’s semi-structured data to connect to the Tableau visualization platform.

Ronan provided the audience with a demo using the BI Connector to link the MongoDB data to the Tableau visualization tool.  He displayed a DRDL Definition file which is a YAML  file that is used to map the MongoDB data to a schema that applications that consume structured data can understand.

Detailed information on the MongoDB BI Connector can found on the MongoDB website. (

Some use cases for using Tableau with MongoDB includes ad hoc analysis.

The future of the MongoDB BI Connector will include additional PushDown capabilities, improved authentication, and centralized management tools.

MongoDB 2017 Keynote

The keynote was given by Megan and Richard in the Hyatt Grand Ballroom.  Megan stated that there will be six tutorials.  MongoDB World is paperless this year, so a mobile app will be used to find sessions, tutorials and give feedback.

Tom Schenk is the first keynote speaker.  (CTO City of Chicago).  WindyGrid is a system built for the city of Chicago that allows city staff to analyze and visualize data piped into the system from 17 different input applications.  MongoDB drives this application.  Data that is sent to the system includes weather, 911 calls, 311 calls, etc.  Predictive analytics are used to drive the operations of the city.  Data is captured and managed in MongoDB. The code for the predictive analytics for food safety has been released as open source code.  (

Tom transitioned by introducing the CEO of MongoDB, Dev Ittycheria.  Dev started by going over the history of the internet and technology from the introduction of Netscape in 1995.  Around 2000, fiber optic communications were built out and made it cost effective for technology work to be distributed around the world.  2007 was a watershed year because the cost of computing power and storage dropped to a point where many new types of business concepts became feasible.  MongoDB was founded in 2007.

2007 document model, 2010 distributed framework, 2012 aggregation framework, 2013 Management and security, 2014 WiredTiger, 2015 Doc validation, 2016 MongoDB Atlas.

Dev talked about the growth of MongoDB over the last few years and how widespread the platform has become.  Last year there was a 30% increase in people taking MongoDB University classes.

Shawn Melamed (Morgan Stanley).  Shawn stated that Morgan Stanley started using MongoDB 5 years ago.  One of the attractions of the database is the flexibility of how the data can be structured.

2017 –  Elliot  Horowitz announcing new products and services coming out of MongoDB

  • Business Intelligence – (Note: Tableau 3.0 came out that allows this visualization tool that allows to easily connect to MongoDB)
  • MongoDB Charts has been announced which allows charts to be built in a document-centric view.  This allows developers and analysts to quickly build dashboards based on MongoDB.  The tool has an intuitive drag and drop interface and allows users to build common types of charts (bar charts, pie charts)  This feature will be part of MongoDB 3.6 and will be released later this year.
  • In MongoDB 3.6, the $lookup operator has been enhanced to allow more advanced and sophisticated queries.  Enhancements have been added to updating arrays
  • Fully expressive array updates
  • Schema ( schemaless, semi-structured, unstructured ).  MongoDB 3.6 will support JSON Schema.
  • Retryable writes – this guarantees that a write will happen at least one time and only one time if desired.
  • In 3.6, it will only be possible to connect to localhost by default.  This should close some current security holes in the product.
  • Change streams in action
  • MongoDB Stitch (NEW Service) – Backend as a service
    • REST API MongodDB
    • Configuration based authentication, privacy, and security
    • Service composition
    • Anywhere you want
    • Available on MongoDB Atlas today in beta

MongoDB 3.6 is scheduled to ship in, November 2017.

  • MongoDB Atlas is the recommended way of running MongoDB in the cloud.
    • Free Tier
    • Performance Tier
    • Queriable backups
    • Supported on AWS
    • Support added for Microsft Azure and Google Cloud
    • Hosted BI Connector
    • LDAP authentication  allows the connection with on-premise enterprise systems
    • Cross-regions support (coming next year)
    • Cross-cloud support (coming next year)

Cailin Nelson, Vice President, Cloud Engineering spoke and announced support for Microsoft Azure and Google Cloud in addition to AWS.  Atlas has been optimized for each cloud platform.  The new performance advisor allows administrators and developers to track down performance issues easily.

What has changed since 2007

  • The Web as a 1st class citizen
  • Mobile
  • IoT

Polymorphic data can appear in the same collection withing MongoDB, which is pretty powerful.

The hashtag #MDBW17 will be used to post announcements.

MongoDB World 2017 Chicago Opening

I’m in the Chicago Hyatt Ballroom waiting for the keynote, at MongoDB World 2017, to start.  It appears that this will be a good conference with a lot of informative breakout sessions.  It will interesting to see what product announcements and programs are introduced during the show.  There appears to be a sizable number of attendees at this year’s conference.  I will post any significant announcements from the show as I learn of them.

New posts will appear on Twitter and more detailed commentary will be made on this blog.

Technical Contractors vs. Full Time Employees

Over the course of my career, I have worked as both a full-time employee and a contractor for various firms and have seen the positive and negative aspects of both.  I am going to discuss using both from the perspective of the firms using them.  I have hired contractors in the past for projects my firm has done for clients, so I have been on both sides of the fence.


In an ideal world, firms would hire contractors or consultants to perform duties that are not a part of their core business or competency.  These would include projects or tasks that a firm may only need occasionally or as a one-off.  Full-time employees would be used to perform the activities associated with the core business of the firm on a long-term basis.  Unfortunately, in far too many cases, firms hire contractors, often via contracting firms, as indefinite staff augmentation.  This can wind up being unhealthy for both the firm and the contractors in the long run.  It is one of the reasons I limit my time at any one client or on any one project to no more than six months to two years, depending on the project.


Early in my career, a colleague told me that we would be luck to get 70% of the productivity of a full-time employee from a contractor.  Over the course of my career observing contractors, hiring contractors and being a contractor myself, I tend to agree with this statement.

Organizational Knowledge

A contractor, by definition, is not bound to an organization by benefits, stock vesting, retirement plans, etc., and is therefore prone to leave more frequently than a full-time employee.  Technical roles within organizations are rarely truly “vanilla” roles.  They typically require some domain knowledge that is only gained by working at an organization or on a project for some time.  When the contractor leaves, he/she takes this domain knowledge with them.


Using contractors or consultants for projects or tasks that are necessary for an enterprise, but not a core function of its business can save money over hiring a full-time employee to do something similar.  A good example would be, setting up and customizing a implementation for the sales departement of an organization.  It may not make sense to hire a full-time developer for tasks that will only be done occasionally.  An effective and much less expensive option in the long term, is to hire a contractor or consultant to do this sort of work.

Final Thoughts

A lot of thought should be put into whether to use contractors for a particular job or task.  This goes without saying.  The value of using contractors and consultants should be constantly re-evaluated with reviews occurring at least every six months.  If an organization finds that it continuously needs contractors for a business critical task over the long term, it may be better bringing in full time employees for to do this work.