MongoDB is released under the GNU Affero General Public License. This Free Software Foundation license is fairly new, and thus we wanted to talk about how this license differs from GPL.
Our goal with using AGPL is to preserve the concept of copyleft with MongoDB. With traditional GPL, copyleft was associated with the concept of distribution of software. The problem is that nowadays, distribution of software is rare: things tend to run in the cloud. AGPL fixes this “loophole” in GPL by saying that if you use the software over a network, you are bound by the copyleft. Other than that, the license is virtually the same as GPL v3.
To say this another way: if you modify the core database source code, the goal is that you have to contribute those modifications back to the community.
Note however that it is NOT required that applications using mongo be published. The copyleft applies only to the mongod and mongos database programs. This is why Mongo DB drivers are all licensed under an Apache license. You application, even though it talks to the database, is a separate program and “work”.
As always, we want your feedback (and participation) – comments welcome both here and in the forums.
MongoDB Memory Usage
Mongo uses memory mapped files to access data, which results in large numbers being displayed in tools like top for the mongod process. This is normal when using memory-mapped files. Basically, the amount of mapped datafile is shown in the virtual size parameter, and resident bytes shows how much data is being cached in RAM. The larger your data files, the higher the vmsize of the mongod process. (This is also why Mongo is best ran on 64 bit operating systems.) If other processes on the box need more ram, the operating system’s virtual memory manager will relinquish some memory from the cache – and the resident bytes on mongod process will drop. You can get a feel for the “inherent” memory footprint of Mongo by starting it fresh, with no connections, with an empty /data/db directory and looking at the resident bytes. (Running with –nojni option will result in even lower core memory usage – and the move to spidermonkey, forthcoming, will make that case closer to the norm.)
The Four Data Platform Must Haves for Personalized Retail
Even before the events of 2020, consumers were increasingly embracing a hybrid shopping experience that mixed the digital and the physical. Rather than making a binary choice between “bricks” or “clicks”, the customer journey can start online, before moving to a physical store for an in person demo, and then back online for the final purchase. As if that wasn’t hard enough for retailers to handle, consumers are also expecting the same personalized treatment they’re used to online to follow them in store too. Personalized store greetings, location-based offers on nearby products, and the hyper-customization of products, services, and special offers are quickly becoming table stakes experiences. With in-store beacons, electronic shelf labels, smart mirrors, AI, and a host of other connected technologies, the next frontier of personalization is the seamless connection, and blurring, of the digital and physical retail experience. The future of retail, therefore, belongs to those able to differentiate themselves with a better omnichannel, personalized experience than the competition. Talk data to me For personalized retail to work, in real time and on every channel, retailers need to master the collection, analysis, and deployment of data. Specifically, retailers need a data platform built for the following: Data privacy: The more data you collect, and the more personalized you get, the greater your responsibility to be a good steward of that data. Every aspect of data privacy, from the latest in authentication and authorization to auditing, encryption, and compliance, should be at the heart of your data strategy and a core capability of your data platform. In addition, customers expect more than just complete data privacy; they also demand that retailers allow them to take control of their data when requested. Agility: Retailing today means ingesting many different types of data from many different sources. Whereas yesterday’s retailers built their infrastructure using relational databases, with a rigid schema defined by tables, tomorrow’s retail leaders will choose a data platform based on a flexible data model, such as the document model. This flexibility can be particularly helpful for modeling data where structures can change between each record, such as polymorphic data. It also makes it easier to evolve an application during its life cycle, such as by adding new fields or enriching application-generated data with third-party data sources to provide an even fuller picture of the customer. Real-time data: While many retailers use operational analytics and intelligence in decision making, the data they’re working from is often days old, at best. The need now is for real-time data to influence real-time, real-world customer behavior. To get there, retailers must have a data platform that is capable of concurrently supporting both operational and analytical workloads without sacrificing performance. Developer and DevOps enablement: The speed at which retailers can bring new applications and services to market has never been more important. A modern data platform enabled through a database-as-a-service capability, like MongoDB Atlas, gives developers the freedom and flexibility to work seamlessly with data wherever their applications and users need it. Understand More with the MongoDB Guide to Personalized Retail The digital differentiation With the database foundations in place, retailers can begin to differentiate themselves digitally by evolving with and using technology in unexpected, unorthodox ways. Think loyalty programs activated by in-store facial recognition sensors, beacon technology connecting with apps to guide customers through stores, chat bots to help with customer questions, and augmented reality apps to help shoppers try out products at home. Strategically and successfully implementing and combining these digital capabilities will drive more customers to your products, be it online or in-store. Take a look how OTTO reinvented their ecommerce personalization for more than 2 million users per day . They were able to slash catalog update times from 12 hours to 15 minutes. Retailers can also build omnichannel experiences that blur the boundaries between the online and in-store spheres. This could take the form of scanning QR codes on in-store items for deals or information, ordering out-of-stock items to be sent to a specific store for pickup, returning online purchases to physical outlets, or redeeming loyalty points on an app for in-person purchases. Building a comprehensive picture of consumers is vital for understanding how you can create this experience. Are your consumers using smart speakers to order products? Are they active on your mobile app instead of going in-store? Can you gather data on in-store behavior — and provide online recommendations for shoppers to continue their journeys via other channels? By having this view, you can create the seamless, personalized experience your consumers desire — through any channel. Find out how AO.com turned to MongoDB to build a single view to leverage real-time data to build modern applications for everything from personalization to delivery tracking. Lastly, retailers must build a resilient supply chain to ensure a consistent flow of inventory from factory to warehouse to stores and customer homes in both directions — for purchases and returns (reverse logistics). Organizations can utilize RFID tags, GPS tracking, IoT devices, and sensors to locate, mobilize, and manage inventory across large areas and different branches and warehouses, oversee returns and exchanges, and even forecast demand based on historical trends. By unifying data from disparate sources, retailers can streamline and strengthen the supply chain, improving inventory management and enhancing customer relationships. Now, shoppers are much less likely to be blindsided by product shortages or shipping delays. Further, when these events do occur, retailers can communicate with buyers in a timely and open manner. Boxed, a leading wholesale club in the United States, who needs to deliver its products according to a strict schedule built its entire digital environment from scratch and on MongoDB Atlas, including supply chain management infrastructure, enterprise resource planning systems, warehouse management, robotics, and more. Learn how they managed to cope with a traffic spike of 30 to 35 times normal levels . Understand More with the MongoDB Guide to Personalized Retail