MongoDB 3.2.7-rc1 is out and is ready for testing. This is a release candidate containing only fixes since 3.2.6. The next stable release 3.2.7 will be a recommended upgrade for all 3.2 users.
Fixed in this release:
- SERVER-18783: Upgrade MongoDB past PCRE 8.37
- SERVER-23919 Database/Collection drop during initial sync can cause collmod to fail initial sync
- SERVER-24054 JS segmentation fault on load of certain nans
- SERVER-24058 Connection pool asio doesn't honor setup timeouts
- SERVER-24062 Native CA certificates don't work with homebrew's openssl
- SERVER-24117 Mongo binaries ELF stack has become executable
- TOOLS-1166 Mongotop cannot connect to secondary in 3.2
- WT-2560 Stuck trying to update oldest transaction ID
As always, please let us know of any issues.
-- The MongoDB Team
Leaf in the Wild: Swisscom Builds its New Application Cloud PaaS for Microservices with Cloud Foundry, Docker, and MongoDB Enterprise Advanced
Leaf in the Wild posts highlight real world MongoDB deployments. Read other stories about how companies are using MongoDB for their mission-critical projects. Swisscom is leading the transformation from traditional telecommunications company to cloud services provider. Through its new Application Cloud, Swisscom is enabling independent developers through to multinational Swiss-based enterprises to build a new generation of cloud-native microservices on a highly scalable and secure Platform-as-a-Service (PaaS). I met with Marco Hochstrasser, Head of Cloud Platform Development at Swisscom, to learn more. Can you start by telling us a little bit about your company? Swisscom is the largest communications provider in Switzerland, delivering voice, mobile, broadband and TV services to 80% of the population. We generate annual revenues of €11bn, and employ over 20,000 people. A growing percentage of the company’s revenue comes from our enterprise business, providing companies in Switzerland with network, IT outsourcing, mobility, digital enterprise solutions and smart working. Cloud services are one of the fastest growing segments of the enterprise business. We provide the full range of infrastructure, software, and Platform-as-a-Service (PaaS) offerings for our enterprise customers in Switzerland. Can you tell us how you are using MongoDB? MongoDB is one of the core database offerings available through our PaaS services: The Swisscom Application Cloud is a public PaaS, available to any developer. The platform allows developers to concentrate on coding, leaving management of the underlying operating systems, middleware, and databases to us. The service was launched in October 2015 and already hosts thousands of cloud-native applications in modern container technology. The Swisscom Application Cloud Virtual Private is a newly launched offering that provides a dedicated PaaS for enterprise customers. It is hosted and managed in our Swiss data centers with interconnectivity directly to the customer’s own network and IT infrastructure. Whether using the public or virtual private Application Cloud, all data is stored in Switzerland on our own network and routed via our local, state-of-the-art data centres. This enables us to guarantee maximum security and smooth operation for local developers and enterprises. Why did you choose MongoDB as a service in the App Cloud? We offer traditional relational databases, along with caches, message queues and search engines. We wanted to include a non-relational option, and sought feedback from the market. MongoDB was the overwhelming choice – compared to Cassandra and Couchbase there is a significantly larger community around the product. There is much higher customer demand for MongoDB, especially from the verticals that constitute the main part of our customer base. Please describe the technology stack powering your public and private Application Cloud We are running an open-standards based stack across our PaaS offering, which enables our customers to avoid the lock-in inherent with other cloud services. The technology includes: ODM-built state of the art x86 hardware to scale efficiently Plumgrid software-defined networking to interconnect with Swisscom’s existing networks ScaleIO software-defined storage to bring policy-based provisioning and management to every layer of our technology stack Red Hat OpenStack with KVM virtualization for the IaaS layer Docker for running cloud-native containers (in Cloud Foundry), as well as persistent containers for stateful services Flocker to bring persistency into our service-container framework Cloud Foundry is our PaaS layer, providing a highly standardized and widely adopted platform. Swisscom is a gold member of the Cloud Foundation and I am a member of the board. Cloud Foundry and Docker do not currently provide persistence for stateful services, and so for databases such as MongoDB, we use Flocker from ClusterHQ to mount block storage from our software-defined storage to the container and persist its state. If the container terminates for whatever reason, Flocker transparently remounts the storage volume to the replacement container, with almost no interruption to the service or impact to the user experience. You can learn more about how we use Docker and Flocker to build a stateful database-as-a-service from our recent talk at the Tectonic Summit . Our technology stack gives us an agile devops environment, with continuous integration and delivery to push new features and upgrades rapidly into production. App Cloud is powering tens of thousands of microservices, managed by a small group of administrators. The key is that we heavily standardize, automate and monitor everything, and MongoDB integrates perfectly to the environment. How do you provision and manage MongoDB within the App Cloud? When a developer creates a service via the App Cloud UI or the API, the request goes to Cloud Foundry which calls its service broker to instantiate the MongoDB Docker container. The MongoDB Ops Manager RESTful API integrates with the Cloud Foundry service broker to provision the image, and Flocker mounts the block storage to the container. Deploying new MongoDB Services with Cloud Foundry Do you use any support and services for MongoDB? Yes, we are customers of MongoDB Enterprise Advanced which provides Ops Manager, and 24x7 proactive support direct from the MongoDB technical services and development teams. This enables us to provide a better SLA to our Application Cloud customers. We have also used the Health Check from MongoDB Global Consulting Services, which delivered a detailed readiness assessment of our deployment, with best practices for always-on availability, system configuration and scaling. How is MongoDB performing in the App Cloud? We’ve had great traction since the initial launch of the public Application Cloud. We have ramped to over 2,000 database containers in just a few months – more than half of which are running MongoDB. dorma+kaba Group , one of the world’s leading providers of physical security and access solutions, has developed its new Internet-based services for small and medium enterprises on the Application Cloud with MongoDB, and is able to continuously deliver updates as they release new features. Application Cloud Virtual Private has just been released, and we already have great feedback from the market, especially as we’re offering the service hosted in Switzerland, in local Swiss data centres. One of the key reasons for the interest we are seeing in MongoDB is that we are currently the only public cloud provider offering MongoDB Enterprise Advanced-as-a-Service in Switzerland, Germany and Austria, through our partnership with MongoDB. Customers get access to the value-added features of MongoDB Enterprise, including advanced security protection with encryption, auditing and centralized authentication; coupled with the fine grained monitoring and consistent, point in time backups available with Ops Manager. The service is based on the latest MongoDB 3.2 release . Does Swisscom use MongoDB outside of the App Cloud? We use it extensively for Over The Top (OTT) communications services in our residential division. The Swisscom IPTV platform runs MongoDB to manage the electronic program guide, Video on-Demand and radio channels for nearly 1 million subscribers Our latest project is the new Swisscom myCloud service providing secure multimedia content storage and management for over 8 million prospective customers. Marco, thank you for taking the time to share details of your App Cloud with me. Want to learn more about enabling microservices with containers and MongoDB? Read our new white paper. Enabling Microservices: Containers & Orchestration Explained About the Author - Mat Keep Mat is a director within the MongoDB product marketing team, responsible for building the vision, positioning and content for MongoDB’s products and services, including the analysis of market trends and customer requirements. Prior to MongoDB, Mat was director of product management at Oracle Corp. with responsibility for the MySQL database in web, telecoms, cloud and big data workloads. This followed a series of sales, business development and analyst / programmer positions with both technology vendors and end-user companies.
MongoDB Query API Webinar: FAQ
Last week we held a live webinar on the MongoDB Query API and our lineup of idiomatic programming language drivers. There were many great questions during the session, and in this post, what I want to do is share the most frequently asked ones with you. But first - here is a quick summary of what MongoDB Query API is all about if you are unfamiliar with it. What is MongoDB Query API? MongoDB is built upon the document data model . The document model is designed to be intuitive, flexible, universal, and powerful. You can easily work with a variety of data, and because documents map directly to the objects in your code, it fits naturally in your app development experience. MongoDB Query API lets you work with data as code and build any class of application faster by giving you extensive query capabilities natively in any modern programming language. Whether you’re working with transactional data, looking for search capabilities, or trying to run sophisticated real-time analytics, MongoDB Query API can meet your needs. MongoDB Query API has some unique features like its expressive query, primary and secondary indexes, powerful aggregations and transformations, on-demand materialized views, and more — enabling you to work with data of any structure, at any scale. Some key features to highlight: Indexes To optimize any workload and query pattern you can take advantage of a large set of index types like multi-key (for arrays), wildcard, geospatial, and more and index any field no matter how deeply nested it is within your documents. Fully featured secondary indexes are document-optimized and include partial, unique, case insensitive, and sparse. Aggregation Pipeline Aggregation pipeline lets you group, transform, and analyze your data to support any class of workload. You can choose from dozens of aggregation stages and over 200 operators to build modular and expressive pipelines. You can also use low-code tools like MongoDB Compass to drag and drop stages, examine intermediate output, and export to your programming language of choice. On-Demand Materialized Views The powerful $merge aggregation stage allows you to combine the results of your aggregation pipeline with existing collections to update and enrich data without having to recompute your entire data set. You can output results to sharded and unsharded collections while simultaneously defining indexes on each view Geospatial and Graph Utilize MongoDB’s built-in natively ability to store and run queries against geospatial data Use operators like $graphLookup to quickly traverse connected data sets These are just a few of the features we highlighted in the MongoDB Query API webinar. No matter what type of application you are thinking of building or managing, MongoDB Query API can meet your needs as the needs of your users and application change. FAQs for MongoDB Query API Here are the most common questions asked during the webinar: Do we have access to the data sets presented in this webinar? Yes, you can easily create a cluster and load the sample data sets into Atlas. Instructions on how to get started are here . How can I access full-text search capabilities? Text search is a standard feature of MongoDB Atlas. You can go to cloud.mongodb.com to try it out using sample data sets. Does VS code plugin support Aggregation? Yes, it does. You can learn more about the VS code plugin on our docs page. If you need to pass variable values in the aggregation, say the price range from the app as an input, how would you do that? This is no different than sending a query - since you construct your aggregation in your application you just fill in the field you want with value/variable in your code. Is there any best practice document on MongoDB query API to have stable performance and utilize minimum resources? Yes, we have tips and tricks on optimizing performance by utilizing indexes, filters, and tools here . Does MongoDB support the use of multiple different indexes to meet the needs of a single query? Yes, this can be accomplished by the use of compound indexes. You can learn more about it in our docs here . If you work with big data and create a collection, is it smarter to create indexes first or after the collection is filled (regarding the time to create a collection)? It is better to create the indexes first as they will take less time to create if the collection is empty, but you still have an option to create the index once the data is there in the collection. There are multiple great benefits of MongoDB’s indexing capabilities: When building indexes, there is no impact on your app’s availability since the index operation is online. Flexibility to add and remove indexes at any time. Ability to hide indexes to evaluate the impact of removing them before officially dropping them. Where do I go to learn more? Here are some resources to help you get started: MongoDB Query API page MongoDB University MongoDB Docs You can also check out the webinar replay here .