Speaker: Ruben Terceño, Senior Solutions Architect, MongoDB
Level: 200 (Intermediate)
Track: Jumpstart
The MongoDB aggregation framework allows you to perform real-time analytics on your live operational data set. It's an important tool to understand when considering analytics options for your application. In this session we will give you an overview of basic aggregation functionality. You should walk away with an understanding of when to use the aggregation framework for your needs and how to leverage different functions for different purposes.
This is a Jumpstart session, held before the keynotes, designed to give you an overview of MongoDB aggregation basics so you can dive into more advanced sessions later in the day.
What You Will Learn:
- Discover the Aggregation Framework
- Understand the sweet spot for MongoDB Analytics
- Have fun crushing numbers!
Speaker: Tess Avitabile, Software Engineer, MongoDB
Level: 300 (Advanced)
Track: How We Build MongoDB
Have you had a case of the horrible ORs? Indexing nested logical queries (ORs inside of ANDs) is traditionally a challenge for databases. In most databases, it’s on the user to ensure their queries are structured in a way that the database can find an indexed solution. In MongoDB 3.6, we recognize more nested logical queries that can utilize indexes.
Theoretical computer scientist and query team engineer Tess Avitabile takes you behind the scenes to the MongoDB query planner. By knowing the internals, you will develop an intuitive understanding for when a nested logical query will have an indexed solution. You will also see how we can now index more nested logical queries by manipulating the tree structure of queries.
What You Will Learn:
- How to write better queries with nested $and and $or operators
- How to interpret index bounds in explain() output
- How the query planner works and how it impacts your application
Speaker: Jay Runkel, Principal Solution Architect, MongoDB
Session Type: 40 minute main track session
Track: Operations
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn’t a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
What You Will Learn:
- How to architect a sharded cluster that provides the required computing resources while minimizing hardware or cloud computing costs
- How to use this information to estimate the overall cluster requirements for IOPS, RAM, cores, disk space, etc.
- What you need to know about the application to estimate a cluster size
Common Cluster Configuration Pitfalls and How to Avoid Them
Speaker: Andrew Young, Technical Services Engineer, MongoDB
Level: 200 (Intermediate)
Track: Operations
Learn best practices in sharding and replication from a MongoDB Technical Services Engineer with experience in a wide variety of customer environments. The talk will discuss standard system configurations, common pitfalls and mistakes when configuring MongoDB clusters, and ways to recover from replication and sharding problems that arise. We will also consider specific use cases that require unusual configurations such as multi-tenant systems, geographically distributed systems, and systems that require dedicated business intelligence servers.
Speaker: Jay Gordon, Developer Advocate, MongoDB
Level: 100 (Beginner)
Track: Jumpstart
MongoDB has grown into one of the world's more popular databases and continues to expand it's reach to developers. In this talk we will discuss MongoDB foundations that attendees can use to begin their journey in creating new apps. By the end of the talk, members attending should feel prepared for the rest of their time at MongoDB World with essential information on how MongoDB works. There is no need to have previous experience with MongoDB to attend this talk, however basic understanding of database systems is recommended.
What You Will Learn:
- Basic understanding of how MongoDB is similar to, yet different from, relational database systems.
- How MongoDB can be installed to begin working with it immediately.
- Understand the various models in which they can host MongoDB within bare metal and the cloud.
Speaker: Akira Kurogane, Senior Technical Services Engineer, MongoDB
Level: 300 (Advanced)
Track: Performance
One week your active dataset consumes 90% of available RAM. The next week it's 110%. Is that a 10% or 99% performance degradation? Let's discover what it looks like when different hardware capacity limitations are hit. For example, memory vs. disk bottlenecks, the rare CPU bottleneck and network bottlenecks, seeing what happens when you drop a crucial index during peak load, or what happens when you run multiple WiredTiger nodes on the same server without limiting their cache size.
What You Will Learn:
- Performance analysis
- Post-mortem log analysis
- Capacity planning
Getting Started with MongoDB Using the Microsoft Stack MongoDB
Speaker: John Randolph, Sr. Software Developer, Gexa Energy
Level: 100 (Beginner)
Track: Developer
Gexa has implemented several applications using MongoDB as a document repository storing multiple types of files (PDF, XLS, CSV, etc.). This entry level session is intended to share what we’ve learned in developing and deploying our first applications in an on premise, Microsoft environment. We’ll provide architectural and development information about what we’ve done. The focus is to help get your projects up-to-speed more quickly. This will be useful to teams moving from pilot to production and for developers getting started with the .Net MongoDB drivers. Plenty of code samples will be shown. We’ll discuss our successful engagement with MongoDB Consulting to help us design and deploy a high-quality production environment.
What You Will Learn:
- Ideas how to store and retrieve documents of different sizes, types, and volumes. We’ll describe the storage, partitioning and indexing techniques used that provide sub-second retrieval from collections with over 100 million records.
- The issues addressed moving to production, including: backup, disaster recovery, SSL, using replica sets, implementing authorization and authentication, changing default setting, and creating a full path-to-production set of environments.
- A successful pattern for building applications with .Net, providing teams some ideas to jump-start their development along with tips and tricks for using the .Net drivers.
Speaker: Isabel Peters, Software Engineer, MongoDB
Track: WTC Lounge
Data backup is a critical process to keep your data safe and recoverable in case of an unexpected local storage failure. At MongoDB, we develop tools to easily backup your data, keep it safe and restore it so that you don’t have to worry or spend time thinking about the process, allowing you to focus on your various other responsibilities. Come discover what the architecture of a backup system looks like.
Speaker: Jonathan Balsano, Software Engineer, Cloud, MongoDB
Level: 200 (Intermediate)
Track: How We Build MongoDB
If you’ve ever had to deploy a tool within an internal network that you didn’t (and even if you did) set up you’re probably aware of the many pitfalls that can be caused by firewalls, load balancers, and latency. When the MongoDB Cloud Team implemented the Real Time Performance Panel, a tool that lets you monitor operations and performance in your deployment in real time, we leveraged our existing tools and architecture along with some new optimizations to provide a live monitoring experience with minimal latency that works within a variety of network architectures. In this talk, you will learn about the overall architecture of Cloud and Ops Manager, along with the specific optimizations you can use to provide a real time experience for clients when building your own monitoring solutions.
Speaker: Tess Avitabile, Software Engineer, MongoDB
Level: 300 (Advanced)
Track: How We Build MongoDB
Have you had a case of the horrible ORs? Indexing nested logical queries (ORs inside of ANDs) is traditionally a challenge for databases. In most databases, it’s on the user to ensure their queries are structured in a way that the database can find an indexed solution. In MongoDB 3.6, we recognize more nested logical queries that can utilize indexes.
Theoretical computer scientist and query team engineer Tess Avitabile takes you behind the scenes to the MongoDB query planner. By knowing the internals, you will develop an intuitive understanding for when a nested logical query will have an indexed solution. You will also see how we can now index more nested logical queries by manipulating the tree structure of queries.
What You Will Learn:
- How to write better queries with nested $and and $or operators
- How to interpret index bounds in explain() output
- How the query planner works and how it impacts your application
Speaker: Jay Runkel, Principal Solution Architect, MongoDB
Session Type: 40 minute main track session
Track: Operations
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn’t a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
What You Will Learn:
- How to architect a sharded cluster that provides the required computing resources while minimizing hardware or cloud computing costs
- How to use this information to estimate the overall cluster requirements for IOPS, RAM, cores, disk space, etc.
- What you need to know about the application to estimate a cluster size
Common Cluster Configuration Pitfalls and How to Avoid Them
Speaker: Andrew Young, Technical Services Engineer, MongoDB
Level: 200 (Intermediate)
Track: Operations
Learn best practices in sharding and replication from a MongoDB Technical Services Engineer with experience in a wide variety of customer environments. The talk will discuss standard system configurations, common pitfalls and mistakes when configuring MongoDB clusters, and ways to recover from replication and sharding problems that arise. We will also consider specific use cases that require unusual configurations such as multi-tenant systems, geographically distributed systems, and systems that require dedicated business intelligence servers.
Speaker: Jay Gordon, Developer Advocate, MongoDB
Level: 100 (Beginner)
Track: Jumpstart
MongoDB has grown into one of the world's more popular databases and continues to expand it's reach to developers. In this talk we will discuss MongoDB foundations that attendees can use to begin their journey in creating new apps. By the end of the talk, members attending should feel prepared for the rest of their time at MongoDB World with essential information on how MongoDB works. There is no need to have previous experience with MongoDB to attend this talk, however basic understanding of database systems is recommended.
What You Will Learn:
- Basic understanding of how MongoDB is similar to, yet different from, relational database systems.
- How MongoDB can be installed to begin working with it immediately.
- Understand the various models in which they can host MongoDB within bare metal and the cloud.
Speaker: Akira Kurogane, Senior Technical Services Engineer, MongoDB
Level: 300 (Advanced)
Track: Performance
One week your active dataset consumes 90% of available RAM. The next week it's 110%. Is that a 10% or 99% performance degradation? Let's discover what it looks like when different hardware capacity limitations are hit. For example, memory vs. disk bottlenecks, the rare CPU bottleneck and network bottlenecks, seeing what happens when you drop a crucial index during peak load, or what happens when you run multiple WiredTiger nodes on the same server without limiting their cache size.
What You Will Learn:
- Performance analysis
- Post-mortem log analysis
- Capacity planning
Getting Started with MongoDB Using the Microsoft Stack MongoDB
Speaker: John Randolph, Sr. Software Developer, Gexa Energy
Level: 100 (Beginner)
Track: Developer
Gexa has implemented several applications using MongoDB as a document repository storing multiple types of files (PDF, XLS, CSV, etc.). This entry level session is intended to share what we’ve learned in developing and deploying our first applications in an on premise, Microsoft environment. We’ll provide architectural and development information about what we’ve done. The focus is to help get your projects up-to-speed more quickly. This will be useful to teams moving from pilot to production and for developers getting started with the .Net MongoDB drivers. Plenty of code samples will be shown. We’ll discuss our successful engagement with MongoDB Consulting to help us design and deploy a high-quality production environment.
What You Will Learn:
- Ideas how to store and retrieve documents of different sizes, types, and volumes. We’ll describe the storage, partitioning and indexing techniques used that provide sub-second retrieval from collections with over 100 million records.
- The issues addressed moving to production, including: backup, disaster recovery, SSL, using replica sets, implementing authorization and authentication, changing default setting, and creating a full path-to-production set of environments.
- A successful pattern for building applications with .Net, providing teams some ideas to jump-start their development along with tips and tricks for using the .Net drivers.
Speaker: Isabel Peters, Software Engineer, MongoDB
Track: WTC Lounge
Data backup is a critical process to keep your data safe and recoverable in case of an unexpected local storage failure. At MongoDB, we develop tools to easily backup your data, keep it safe and restore it so that you don’t have to worry or spend time thinking about the process, allowing you to focus on your various other responsibilities. Come discover what the architecture of a backup system looks like.
Speaker: Jonathan Balsano, Software Engineer, Cloud, MongoDB
Level: 200 (Intermediate)
Track: How We Build MongoDB
If you’ve ever had to deploy a tool within an internal network that you didn’t (and even if you did) set up you’re probably aware of the many pitfalls that can be caused by firewalls, load balancers, and latency. When the MongoDB Cloud Team implemented the Real Time Performance Panel, a tool that lets you monitor operations and performance in your deployment in real time, we leveraged our existing tools and architecture along with some new optimizations to provide a live monitoring experience with minimal latency that works within a variety of network architectures. In this talk, you will learn about the overall architecture of Cloud and Ops Manager, along with the specific optimizations you can use to provide a real time experience for clients when building your own monitoring solutions.
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...MongoDB
Speaker: Marco Bonezzi, Senior Technical Services Engineer, MongoDB
Level: 300 (Advanced)
Track: Microservices
Microservices architectures are becoming more popular and we see a trend towards smaller units of deployment based on containers. While most microservices need databases, implementing MongoDB on containers adds additional complexity: databases are stateful applications where data is critical. MongoDB is a complex distributed system with its own high availability implementation where using containers can expose additional risks.
In this session we will explore how to successfully define our database infrastructure with MongoDB running on Docker containers, how to orchestrate MongoDB containers with Kubernetes in multiple environments, considerations and strategies for managing stateful MongoDB containers, and how to manage high availability and resiliency in a distributed system while running on a container technology such as Kubernetes.
What You Will Learn:
- What to consider and how to maintain stateful databases in containers.
- How to configure deployment files, build a MongoDB deployment, and orchestrate it with Kubernetes, including how to test it on a laptop and then deploy it to Cloud.
- How to handle high availability in this environment, including data and application availability as well the additional error conditions the cloud and microservices introduce.
Practical Design Patterns for Building Applications Resilient to Infrastructu...MongoDB
Speaker: Feng Qu, Sr MTS, eBay
Level: 200 (Intermediate)
Track: Developer
Building applications resilient to infrastructure failure is essential to systems that run in distributed environments, including those with a MongoDB database. For example, failure can come from computer resources, such as nodes, network switches, or the entire data center. On occasion, MongoDB nodes may be marked down by Operations to perform administrative tasks, such as a software upgrade, adding extra capacity, etc.
In this session, we will discuss how to build resilient applications using appropriate design patterns suitable to enterprise class MongoDB applications.
What You Will Learn:
- How to manage updates within a resilient architecture.
- Design patterns for resilient applications.
- Practical advice for deploying resilient enterprise applications.
Speaker: Jay Runkel
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn't a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
Securing Your Enterprise Web Apps with MongoDB Enterprise MongoDB
Speaker: Jay Runkel, Principal Solution Architect, MongoDB
Level: 200 (Intermediate)
Track: Operations
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn’t a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
What You Will Learn:
- How to architect a sharded cluster that provides the required computing resources while minimizing hardware or cloud computing costs
- How to use this information to estimate the overall cluster requirements for IOPS, RAM, cores, disk space, etc.
- What you need to know about the application to estimate a cluster size
MongoDB World 2019: Finding the Right MongoDB Atlas Cluster Size: Does This I...MongoDB
How do you determine whether your MongoDB Atlas cluster is over provisioned, whether the new feature in your next application release will crush your cluster, or when to increase cluster size based upon planned usage growth? MongoDB Atlas provides over a hundred metrics enabling visibility into the inner workings of MongoDB performance, but how do apply all this information to make capacity planning decisions? This presentation will enable you to effectively analyze your MongoDB performance to optimize your MongoDB Atlas spend and ensure smooth application operation into the future.
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...MongoDB
Adeo et en particulier Leroy Merlin utilisent massivement MongoDB pour propulser de nombreuses applications et en particulier son site web leroymerlin.fr.
Emmanuel Dieval Ingénieur Software chez ADEO, présentera le nouveau système au coeur de la publication de l'offre Leroy Merlin: OPUS.
OPUS s'appuie particulièrement sur MongoDB pour la construction des pages de famille de produits tout en supportant un important flux de données journalier.
Après un rappel sur les pipelines d'agrégation et une présentation de MongoDB Atlas par Maxime Beugnet, Developer Advocate chez MongoDB, Emmanuel parlera de l'utilisation des pipelines d'agrégation pour la construction des pages de famille de produits, mais aussi de Google Cloud Platform et des avantages à utiliser MongoDB Atlas.
Find out which is faster, SQL or NoSQL, for traditional reporting tasks. Discover how you can optimise MongoDB aggregation pipelines and how to push complex computation down to the database.
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB
Find out more about our journey of migrating to MongoDB after using Oracle for our hotel search database for over ten years.
- How did we solve the synchronization problem with the Master Database?
- How to get fast search results (even with massive write operations)?
- How other issues were solved
Speaker: Tom Spitzer, Vice President, Engineering, EC Wise, Inc.
Session Type: 40 minute main track session
Level: 200 (Intermediate)
Track: Security
MongoDB Community Server provides a wide range of capabilities for securing your MongoDB installation. In this session, we will focus on access control features, including authentication and authorization mechanisms, that enable you to enforce a least privilege model on user accounts. We will also discuss strategies for enabling and maintaining service and application accounts. Next we will present the encryption capabilities that are available in the community edition and discuss their benefits and possible shortcomings. Finally, we will talk about application level protections your developers can implement to keep risky code from getting to your MongoDB instance.
What You Will Learn:
- The workings of the MongoDB User Management Interface, the Authentication Database, basic Authentication mechanisms (SCRAM-SHA-1 and certificates), Roles, and Role Based Access controls – plus best practices for using these features to improve the security of your database.
- How to use TLS/SSL for transport encryption, application encryption options, and field level redaction.
- How injection attacks work and how to minimize the risk of injection attacks.
Webinar: Choosing the Right Shard Key for High Performance and ScaleMongoDB
Read these webinar slides to learn how selecting the right shard key can future proof your application.
The shard key that you select can impact the performance, capability, and functionality of your database.
MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...MongoDB
As a software adventurer, Charles “Indy” Sarrazin, has brought numerous customers through the MongoDB world, using his extensive knowledge to make sure they always got the most out of their databases.
Let us embark on a journey inside the Document Model, where we will identify, analyze and fix anti-patterns. I will also provide you with tools to ease migration strategies towards the Temple of Lost Performance!
Be warned, though! You might want to learn about design patterns before, in order to survive this exhilarating trial!
Speaker: Daniel Coupal, Senior Curriculum Engineer, MongoDB
Level: 200 (Intermediate)
Track: Developer
At this point, you may be familiar with the design of MongoDB databases and collections, however what are the frequent patterns you may have to model?
This presentation will build on the knowledge of how to represent common relationships (1-1, 1-N, N-N) into MongoDB. Going further than relationships, this presentation aims at identifying a set of common patterns in a similar way the Gang of Four did for Object Oriented Design. Finally, this presentation will guide you through the steps of modeling those patterns into MongoDB collections.
What You Will Learn:
- How to create the appropriate MongoDB collections for some of the patterns discussed.
- The different relationships from the relational databases world, and understand how those translate to MongoDB collections.
- The patterns that are frequently seen in developing applications with MongoDB, and a specific vocabulary with which to refer to them. For example, “Subset”, “Attributes” and “Rolled Up” are among some of the patterns explored.
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
During this talk we'll navigate through a customer's journey as they migrate an existing MongoDB deployment to MongoDB Atlas. While the migration itself can be as simple as a few clicks, the prep/post effort requires due diligence to ensure a smooth transfer. We'll cover these steps in detail and provide best practices. In addition, we’ll provide an overview of what to consider when migrating other cloud data stores, traditional databases and MongoDB imitations to MongoDB Atlas.
Background Tasks in Node - Evan Tahler, TaskRabbitRedis Labs
The talk gives an overview of some of the many ways you can preform
background taks in node, which include: Foreground (in-line) Parallel (threaded-ish) Local Messages (fork-ish) Remote
Messages Remote Queues (Resque-ish) Event Bus (Kafka-ish) For every section, we show an example, and more interestingly,
note how node makes every step better/faster/stronger... even the bad ideas! The idea for the talk came from a twitter
converstaion with @dshaw, host of NodeUP about how easy it was to have multiple node workers in Node-Resque... Check
out the presentation to learn how!
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
Humana, like many companies, is tackling the challenge of creating real-time insights from data that is diverse and rapidly changing. This is our journey of how we used MongoDB to combined traditional batch approaches with streaming technologies to provide continues alerting capabilities from real-time data streams.
Doing Joins in MongoDB: Best Practices for Using $lookupMongoDB
Speaker: Austin Zellner, Solutions Architect, MongoDB
Level: 200 (Intermediate)
Track: Data Analytics
$lookup is a pipeline stage in the aggregation framework that performs a left outer join. In this session, you will learn how to leverage $lookup in your applications and best practices for implementing features with $lookup.
What You Will Learn:
- Fundamentals of $lookup and its syntax.
- How to use $lookup stages in your aggregation pipelines.
- Best practices for using $lookup to implement application features.
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...MongoDB
Speaker: Marco Bonezzi, Senior Technical Services Engineer, MongoDB
Level: 300 (Advanced)
Track: Microservices
Microservices architectures are becoming more popular and we see a trend towards smaller units of deployment based on containers. While most microservices need databases, implementing MongoDB on containers adds additional complexity: databases are stateful applications where data is critical. MongoDB is a complex distributed system with its own high availability implementation where using containers can expose additional risks.
In this session we will explore how to successfully define our database infrastructure with MongoDB running on Docker containers, how to orchestrate MongoDB containers with Kubernetes in multiple environments, considerations and strategies for managing stateful MongoDB containers, and how to manage high availability and resiliency in a distributed system while running on a container technology such as Kubernetes.
What You Will Learn:
- What to consider and how to maintain stateful databases in containers.
- How to configure deployment files, build a MongoDB deployment, and orchestrate it with Kubernetes, including how to test it on a laptop and then deploy it to Cloud.
- How to handle high availability in this environment, including data and application availability as well the additional error conditions the cloud and microservices introduce.
Practical Design Patterns for Building Applications Resilient to Infrastructu...MongoDB
Speaker: Feng Qu, Sr MTS, eBay
Level: 200 (Intermediate)
Track: Developer
Building applications resilient to infrastructure failure is essential to systems that run in distributed environments, including those with a MongoDB database. For example, failure can come from computer resources, such as nodes, network switches, or the entire data center. On occasion, MongoDB nodes may be marked down by Operations to perform administrative tasks, such as a software upgrade, adding extra capacity, etc.
In this session, we will discuss how to build resilient applications using appropriate design patterns suitable to enterprise class MongoDB applications.
What You Will Learn:
- How to manage updates within a resilient architecture.
- Design patterns for resilient applications.
- Practical advice for deploying resilient enterprise applications.
Speaker: Jay Runkel
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn't a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
Securing Your Enterprise Web Apps with MongoDB Enterprise MongoDB
Speaker: Jay Runkel, Principal Solution Architect, MongoDB
Level: 200 (Intermediate)
Track: Operations
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn’t a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
What You Will Learn:
- How to architect a sharded cluster that provides the required computing resources while minimizing hardware or cloud computing costs
- How to use this information to estimate the overall cluster requirements for IOPS, RAM, cores, disk space, etc.
- What you need to know about the application to estimate a cluster size
MongoDB World 2019: Finding the Right MongoDB Atlas Cluster Size: Does This I...MongoDB
How do you determine whether your MongoDB Atlas cluster is over provisioned, whether the new feature in your next application release will crush your cluster, or when to increase cluster size based upon planned usage growth? MongoDB Atlas provides over a hundred metrics enabling visibility into the inner workings of MongoDB performance, but how do apply all this information to make capacity planning decisions? This presentation will enable you to effectively analyze your MongoDB performance to optimize your MongoDB Atlas spend and ensure smooth application operation into the future.
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...MongoDB
Adeo et en particulier Leroy Merlin utilisent massivement MongoDB pour propulser de nombreuses applications et en particulier son site web leroymerlin.fr.
Emmanuel Dieval Ingénieur Software chez ADEO, présentera le nouveau système au coeur de la publication de l'offre Leroy Merlin: OPUS.
OPUS s'appuie particulièrement sur MongoDB pour la construction des pages de famille de produits tout en supportant un important flux de données journalier.
Après un rappel sur les pipelines d'agrégation et une présentation de MongoDB Atlas par Maxime Beugnet, Developer Advocate chez MongoDB, Emmanuel parlera de l'utilisation des pipelines d'agrégation pour la construction des pages de famille de produits, mais aussi de Google Cloud Platform et des avantages à utiliser MongoDB Atlas.
Find out which is faster, SQL or NoSQL, for traditional reporting tasks. Discover how you can optimise MongoDB aggregation pipelines and how to push complex computation down to the database.
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB
Find out more about our journey of migrating to MongoDB after using Oracle for our hotel search database for over ten years.
- How did we solve the synchronization problem with the Master Database?
- How to get fast search results (even with massive write operations)?
- How other issues were solved
Speaker: Tom Spitzer, Vice President, Engineering, EC Wise, Inc.
Session Type: 40 minute main track session
Level: 200 (Intermediate)
Track: Security
MongoDB Community Server provides a wide range of capabilities for securing your MongoDB installation. In this session, we will focus on access control features, including authentication and authorization mechanisms, that enable you to enforce a least privilege model on user accounts. We will also discuss strategies for enabling and maintaining service and application accounts. Next we will present the encryption capabilities that are available in the community edition and discuss their benefits and possible shortcomings. Finally, we will talk about application level protections your developers can implement to keep risky code from getting to your MongoDB instance.
What You Will Learn:
- The workings of the MongoDB User Management Interface, the Authentication Database, basic Authentication mechanisms (SCRAM-SHA-1 and certificates), Roles, and Role Based Access controls – plus best practices for using these features to improve the security of your database.
- How to use TLS/SSL for transport encryption, application encryption options, and field level redaction.
- How injection attacks work and how to minimize the risk of injection attacks.
Webinar: Choosing the Right Shard Key for High Performance and ScaleMongoDB
Read these webinar slides to learn how selecting the right shard key can future proof your application.
The shard key that you select can impact the performance, capability, and functionality of your database.
MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...MongoDB
As a software adventurer, Charles “Indy” Sarrazin, has brought numerous customers through the MongoDB world, using his extensive knowledge to make sure they always got the most out of their databases.
Let us embark on a journey inside the Document Model, where we will identify, analyze and fix anti-patterns. I will also provide you with tools to ease migration strategies towards the Temple of Lost Performance!
Be warned, though! You might want to learn about design patterns before, in order to survive this exhilarating trial!
Speaker: Daniel Coupal, Senior Curriculum Engineer, MongoDB
Level: 200 (Intermediate)
Track: Developer
At this point, you may be familiar with the design of MongoDB databases and collections, however what are the frequent patterns you may have to model?
This presentation will build on the knowledge of how to represent common relationships (1-1, 1-N, N-N) into MongoDB. Going further than relationships, this presentation aims at identifying a set of common patterns in a similar way the Gang of Four did for Object Oriented Design. Finally, this presentation will guide you through the steps of modeling those patterns into MongoDB collections.
What You Will Learn:
- How to create the appropriate MongoDB collections for some of the patterns discussed.
- The different relationships from the relational databases world, and understand how those translate to MongoDB collections.
- The patterns that are frequently seen in developing applications with MongoDB, and a specific vocabulary with which to refer to them. For example, “Subset”, “Attributes” and “Rolled Up” are among some of the patterns explored.
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
During this talk we'll navigate through a customer's journey as they migrate an existing MongoDB deployment to MongoDB Atlas. While the migration itself can be as simple as a few clicks, the prep/post effort requires due diligence to ensure a smooth transfer. We'll cover these steps in detail and provide best practices. In addition, we’ll provide an overview of what to consider when migrating other cloud data stores, traditional databases and MongoDB imitations to MongoDB Atlas.
Background Tasks in Node - Evan Tahler, TaskRabbitRedis Labs
The talk gives an overview of some of the many ways you can preform
background taks in node, which include: Foreground (in-line) Parallel (threaded-ish) Local Messages (fork-ish) Remote
Messages Remote Queues (Resque-ish) Event Bus (Kafka-ish) For every section, we show an example, and more interestingly,
note how node makes every step better/faster/stronger... even the bad ideas! The idea for the talk came from a twitter
converstaion with @dshaw, host of NodeUP about how easy it was to have multiple node workers in Node-Resque... Check
out the presentation to learn how!
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
Humana, like many companies, is tackling the challenge of creating real-time insights from data that is diverse and rapidly changing. This is our journey of how we used MongoDB to combined traditional batch approaches with streaming technologies to provide continues alerting capabilities from real-time data streams.
Doing Joins in MongoDB: Best Practices for Using $lookupMongoDB
Speaker: Austin Zellner, Solutions Architect, MongoDB
Level: 200 (Intermediate)
Track: Data Analytics
$lookup is a pipeline stage in the aggregation framework that performs a left outer join. In this session, you will learn how to leverage $lookup in your applications and best practices for implementing features with $lookup.
What You Will Learn:
- Fundamentals of $lookup and its syntax.
- How to use $lookup stages in your aggregation pipelines.
- Best practices for using $lookup to implement application features.
Empowering the AWS DynamoDB™ application developer with AlternatorScyllaDB
Getting started with AWS DynamoDB™ is famously easy, but as an application grows and evolves it often starts to struggle with DynamoDB’s limitations. We introduce Scylla’s Alternator, which provides the same API as DynamoDB but aims to empower the application developer. In this presentation we will survey some of Alternator’s developer-centered features: Alternator lets you test and eventually deploy your application anywhere, on any public cloud or private cluster. It efficiently supports multiple tables so it does not require difficult single-table design. Finally, Alternator provides the developer with strong observability tools. The insights provided by these tools can detect bottlenecks, improve performance and even lower its cost.
When processing sports betting data, latency matters. Content must be processed in near real-time, constantly, and in a region local to where the customer and the data are. ZeroFlucs uses ScyllaDB in order to provide optimized data-storage local to the customer. In this session, Director of Software Engineering Carly Christensen takes you through how we distribute data, and how we use our recently open-sourced package, Charybdis to facilitate this.
Speaker: Jerry Reghunadh, Architect, CAPIOT Software Pvt. Ltd.
Level: 200 (Intermediate)
Track: Microservices
One of the leading assisted e-commerce players in India approached CAPIOT to rebuild their ERP system from the ground up. Their existing PHP-MySQL setup, while rich in functionality and having served them well for under half a decade, would not scale to meet future demands due to the exponential grown they were experiencing.
We built the entire system using a microservices architecture. To develop APIs we used Node.js, Express, Swagger and Mongoose, and MongoDB was used as the active data store. During the development phase, we solved several problems ranging from cross-service calls, data consistency, service discovery, and security.
One of the issues that we faced is how to effectively design and make cross-service calls. Should we implement a cross-service call for every document that we require or should we duplicate and distribute the data, reducing cross-service calls? We found a balance between these two and engineered a solution that gave us good performance.
In addition, our current system has 36 independent services. We enabled services to auto-discover and make secure calls.
We used Swagger to define our APIs first and enforce request and response validations and Mongoose as our ODM for schema validation. We also heavily depend on pre-save hooks to validate data and post-save hooks to trigger changes in other systems. This API-driven approach vastly enabled our frontend and backend teams to scrum together on a single API spec without worrying about the repercussions of changing API schemas.
What You Will Learn:
- How we used Swagger and Mongoose to off-load validations and schema enforcements. We used Swagger to define our APIs first and enforce request and response validations and Mongoose as our ODM for schema validation. We also heavily depend on pre-save hooks to validate data and post-save hooks to trigger changes in other systems. This API-driven approach vastly enabled our frontend and backend teams to scrum together on a single API spec without worrying about the repercussions of changing API schemas.
- How microservices and cross-service calls work. One of the issues that we faced is how to effectively design and make cross-service calls. Should we implement a cross-service call for every document that we require or should we duplicate and distribute the data, reducing cross-service calls? We found a balance between these two and engineered a solution that gave us good performance.
- How we implemented microservice auto discovery: Our current system has 36 independent services, so we enabled services to auto-discover and make secure calls.
Learn from HomeAway Hadoop Development and Operations Best PracticesDriven Inc.
HomeAway's Big Data team shares a number of development best practices using Cascading, a data application development framework. They also review several operational best practices for managing production Big Data applications that are business critical.
Learn what you need to consider when moving from the world of relational databases to a NoSQL document store.
Hear from Developer Advocate Glynn Bird as he explains the key differences between relational databases and JSON document stores like Cloudant, as well as how to dodge the pitfalls of migrating from a relational database to NoSQL.
A Free New World: Atlas Free Tier and How It Was Born MongoDB
A Free New World: Atlas Free Tier and How It Was Born
Speaker: Louisa Berger, Senior Software Engineer
Speaker: Vincent Do, Fullstack Engineer, MongoDB
Level: 200 (Intermediate)
Track: How We Build MongoDB
Last year, MongoDB released Atlas – a new Database as as Service product that takes handles running, monitoring, and maintaining your MongoDB deployment in the Cloud. This winter, we added a new Free Tier option to the product, which allows users to try out Atlas with their own real data for free. Lead Automation engineer Louisa Berger and Atlas engineer Vincent Do will talk about how it works behind the scenes, and why you might want to try out Atlas. This talk is intended for developers, and will take you through the technical details of the architecture, and show you the techniques and challenges in building a multi-tenant MongoDB.
What You Will Learn:
- Insights on how/why you should use the Atlas free tier
- How the Atlas free tier was designed and implemented
- Best practices for building a multi-tenant MongoDB application
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
These days, everyone is expected to be a data analyst. But with so much data available, how can you make sense of it and be sure you're making the best decisions? One great approach is to use data visualizations. In this session, we take a complex dataset and show how the breadth of capabilities in MongoDB Charts can help you turn bits and bytes into insights.
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
MongoDB Kubernetes operator and MongoDB Open Service Broker are ready for production operations. Learn about how MongoDB can be used with the most popular container orchestration platform, Kubernetes, and bring self-service, persistent storage to your containerized applications. A demo will show you how easy it is to enable MongoDB clusters as an External Service using the Open Service Broker API for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
Are you new to schema design for MongoDB, or are you looking for a more complete or agile process than what you are following currently? In this talk, we will guide you through the phases of a flexible methodology that you can apply to projects ranging from small to large with very demanding requirements.
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
Time series data is increasingly at the heart of modern applications - think IoT, stock trading, clickstreams, social media, and more. With the move from batch to real time systems, the efficient capture and analysis of time series data can enable organizations to better detect and respond to events ahead of their competitors or to improve operational efficiency to reduce cost and risk. Working with time series data is often different from regular application data, and there are best practices you should observe.
This talk covers:
Common components of an IoT solution
The challenges involved with managing time-series data in IoT applications
Different schema designs, and how these affect memory and disk utilization – two critical factors in application performance.
How to query, analyze and present IoT time-series data using MongoDB Compass and MongoDB Charts
At the end of the session, you will have a better understanding of key best practices in managing IoT time-series data with MongoDB.
Join this talk and test session with a MongoDB Developer Advocate where you'll go over the setup, configuration, and deployment of an Atlas environment. Create a service that you can take back in a production-ready state and prepare to unleash your inner genius.
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
Our clients have unique use cases and data patterns that mandate the choice of a particular strategy. To implement these strategies, it is mandatory that we unlearn a lot of relational concepts while designing and rapidly developing efficient applications on NoSQL. In this session, we will talk about some of our client use cases, the strategies we have adopted, and the features of MongoDB that assisted in implementing these strategies.
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
Encryption is not a new concept to MongoDB. Encryption may occur in-transit (with TLS) and at-rest (with the encrypted storage engine). But MongoDB 4.2 introduces support for Client Side Encryption, ensuring the most sensitive data is encrypted before ever leaving the client application. Even full access to your MongoDB servers is not enough to decrypt this data. And better yet, Client Side Encryption can be enabled at the "flick of a switch".
This session covers using Client Side Encryption in your applications. This includes the necessary setup, how to encrypt data without sacrificing queryability, and what trade-offs to expect.
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
MongoDB Kubernetes operator is ready for prime-time. Learn about how MongoDB can be used with most popular orchestration platform, Kubernetes, and bring self-service, persistent storage to your containerized applications.
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
These days, everyone is expected to be a data analyst. But with so much data available, how can you make sense of it and be sure you're making the best decisions? One great approach is to use data visualizations. In this session, we take a complex dataset and show how the breadth of capabilities in MongoDB Charts can help you turn bits and bytes into insights.
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
When you need to model data, is your first instinct to start breaking it down into rows and columns? Mine used to be too. When you want to develop apps in a modern, agile way, NoSQL databases can be the best option. Come to this talk to learn how to take advantage of all that NoSQL databases have to offer and discover the benefits of changing your mindset from the legacy, tabular way of modeling data. We’ll compare and contrast the terms and concepts in SQL databases and MongoDB, explain the benefits of using MongoDB compared to SQL databases, and walk through data modeling basics so you feel confident as you begin using MongoDB.
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
Join this talk and test session with a MongoDB Developer Advocate where you'll go over the setup, configuration, and deployment of an Atlas environment. Create a service that you can take back in a production-ready state and prepare to unleash your inner genius.
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
Query performance should be the unsung hero of an application, but without proper configuration, can become a constant headache. When used properly, MongoDB provides extremely powerful querying capabilities. In this session, we'll discuss concepts like equality, sort, range, managing query predicates versus sequential predicates, and best practices to building multikey indexes.
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
Are you new to schema design for MongoDB, or are you looking for a more complete or agile process than what you are following currently? In this talk, we will guide you through the phases of a flexible methodology that you can apply to projects ranging from small to large with very demanding requirements.
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
MongoDB Atlas Data Lake is a new service offered by MongoDB Atlas. Many organizations store long term, archival data in cost-effective storage like S3, GCP, and Azure Blobs. However, many of them do not have robust systems or tools to effectively utilize large amounts of data to inform decision making. MongoDB Atlas Data Lake is a service allowing organizations to analyze their long-term data to discover a wealth of information about their business.
This session will take a deep dive into the features that are currently available in MongoDB Atlas Data Lake and how they are implemented. In addition, we'll discuss future plans and opportunities and offer ample Q&A time with the engineers on the project.
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
Virtual assistants are becoming the new norm when it comes to daily life, with Amazon’s Alexa being the leader in the space. As a developer, not only do you need to make web and mobile compliant applications, but you need to be able to support virtual assistants like Alexa. However, the process isn’t quite the same between the platforms.
How do you handle requests? Where do you store your data and work with it to create meaningful responses with little delay? How much of your code needs to change between platforms?
In this session we’ll see how to design and develop applications known as Skills for Amazon Alexa powered devices using the Go programming language and MongoDB.
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
aux Core Data, appréciée par des centaines de milliers de développeurs. Apprenez ce qui rend Realm spécial et comment il peut être utilisé pour créer de meilleures applications plus rapidement.
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
Il n’a jamais été aussi facile de commander en ligne et de se faire livrer en moins de 48h très souvent gratuitement. Cette simplicité d’usage cache un marché complexe de plus de 8000 milliards de $.
La data est bien connu du monde de la Supply Chain (itinéraires, informations sur les marchandises, douanes,…), mais la valeur de ces données opérationnelles reste peu exploitée. En alliant expertise métier et Data Science, Upply redéfinit les fondamentaux de la Supply Chain en proposant à chacun des acteurs de surmonter la volatilité et l’inefficacité du marché.
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB
Chaque entreprise devient une entreprise de logiciels, fournissant des solutions client pour accéder à une variété de services et d'informations. Les entreprises commencent maintenant à valoriser leurs données et à obtenir de meilleures informations pour l'entreprise. Un défi crucial consiste à s'assurer que ces données sont toujours disponibles et sécurisées pour être conformes aux objectifs commerciaux de l'entreprise et aux contraintes réglementaires des pays. MongoDB fournit la couche de sécurité dont vous avez besoin, venez découvrir comment sécuriser vos données avec MongoDB.
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...MongoDB
Venez en apprendre davantage sur notre nouvel opérateur de recherche en texte intégral pour MongoDB Atlas. Il s'agit d'une amélioration significative des fonctionnalités de recherches de MongoDB et c'est également la solution de recherche en texte intégral la plus simple et la plus puissante pour les bases de données MongoDB Atlas.
Cette présentation est importante pour quiconque a mis en place ou en visage de mettre en place une fonctionnalité de recherche dans son application MongoDB.
Vous assisterez à une démo de $searchBeta, apprendrez comment cela fonctionne, découvrirez des fonctionnalités spécifiques vous permettant d'obtenir des résultats de recherche pertinents et apprendrez comment vous pouvez commencer à utiliser la recherche en texte intégral dans votre application dès aujourd'hui.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
6. #MDBW17
THAT MANAGER
• The CRM system is the mean
source of revenue information.
• Up to date information is critical
for our business owners.
• Grouped data is much more
valuable while taking decisions.
• Graphs are a powerful mean to
present grouped information.
10. #MDBW17
STEP 1: ANALYTICS ON THE OPERATIONAL
DB
• Running Analytics on your operational database.
‒ Analytical workload affects operational users
o Lots of table scans and heavy counts and groups.
11. #MDBW17
STEP 2: ETL AND OLAP
• ETLing your data into an analytical dedicated database.
13. #MDBW17
STEP 2: ETL AND OLAP
• ETLing your data into an analytical dedicated database.
‒ Longer time to react to business requests.
o Every change affects four systems.
‒ Lack of accuracy on real time reports.
o Data synchronization was happening overnight, so today’s report is on yesterday’s data.
14. #MDBW17
STEP 3: DEDICATED NICHE PRODUCTS
• Real-Time data replication (CDC), embedded BI capabilities,
dedicated hardware.
15. #MDBW17
STEP 3: DEDICATED NICHE PRODUCTS
• Real-Time data replication (CDC), embedded BI capabilities,
dedicated hardware.
‒ New skills required in them team.
o Hardware, CDC, Middleware, Java, UI.
‒ The solution reliability was low.
o Too many moving parts.
o Monitoring and debugging was complex.
‒ Cost was very high.
o More expensive than the CRM itself!
16. #MDBW17
SO… WHAT DO WE NEED?
• Analytical capabilities.
• Simple Architecture.
• Workload isolation.
• Real time data.
• High Availability.
• Cost aligned with provided value.
18. #MDBW17
MONGODB AGGREGATION FRAMEWORK
• A Series of Document Transformations.
‒ Executed in stages.
o Original input is a collection.
o Output of one stage sent as input of next.
o Output as a cursor or a collection.
• Rich Library of Functions.
‒ Filter, manipulate, group, join and summarize data.
• Optimized for performance.
‒ Full index support.
‒ Operations executed in sequential order, performing stage optimization, if possible.
27. #MDBW17
PROBLEM DESCRIPTION
• Database containing the biggest ships out there and, in a different
collection, the containers (not docker, shipping containers).
• Information of the cargo is at container level, but we need it at ship
level where information like destination sits.
• We want to know the cargo of each ship to be able to find things
like all ships currently in the North Atlantic, arriving in the US with
more than 100000 TM of Iron.
28. #MDBW17
BUILDING THE AGGREGATION STEP BY
STEP
• We’ll create one variable for every step of the aggregation
framework, so we can easily build and test our pipe.
var myMatch = {some JSON};
var myGroup = {other JSON};
var mySort = {more JSON};
db.ships.aggregate([myMatch, myGroup, mySort])
29. #MDBW17
ALL SHIPS WITHIN THE NORTH ATLANTIC
• Our first stage is a match. It allow us to filter the vessels. Let’s
find all ships in the North Atlantic going to US ports.
var match = {$match :
{location: {
$geoWithin: { $geometry : atlantic}},
"route.destination.Country": "United States"}}
30. #MDBW17
FINDING THE CONTAINERS OF EACH SHIP
• The containers are in a different collection. In order to find the
containers of each ship let’s join both collection together. The
lookup operator will allow us to do this.
var lookup = {$lookup :
{from: "containers",
as: "cargo",
localField: "Name",
foreignField: "shipName"}}
31. #MDBW17
MANIPULATING THE ARRAY
• That huge array is not going to be usable, let’s transform it into
something easier to handle. The unwind function will help us.
var unwind = {$unwind: "$cargo”}
32. #MDBW17
GROUPING BY SHIP AND CARGO TYPE
• This stage will group the individual documents by ship and cargo
type, count and add up the TM for each ship and cargo type.
var group = {$group :
{_id: {ship: "$Name",
cargo : "$cargo.cargo",
route: "$route",
location: "$location"},
sum: {$sum: "$cargo.Tons"},
count : {$sum: 1}}}
33. #MDBW17
MANIPULATING THE FIELD NAMES
• It’s possible to change the shape of our documents at any moment
thanks to project stage. Let’s put the cargo info in a sub document.
var project = {$project: {
_id : {ship: "$_id.ship", route: "$_id.route",
location: "$_id.location"},
cargo : { type : "$_id.cargo",
tons: "$sum",
count: "$count"}}}
34. #MDBW17
GROUPING BY SHIP
• And now let’s group again only by ship. The different cargos of each
ship will be pushed into a newly created array of documents.
var group2 = {$group : {
_id: "$_id",
cargo: {$push: "$cargo"}}}
35. #MDBW17
FINAL POLISHING
• Finally, let’s reorder our fields again with another project stage
var project2 = {$project: {_id: 0,
ship: "$_id.ship”,
route: "$_id.route",
location: "$_id.location”,
cargo: 1}}
36. #MDBW17
SAVING THE RESULTS
• We can store the results to a new collection using the out stage.
var out = {$out: "result"}
37. #MDBW17
SHOW ME THE VOLUME!!
• Will it perform with a much larger volume? Let’s try with 5000 ships
and 21 million containers.
• Thanks to our step by step approach, we only need to build a new
lookup step.
var lookup2 = {"$lookup" : {
"from" : "containers2",
"as" : "cargo",
"localField" : "Name",
"foreignField" : "shipName”}}
38. #MDBW17
COMMON PIPELINE OPERATORS
• $match
‒ Filter documents
• $project
‒ Reshape documents
• $group
‒ Summarize documents
• $lookup
‒ Join two collections together
• $unwind
‒ Expand an array
• $out
‒ Create new collections
• $sort
‒ Order documents
• $limit/$skip
‒ Paginate documents
• $facet
‒ Executes multiple expressions
• $sample
‒ samples random data
• $bucket
‒ Creates groups by range
• $redact
‒ Restrict documents
39. #MDBW17
SO… WHAT DO WE NEED?
• Analytical capabilities.
• Simple Architecture.
• Workload isolation.
• Real time data.
• High Availability.
• Cost aligned with provided value.
40. #MDBW17
SO… WHAT DO WE HAVE?
• Analytical capabilities. Native, rich and performing.
• Simple Architecture.
• Workload isolation.
• Real time data.
• High Availability.
• Cost aligned with provided value.
41. #MDBW17
SO… WHAT DO WE HAVE?
• Analytical capabilities. Native, rich and performing.
• Simple Architecture. No extra products, no data transfer.
• Workload isolation.
• Real time data.
• High Availability.
• Cost aligned with provided value.
42. #MDBW17
SO… WHAT DO WE HAVE?
• Analytical capabilities. Native, rich and performing.
• Simple Architecture. No extra products, no data transfer.
• Workload isolation. Secondary reads.
• Real time data.
• High Availability.
• Cost aligned with provided value.
43. #MDBW17
SO… WHAT DO WE HAVE?
• Analytical capabilities. Native, rich and performing.
• Simple Architecture. No extra products, no data transfer.
• Workload isolation. Secondary reads.
• Real time data. Replication lag typically under 1 sec.
• High Availability.
• Cost aligned with provided value.
44. #MDBW17
SO… WHAT DO WE HAVE?
• Analytical capabilities. Native, rich and performing.
• Simple Architecture. No extra products, no data transfer.
• Workload isolation. Secondary reads.
• Real time data. Replication lag typically under 1 sec.
• High Availability. Native MongoDB replication and failover.
• Cost aligned with provided value.
45. #MDBW17
SO… WHAT DO WE HAVE?
• Analytical capabilities. Native, rich and performing.
• Simple Architecture. No extra products, no data transfer.
• Workload isolation. Secondary reads.
• Real time data. Replication lag typically under 1 sec.
• High Availability. Native MongoDB replication and failover.
• Cost aligned with provided value. No extra servers or licenses.