MongoDB 3.2.0-rc3 is out and is ready for testing. This is the culmination of the 3.1.x development series.
Fixed in this release candidate:
- SERVER-20164: Finish unit tests for CatalogManagerReplicaSet::addShard
- SERVER-21287: $lookup should use $eq queries
- SERVER-21298: rollback_index.js fails to wait for replication before continuing
- SERVER-21292: replsets/remove1.js failed in replset_legacy suite
- SERVER-20937: Add mode to FSM framework that drives greater amount of load on the system
- SERVER-21099: Improve logging in SecureRandom and PseudoRandom classes
- SERVER-20402: Add Election Failover JS tests
- SERVER-21308: fsm-suite doesn’t wait long enough for the distributed lock when dropping a collection
- SERVER-20867: Integrate mongobridge into ShardingTest
- SERVER-21355: Coverity analysis defect 76731: Unchecked return value
- SERVER-21305: Lock ‘timeAcquiringMicros’ value is much higher than the actual time spent
- SERVER-21371: find_and_modify_concurrent_update.js join() is called after read
- TOOLS-983: mongorestore panic when restoring a compressed archive without using –gzip
Want to test the release? Get involved in the MongoDB Bug Hunt and enter for a chance to win some prizes for your contributions.
As always, please let us know of any issues.
– The MongoDB Team
MongoDB Authentication and Automation
MongoDB supports role-based authentication, so you can restrict access to your deployment for safety and security. Cloud Manager Automation makes enabling and managing your users easy. An important note before we begin: Authentication Settings made here apply to your entire Cloud Manager group. If you are using Automation, and it’s vital that different deployments in your group have different credentials, you will have to create a new Cloud Manager group for these deployment items and import them . Enabling Authentication If you already have authentication enabled, follow the normal importation into Automation methodolgy , especially noting the creation of a new automation-agent user, then you can skip this section and go on to the role and user management sections below. If you have an unauthenticated deployment: Click the “…” menu on your Deployment Page and choose “Authentication & SSL Settings” Click “Next” to get to the “Select Authentication Mechanisms” screen Select “Username/Password” and click “Next”. Click “Next” again to skip the SSL settings (a topic for this other post ). Now you will see the new users that will be automatically created for you. Click “Save” to create a new automation draft with your new users. Now you just have to “Review & Deploy” and “Confirm & Deploy” as normal. Beware: Clients without authentication will fail to connect after this point. Make sure your application is ready for this change. Check your drivers’ documentation on how to enable MongoDB authentication in your application. Role Management Let’s start with adding a new role: Head over to your “Authorization & Roles” tab When you click the “Add Role” button in the upper-right, you will be presented with a dialog to fill out: You can even add collection-level and other privileges if you want In my case, I’ve let my reader role also be able to do certain diagnostic actions Once the role is added, you just have to do the usual “Review & Deploy”/”Confirm & Deploy” to push this role out to your group. Once the role has been created, you can edit or remove it via the gear icon, as shown below. You can only edit custom roles, not built-in roles . Users Once you have the roles you need (if you need custom roles at all), you can start creating users. Head to your “Authentication & Users” tab Create a new user via the “Add User” button in the upper-right You can choose any custom or built-in roles you wish and enter the user’s password Once the user is added, you just have to do the usual “Review & Deploy”/”Confirm & Deploy” to push this user out to your group. Once the user has been created, you can edit or delete it via the gear. You cannot edit the built-in users for the agents. Removing Authentication Maybe you have moved your deployment into a private network and have decided to remove your authentication settings. Here’s how: Click the “…” menu on your Deployment page and select “Authentication & SSL Settings” Click “Next” to get to the “Authentication Mechanisms” screen and un-check “Username/Password” Click “Next” to skip the SSL settings, and then click “Save” When you next do a “Review & Deploy”/”Confirm & Deploy”, the Automation Agents will disable authentication. All your custom roles and users will remain cached in Cloud Manager in case you wish to re-enable authentication. You can edit them even when authentication is not enabled.
Australian Start-Up Ynomia Is Building an IoT Platform to Transform the Construction Industry and its Hostile Environments
The trillion dollar construction industry has not yet experienced the same revolution in technology you might have expected. Low levels of R&D and difficult working environments have led to a lack of innovation and fundamental improvements have been slow. But one Australian start-up is changing that by building an Internet of Things (IoT) platform to harness construction and jobsite data in real time. “Productivity in construction is down there with hunting and fishing as one of the least productive industries per capita in the entire world. It's a space that's ripe for people to come in and really help,” explains Rob Postill , CTO at Ynomia. Ynomia has already been closely involved with many prestigious construction projects, including the residential N06 development in London’s famous 2012 Olympic Village. It was also integral to the construction of the Victoria University Tower in Australia. Link to Podcast Episode Here “These projects involve massive outflow of money: think about glass facades on modern buildings, which can represent 20-30 percent of the overall project cost. They are largely produced in China and can take 12 weeks to get here,” says Postill. “Meanwhile, the plasterer, the plumber, the electrician are all waiting for those glass facades to be put on so it is safe for them to work. If you get it wrong, you can go in the deep red very quickly.” To tackle these longstanding challenges, Ynomia aims to address the lack of connectivity, transparency and data management on construction sites, which has traditionally resulted in the inefficient use of critical personnel, equipment and materials; compressed timelines; and unpredictable cash flows. To optimize productivity, Ynomia offers a simple end-to-end technology solution that creates a Connected Jobsite. Helping teams manage materials, tools, and people across the worksite in real time. IOT in a Hostile Environment The deployment of technology in construction is often fraught with risk. As a result, construction sites are still largely run on paper, such as blueprints, diagrams and models as well as the more traditional invoices and filing. At the same time, there is a constant need to track progress and monitor massive volumes of information across the entire supply chain. Engineers, builders, electricians, plumbers, and all the other associated professionals need to know what they need to do, where they need to be, and when they need to start. “The environment is hostile to technology like GPS, computers, and mobile phone reception because you have a lot of Faraday cages and lots of water and dust,” explains Postill. “You can't have somebody wandering around a construction site with a laptop; it'll get trashed pretty quickly." Enter MongoDB Atlas “On a site, you might be talking about materials, then if you add to that plant & equipment, or bins, or tools etc, you're rapidly getting into thousands and thousands of tags, talking all the time, every day,” said Postill. That means thousands of tags now send millions of readings on Ynomia building sites around the world. All these IoT data packets must be stored efficiently and accurately so Ynomia can reassemble the history of what has happened and track tagged inventory, personnel, and vehicles around the site. Many of the tag events are also safety critical so accuracy is a vital component and packets can't be missed. To address these needs Ynomia was looking for a database that was scalable, flexible, resilient and could easily handle a wide variety of fast-changing sensor data captured from multiple devices. The final component Postill was looking for in a database layer was freedom: a database that didn't lock them into a single cloud platform as they were still in the early stages of assessing cloud partners. The Commonwealth Scientific and Industrial Research Organisation , which Postill had worked with in the past, suggested MongoDB , a general purpose, document-based database built for modern applications. “The most important factor was that the database is event-driven, which I knew would be difficult in the traditional relational model. We deal with millions of tag readings a day, which is a massive wall of data,” said Postill. A Cloud Database Ynomia is using MongoDB Atlas , the global cloud database service, now hosted on Microsoft Azure. Atlas offers best-in-class automation and proven practices that combine availability, scalability, and compliance with the most demanding data security and privacy standards. “When we started we didn't know enough about the problem and we didn't want to be constrained," explained Postill. "MongoDB Atlas gives us a cloud environment that moves with us. It allows us to understand what is happening and make changes to the architecture as we go." Postill says this combination of flexibility and management tooling also allows his developers to focus on business value not undifferentiated code. One example Postill gave was cluster administration: "Cluster administration for a start-up like us is wasted work," he said. "We’re not solving the customer's problem. We're not moving anything on. We’re focusing on the wrong thing. For us to be able to just make that problem go away is huge. Why wouldn’t you?" Atlas also gives Ynomia the option to spin out new clusters seamlessly anywhere in the world. This allows customers to keep data local to their construction site, improving latency and helping solve for regional data regulations. Real Time Analytics The company has also deployed MongoDB Charts, which takes this live data and automatically provides a real time view. Charts is the fastest and easiest way to visualize event data directly from MongoDB in order to act instantly and decisively based on the real-time insights generated by event-driven architecture. It allows Ynomia to share dashboards so all the right people can see what they need to and can collaborate accordingly. “Charts enables us to quickly visualize information without having to build more expensive tools, both internally and externally, to examine our data,” comments Postill. “As a startup, we go through this journey of: what are we doing and how are we doing it? There's a lot of stuff we are finding out along the way on how we slice and re-slice our data using Charts.” A Platform for Future Growth Ynomia is targeting a huge market and is set for ambitious growth in the coming years. How the platform, and its underlying architecture, can continue to scale and evolve will be crucial to enabling that business growth. “We do anything we can to keep things simple,” concluded Postill. “We pick technology partners that save us from spending time we shouldn't spend so we can solve real problems. We pick technologies that roll with the punches and that's MongoDB.” When we started we didn't know enough about the problem and we didn't want to be constrained," explained Postill. "MongoDB Atlas gives us a cloud environment that moves with us. It allows us to understand what is happening and make changes to the architecture as we go. Rob Postill, CTO, Ynomia