ADS: Edge Server + Data Ingest
Maintaining data across an increasingly diverse set of devices – such as mobile phones, kiosks, IoT devices, sensors, and more – is becoming increasingly sophisticated. Requirements for low latency experiences, accurate visibility in real-time, management through hostile network conditions, and compatibility across an expanding set of device types all make this extremely challenging. We are thrilled to announce products that address this expanding challenge: Atlas Device Sync : Edge Server, Data Ingest, and C++ support. These capabilities are all key additions to MongoDB’s developer data platform, empowering teams with an out-of-the-box data synchronization layer that ensures uninterrupted operations and productivity across an organization’s ecosystem of distributed devices. Atlas Device Sync: Edge Server Traditionally, edge devices require cloud connectivity to sync with each other and reflect changes across users. This meant that if there was no internet connection, devices used for critical operations like inventory management or package tracking were not showing accurate data until the internet connection resumed. Many use cases require more reliability across local devices – for example, in a retail warehouse where tablets are used for real-time package management – for which some teams develop and implement their own local syncing solutions at their remote branch locations. Atlas Device Sync: Edge Server enables teams to leverage a pre-built local-first data synchronization layer. They can deploy a local Edge Server at their remote location which allows devices to sync directly with each other without the need for a roundtrip to the cloud. Once back online, the data is also synchronized with the cloud. This approach ensures swift and efficient synchronization, enhancing overall performance and enabling smooth operations even in unreliable network conditions. With MongoDB’s Atlas Device Sync: Edge Server, organizations can cut down the time it takes to build, test, and maintain a local sync solution from scratch, and instead focus on other pressing innovative business initiatives. The advantages of Atlas Device Sync extend beyond convenience and simplicity. Revisiting that retail warehouse example, in situations where the store operates in standalone mode, such as during a network outage caused by a natural disaster, our local Edge Server ensures that the in-store devices can sync with each other, providing a cohesive experience for both customers and employees. The applications of Atlas Device Sync are diverse, catering to a range of industries and scenarios. For example, mobile devices in an airplane can maintain a shared state across the cockpit and flight crew, facilitating efficient communication and collaboration. Cruise ship sales across multiple gift shops can keep a common inventory while at sea by syncing with the local server, thereby ensuring accurate stock management. Even medical records on a Navy ship can be updated during checkups and saved to the local Tiered Device Sync, ready to sync with the full backend once a network connection is established. Atlas Device Sync: Edge Server is now public preview. Sign up to get started. Atlas Device Sync: Data Ingest Data Ingest, now generally available, serves as a synchronization strategy tailored for applications that predominantly involve writing data on the client side, without requiring frequent reads. By enabling Data Ingest for one or more collections, businesses can experience accelerated write speeds while bypassing some of the processing involved in bi-directional sync. This feature supports writing data to any collection type, including Atlas time-series collections, making it suitable for a wide range of use cases. Consider an Internet of Things (IoT) application that continually logs sensor data, generating a significant workload in terms of data writes but with minimal read requirements. This IoT device may also experience prolonged periods of offline operation. With Data Ingest, the processing overhead associated with bi-directional synchronization is circumvented, resulting in significantly improved write speeds to an Atlas collection. This ensures that crucial sensor data is efficiently captured and stored, even under challenging network conditions. Data Ingest is not limited to IoT applications alone; it can be leveraged for various use cases where write operations dominate and conflict resolution is unnecessary. For instance, retail applications that generate invoices or log application events can benefit from the streamlined and accelerated data writing offered by Data Ingest. By eliminating the need for conflict resolution, businesses can optimize their processes, enhance performance, and improve overall operational efficiency. This feature can be selectively applied to individual collections, allowing your application to utilize Data Ingest for specific data sets while utilizing bi-directional Device Sync for other collections. This enables full flexibility, allowing businesses to tailor their synchronization approach based on their unique requirements. With the powerful capabilities of Atlas Device Sync: Edge Server and Data Ingest, our developer data platform enables enterprises to fully embrace the potential of edge computing. By eliminating the overhead of traditional methods of building these sophisticated synchronization mechanisms from scratch and instead leveraging pre-built solutions embodying industry best practices, teams can operate at peak performance levels, even in scenarios with limited connectivity or heavy data generation requirements. Atlas Device Sync: Data Ingest is now generally available. Read the docs and register for Atlas to get started today. C++ Support Lastly, we are proud to announce the beta release of our highly anticipated C++ support through our C++ client SDK . This addition further expands the reach of our synchronization solution, catering to applications running on embedded, lightweight, low-footprint devices, and Windows platforms. Developers can use this SDK to immediately add Atlas Device Sync to their C++ applications, enabling teams to leverage the full potential of edge computing without compromising on performance or ease of development. This announcement also includes improvements in schema definitions and API methods, providing a natural and intuitive experience for native C++ developers. The introduction of C++ Support is a testament to our commitment to providing comprehensive solutions that address the diverse needs of our customers. By expanding our compatibility to include C++ and Windows platforms, we aim to empower developers to create innovative and efficient applications that seamlessly synchronize data in edge environments. The C++ SDK is now in beta. Ready to get started? Use the C++ SDK by installing the SDK . Read our docs , and follow our repo . Then, register for Atlas to connect to Atlas Device Sync, a fully-managed mobile backend as a service. Leverage out-of-the-box infrastructure, data synchronization capabilities, network handling, and much more to quickly launch enterprise-grade mobile apps. Finally, let us know what you think, and get involved in our forums . See you there! Stay tuned for more updates as we continue to enhance our offerings and empower you with cutting-edge solutions.
Introducing MongoDB Realm’s Flexible Sync – Now Available in Preview
Twelve months ago, we made MongoDB’s edge-to-cloud data synchronization service, Realm Sync , generally available. Since then, Sync has helped hundreds of our customers build reliable, offline-first mobile apps that serve data to millions of end users – from leading telematics providers to chart-topping consumer apps . Historically, Realm Sync has worked well for apps where data is compartmentalized and permissions rarely change, but dynamic use cases with evolving permissions required workarounds. We knew we could do more, so today we are excited to announce the next iteration of Realm Sync – Flexible Sync. With the introduction of Flexible Sync, we are redefining the sync experience by enabling even the most complex use cases out-of-the-box without requiring any custom code. Intuitive query-based sync Distinctly different from how Realm Sync operates today, Flexible Sync lets you use language-native queries to define the data synced to user applications. This more closely mirrors how you are used to building applications today – using GET requests with query parameters – making it easy to learn and fast to build to MVP. Flexible Sync also supports dynamic, overlapping queries based on user inputs. Picture a retail app that allows users to search available inventory. As users define inputs – show all jeans that are size 8 and less than $40 – the query parameters can be combined with logical ANDs and ORs to produce increasingly complex queries, and narrow down the search result even further. In the same application, employees can quickly limit inventory results to only their store’s stock, pulling from the same set of documents as the customer, without worrying about overlap. Document-level permissions Whether it’s a company’s internal application or an app on the App Store, permissions are required in almost every application. That’s why we are excited by how seamless Flexible Sync makes applying a document-level permission model when syncing data – meaning synced documents can be limited based on a user’s role. Consider how an emergency room team would use their hospital’s application. A resident should only be able to access her patients’ charts while her fellow needs to be able to see the entire care team’s charts. In Flexible Sync, a user’s role will be combined with the client-side query to determine the appropriate result set. For example, when the resident above filters to view all patient charts the permission system will automatically limit the results to only her patients. Real-time collaboration optimizations Flexible Sync also enhances query performance and optimizes for real-time collaboration by treating a single object or document as the smallest entity for synchronization. This means synced data is shared between client devices more efficiently and conflict resolution incorporates changes faster and with less data transfer than before. Getting started Flexible Sync is available now. Simply sign up or log in to your cloud account, deploy a Realm app, select your sync type, and dive right in. Flexible Sync is compatible with MongoDB 5.0, which is available with dedicated Atlas database clusters (M10 and higher). Shared-tier cluster support for 5.0 and Flexible Sync will be made available mid-February. Have questions? Check out our documentation or the more detailed announcement post on the Developer Hub. Looking ahead Our goal with Flexible Sync is to deliver a sync service that can fit any use case or schema design pattern imaginable without custom code or workarounds. And while we are excited that Flexible Sync is now in preview, we’re nowhere near done. The Realm Sync team is planning to bring you more query operators, permissions integrations, and enhancements over the course of 2022. We look to you, our users, to help us drive the roadmap. Submit your ideas and feature requests to our feedback portal and ask questions in our Community forums . Happy building!