SlideShare a Scribd company logo
1 of 20
TECHNOLOGY | INNOVATION | SOLUTIONS 
Larry Steinberg (CTO) & Alessandro Muti (EA)
TECHNOLOGY | INNOVATION | SOLUTIONS 
Premier Hospitality Software Provider 
• Nasdaq: AGYS 
• Agilysys is a leading pure-play provider of software-enabled 
solutions for the hospitality industry 
• Offering includes a full suite of hospitality products, 
including point-of-sale (POS) and property 
management systems (PMS) 
• Base of 3,000+ customers with 95% retention rate 
• 490+ employees world wide 
• Engineering headquarters in Bellevue WA 
with 75 engineers; growing to 100+ 
• Aggressively investing in next generation solutions
TECHNOLOGY | INNOVATION | SOLUTIONS 
Guest Lifecycle Driving Vision 
Customer Lifecycle 
Discover 
Reserve 
Arrive 
Suggest 
Pay 
Order 
Experience 
Analyze 
Procure 
Staff 
Market 
Current Offering Future Offering 
Pre-Visit 
Reserve 
Discover 
Book 
Staff 
Procure 
BACK OFFICE RESTAURANT SPA 
Analyze Procure Order Pay 
Staff Staff Order Pay 
Suggest 
Analyze Procure 
Order Pay Staff Order 
Order Pay 
Reserve 
Arrive Experience 
Arrive Experience 
Suggest 
Suggest 
Pay 
Market 
BACK OFFICE FRONT DESK CASINO
Hospitality Technology Drives the Guest Experience 
TECHNOLOGY | INNOVATION | SOLUTIONS 
Integrated Guest Experience 
Point-of-Sale 
Property 
Management 
Inventory and 
Procurement 
Workforce 
Management 
Next Gen Tenets 
SaaS 
delivery 
Multi 
tenant & 
High 
density 
Common 
platform 
Native 
Product 
Integration 
Centralized 
data store 
Technology Stack 
Linux 
Java/Spring 
Scala 
MongoDB 
Apache CXF 
OptaPlanner 
Drools
Why MongoDB – the Business view 
TECHNOLOGY | INNOVATION | SOLUTIONS 
The Business Problem • Building a Platform 
• Requirements coming at different points in the lifecycle 
• Schema less approach better enables change over ti 
Flexibility • Licensing 
• Deployment – on premise, cloud, appliance 
• Supported with our standard devops toolset – ansible 
Distributed 
architecture 
• Hybrid – Cloud offering + On Site Appliance 
• Geographically dispersed 
• Scale
Why MongoDB – the Technical View 
TECHNOLOGY | INNOVATION | SOLUTIONS 
• Document based repository 
• The document paradigm fits well with the logical aggregation of our 
modular components 
• Great integration between user interface and services 
• JSON is a great data interchange format 
• For services that don't have business logic allows us to go directly 
from the backend to the front end with minimal time spent converting 
into intermediate objects 
• De-normalization of data allows us to group relevant information in 
document that require little manipulation 
• High Performance and High Availability 
• Replica sets and automatic failover 
• Scalability 
• Sharding provide easy way to scale data load
TECHNOLOGY | INNOVATION | SOLUTIONS 
The simple case 
• Using Spring Data Framework to write to MongoDB 
• 1 Class = 1 document 
• MongoTemplate is the Spring wrapper to the Mongo Java driver 
• Awesome Helper Classes 
• Aggregation, Criteria, Query, Update 
• Lots of pre-build repositories implementations 
• CRUD Repositories, PagingAndSortingRepository, … 
• Annotations to decorate your class 
• Indexed, Field, Value, Id, DBRef,… 
• Lifecycle management 
• Automatic Query Builder
The simple case - 1 Class = 1 Document 
TECHNOLOGY | INNOVATION | SOLUTIONS
The simple case - 1 Class = 1 Document 
TECHNOLOGY | INNOVATION | SOLUTIONS
The simple case - 1 Class = 1 Document 
TECHNOLOGY | INNOVATION | SOLUTIONS
The simple case - 1 Class = 1 Document 
TECHNOLOGY | INNOVATION | SOLUTIONS
The simple case - 1 Class = 1 Document 
TECHNOLOGY | INNOVATION | SOLUTIONS
The Flexible Document Model 
Many Classes = 1 document
TECHNOLOGY | INNOVATION | SOLUTIONS 
The Flexible Document Model 
Many Classes = 1 document
TECHNOLOGY | INNOVATION | SOLUTIONS 
The Flexible Document Model 
Many Classes = 1 document
TECHNOLOGY | INNOVATION | SOLUTIONS 
The Flexible Document Model 
Many Classes = 1 document
TECHNOLOGY | INNOVATION | SOLUTIONS 
The Flexible Document Model 
Many Classes = 1 document
TECHNOLOGY | INNOVATION | SOLUTIONS 
Agilysys Data Access Layer 
• Extended Spring Data MongoTemplate 
• added methods to deal with updates to arrays 
• wrapped multiple calls to the database into a single atomic method 
• Helper functions to map Model to Domain 
• Most calls to the database show a pattern 
• Query to find the document with the data 
• Morph the document and transform to match the domain object 
• Map the resulting JSON back to the appropriate Class 
• Use JSONPath to find values in subDocuments
TECHNOLOGY | INNOVATION | SOLUTIONS 
Lesson Learned 
• Understanding the pattern for data access is very important 
• Look at your data and don't think about it in terms of 
relations, de-normalization and duplication are not as bad of 
an issue as generally thought 
• In the flexible document model the hardest objects to deal 
with are arrays, at least for now, use them carefully 
• TextSearch is not yet strong enough for flexible documents, 
JSONPath can help 
• For the cases where a data redesign was not enough to 
ensure that all the atomic elements of an update are in the 
same collection, then a strategy like 2 phase commit and 
application managed states are necessary. Think hard about 
the problem before deciding on a document design
TECHNOLOGY | INNOVATION | SOLUTIONS 
Questions?

More Related Content

What's hot

Accelerating Insight - Smart Data Lake Customer Success Stories
Accelerating Insight - Smart Data Lake Customer Success StoriesAccelerating Insight - Smart Data Lake Customer Success Stories
Accelerating Insight - Smart Data Lake Customer Success StoriesCambridge Semantics
 
Accelerate Self-service Analytics with Universal Semantic Model
Accelerate Self-service Analytics with Universal Semantic Model Accelerate Self-service Analytics with Universal Semantic Model
Accelerate Self-service Analytics with Universal Semantic Model Denodo
 
MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...
MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...
MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...MongoDB
 
Denodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with OktopusDenodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with OktopusDenodo
 
Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...
Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...
Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...MongoDB
 
Introduction to Anzo Unstructured
Introduction to Anzo UnstructuredIntroduction to Anzo Unstructured
Introduction to Anzo UnstructuredCambridge Semantics
 
Denodo DataFest 2016: What’s New in Denodo Platform – Demo and Roadmap
Denodo DataFest 2016: What’s New in Denodo Platform – Demo and RoadmapDenodo DataFest 2016: What’s New in Denodo Platform – Demo and Roadmap
Denodo DataFest 2016: What’s New in Denodo Platform – Demo and RoadmapDenodo
 
Decoding the Acronyms in Clinical Data Standards
Decoding the Acronyms in Clinical Data StandardsDecoding the Acronyms in Clinical Data Standards
Decoding the Acronyms in Clinical Data Standardsd-Wise Technologies
 
BioStorage Technologies Case Study: How to build an informatics platform usin...
BioStorage Technologies Case Study: How to build an informatics platform usin...BioStorage Technologies Case Study: How to build an informatics platform usin...
BioStorage Technologies Case Study: How to build an informatics platform usin...Denodo
 
Maximizing Data Lake ROI with Data Virtualization: A Technical Demonstration
Maximizing Data Lake ROI with Data Virtualization: A Technical DemonstrationMaximizing Data Lake ROI with Data Virtualization: A Technical Demonstration
Maximizing Data Lake ROI with Data Virtualization: A Technical DemonstrationDenodo
 
Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...
Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...
Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...Denodo
 
Education Seminar: Self-service BI, Logical Data Warehouse and Data Lakes
Education Seminar: Self-service BI, Logical Data Warehouse and Data LakesEducation Seminar: Self-service BI, Logical Data Warehouse and Data Lakes
Education Seminar: Self-service BI, Logical Data Warehouse and Data LakesDenodo
 
Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...
Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...
Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...Denodo
 
Big Data Fabric 2.0 Drives Data Democratization
Big Data Fabric 2.0 Drives Data DemocratizationBig Data Fabric 2.0 Drives Data Democratization
Big Data Fabric 2.0 Drives Data DemocratizationCambridge Semantics
 
Using a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data FabricUsing a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data FabricCambridge Semantics
 
Data Virtualization Modernizes Biobanking
Data Virtualization Modernizes BiobankingData Virtualization Modernizes Biobanking
Data Virtualization Modernizes BiobankingDenodo
 
Using Cloud Automation Technologies to Deliver an Enterprise Data Fabric
Using Cloud Automation Technologies to Deliver an Enterprise Data FabricUsing Cloud Automation Technologies to Deliver an Enterprise Data Fabric
Using Cloud Automation Technologies to Deliver an Enterprise Data FabricCambridge Semantics
 
Getting Started with Data Virtualization – What problems DV solves
Getting Started with Data Virtualization – What problems DV solvesGetting Started with Data Virtualization – What problems DV solves
Getting Started with Data Virtualization – What problems DV solvesDenodo
 
Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...
Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...
Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...Denodo
 
6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...
6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...
6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...Denodo
 

What's hot (20)

Accelerating Insight - Smart Data Lake Customer Success Stories
Accelerating Insight - Smart Data Lake Customer Success StoriesAccelerating Insight - Smart Data Lake Customer Success Stories
Accelerating Insight - Smart Data Lake Customer Success Stories
 
Accelerate Self-service Analytics with Universal Semantic Model
Accelerate Self-service Analytics with Universal Semantic Model Accelerate Self-service Analytics with Universal Semantic Model
Accelerate Self-service Analytics with Universal Semantic Model
 
MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...
MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...
MongoDB San Francisco 2013:Geo Searches for Healthcare Pricing Data presented...
 
Denodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with OktopusDenodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with Oktopus
 
Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...
Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...
Webinar: Electronic Health Records (EHRs) and MongoDB - Advancing the Data Pl...
 
Introduction to Anzo Unstructured
Introduction to Anzo UnstructuredIntroduction to Anzo Unstructured
Introduction to Anzo Unstructured
 
Denodo DataFest 2016: What’s New in Denodo Platform – Demo and Roadmap
Denodo DataFest 2016: What’s New in Denodo Platform – Demo and RoadmapDenodo DataFest 2016: What’s New in Denodo Platform – Demo and Roadmap
Denodo DataFest 2016: What’s New in Denodo Platform – Demo and Roadmap
 
Decoding the Acronyms in Clinical Data Standards
Decoding the Acronyms in Clinical Data StandardsDecoding the Acronyms in Clinical Data Standards
Decoding the Acronyms in Clinical Data Standards
 
BioStorage Technologies Case Study: How to build an informatics platform usin...
BioStorage Technologies Case Study: How to build an informatics platform usin...BioStorage Technologies Case Study: How to build an informatics platform usin...
BioStorage Technologies Case Study: How to build an informatics platform usin...
 
Maximizing Data Lake ROI with Data Virtualization: A Technical Demonstration
Maximizing Data Lake ROI with Data Virtualization: A Technical DemonstrationMaximizing Data Lake ROI with Data Virtualization: A Technical Demonstration
Maximizing Data Lake ROI with Data Virtualization: A Technical Demonstration
 
Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...
Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...
Denodo DataFest 2016: Data Science: Operationalizing Analytical Models in Rea...
 
Education Seminar: Self-service BI, Logical Data Warehouse and Data Lakes
Education Seminar: Self-service BI, Logical Data Warehouse and Data LakesEducation Seminar: Self-service BI, Logical Data Warehouse and Data Lakes
Education Seminar: Self-service BI, Logical Data Warehouse and Data Lakes
 
Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...
Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...
Product Keynote: Denodo 8.0 - A Logical Data Fabric for the Intelligent Enter...
 
Big Data Fabric 2.0 Drives Data Democratization
Big Data Fabric 2.0 Drives Data DemocratizationBig Data Fabric 2.0 Drives Data Democratization
Big Data Fabric 2.0 Drives Data Democratization
 
Using a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data FabricUsing a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data Fabric
 
Data Virtualization Modernizes Biobanking
Data Virtualization Modernizes BiobankingData Virtualization Modernizes Biobanking
Data Virtualization Modernizes Biobanking
 
Using Cloud Automation Technologies to Deliver an Enterprise Data Fabric
Using Cloud Automation Technologies to Deliver an Enterprise Data FabricUsing Cloud Automation Technologies to Deliver an Enterprise Data Fabric
Using Cloud Automation Technologies to Deliver an Enterprise Data Fabric
 
Getting Started with Data Virtualization – What problems DV solves
Getting Started with Data Virtualization – What problems DV solvesGetting Started with Data Virtualization – What problems DV solves
Getting Started with Data Virtualization – What problems DV solves
 
Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...
Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...
Analyst Keynote: Forrester: Data Fabric Strategy is Vital for Business Innova...
 
6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...
6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...
6 Solution Patterns for Accelerating Self-Service BI, Cloud, Big Data, and Ot...
 

Similar to MongoDB at Agilysys: A Case Study

Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Lucas Jellema
 
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudPatching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudDatavail
 
Introduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive PlatformIntroduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive PlatformBoldRadius Solutions
 
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016IXIASOFT
 
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j
 
GraphTalk Wien - Intelligente Lösungen mit Graphen erstellen
GraphTalk Wien - Intelligente Lösungen mit Graphen erstellenGraphTalk Wien - Intelligente Lösungen mit Graphen erstellen
GraphTalk Wien - Intelligente Lösungen mit Graphen erstellenNeo4j
 
GraphTalks Hamburg - Einführung in Graphdatenbanken
GraphTalks Hamburg - Einführung in GraphdatenbankenGraphTalks Hamburg - Einführung in Graphdatenbanken
GraphTalks Hamburg - Einführung in GraphdatenbankenNeo4j
 
Art of refactoring - Code Smells and Microservices Antipatterns
Art of refactoring - Code Smells and Microservices AntipatternsArt of refactoring - Code Smells and Microservices Antipatterns
Art of refactoring - Code Smells and Microservices AntipatternsEl Mahdi Benzekri
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureDatabricks
 
Data Treatment MongoDB
Data Treatment MongoDBData Treatment MongoDB
Data Treatment MongoDBNorberto Leite
 
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Tugdual Grall
 
Embarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition OverviewEmbarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition OverviewEmbarcadero Technologies
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...Lucas Jellema
 
Tackle your Documentation Challenges with the IXIASOFT DITA CMS
Tackle your Documentation Challenges with the IXIASOFT DITA CMSTackle your Documentation Challenges with the IXIASOFT DITA CMS
Tackle your Documentation Challenges with the IXIASOFT DITA CMSIXIASOFT
 
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...Lucas Jellema
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindAvere Systems
 
How to Manage and Troubleshoot Search: A Practical Guide
How to Manage and Troubleshoot Search: A Practical GuideHow to Manage and Troubleshoot Search: A Practical Guide
How to Manage and Troubleshoot Search: A Practical GuideSPC Adriatics
 
Modern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of ITModern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of ITUwe Friedrichsen
 
Data Lake Acceleration vs. Data Virtualization - What’s the difference?
Data Lake Acceleration vs. Data Virtualization - What’s the difference?Data Lake Acceleration vs. Data Virtualization - What’s the difference?
Data Lake Acceleration vs. Data Virtualization - What’s the difference?Denodo
 

Similar to MongoDB at Agilysys: A Case Study (20)

Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudPatching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP Cloud
 
Introduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive PlatformIntroduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive Platform
 
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
 
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in Graphdatenbanken
 
GraphTalk Wien - Intelligente Lösungen mit Graphen erstellen
GraphTalk Wien - Intelligente Lösungen mit Graphen erstellenGraphTalk Wien - Intelligente Lösungen mit Graphen erstellen
GraphTalk Wien - Intelligente Lösungen mit Graphen erstellen
 
GraphTalks Hamburg - Einführung in Graphdatenbanken
GraphTalks Hamburg - Einführung in GraphdatenbankenGraphTalks Hamburg - Einführung in Graphdatenbanken
GraphTalks Hamburg - Einführung in Graphdatenbanken
 
Art of refactoring - Code Smells and Microservices Antipatterns
Art of refactoring - Code Smells and Microservices AntipatternsArt of refactoring - Code Smells and Microservices Antipatterns
Art of refactoring - Code Smells and Microservices Antipatterns
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh Architecture
 
Data Treatment MongoDB
Data Treatment MongoDBData Treatment MongoDB
Data Treatment MongoDB
 
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
Embarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition OverviewEmbarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition Overview
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
 
Tackle your Documentation Challenges with the IXIASOFT DITA CMS
Tackle your Documentation Challenges with the IXIASOFT DITA CMSTackle your Documentation Challenges with the IXIASOFT DITA CMS
Tackle your Documentation Challenges with the IXIASOFT DITA CMS
 
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
 
How to Manage and Troubleshoot Search: A Practical Guide
How to Manage and Troubleshoot Search: A Practical GuideHow to Manage and Troubleshoot Search: A Practical Guide
How to Manage and Troubleshoot Search: A Practical Guide
 
Modern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of ITModern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of IT
 
Data Lake Acceleration vs. Data Virtualization - What’s the difference?
Data Lake Acceleration vs. Data Virtualization - What’s the difference?Data Lake Acceleration vs. Data Virtualization - What’s the difference?
Data Lake Acceleration vs. Data Virtualization - What’s the difference?
 

More from MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

MongoDB at Agilysys: A Case Study

  • 1. TECHNOLOGY | INNOVATION | SOLUTIONS Larry Steinberg (CTO) & Alessandro Muti (EA)
  • 2. TECHNOLOGY | INNOVATION | SOLUTIONS Premier Hospitality Software Provider • Nasdaq: AGYS • Agilysys is a leading pure-play provider of software-enabled solutions for the hospitality industry • Offering includes a full suite of hospitality products, including point-of-sale (POS) and property management systems (PMS) • Base of 3,000+ customers with 95% retention rate • 490+ employees world wide • Engineering headquarters in Bellevue WA with 75 engineers; growing to 100+ • Aggressively investing in next generation solutions
  • 3. TECHNOLOGY | INNOVATION | SOLUTIONS Guest Lifecycle Driving Vision Customer Lifecycle Discover Reserve Arrive Suggest Pay Order Experience Analyze Procure Staff Market Current Offering Future Offering Pre-Visit Reserve Discover Book Staff Procure BACK OFFICE RESTAURANT SPA Analyze Procure Order Pay Staff Staff Order Pay Suggest Analyze Procure Order Pay Staff Order Order Pay Reserve Arrive Experience Arrive Experience Suggest Suggest Pay Market BACK OFFICE FRONT DESK CASINO
  • 4. Hospitality Technology Drives the Guest Experience TECHNOLOGY | INNOVATION | SOLUTIONS Integrated Guest Experience Point-of-Sale Property Management Inventory and Procurement Workforce Management Next Gen Tenets SaaS delivery Multi tenant & High density Common platform Native Product Integration Centralized data store Technology Stack Linux Java/Spring Scala MongoDB Apache CXF OptaPlanner Drools
  • 5. Why MongoDB – the Business view TECHNOLOGY | INNOVATION | SOLUTIONS The Business Problem • Building a Platform • Requirements coming at different points in the lifecycle • Schema less approach better enables change over ti Flexibility • Licensing • Deployment – on premise, cloud, appliance • Supported with our standard devops toolset – ansible Distributed architecture • Hybrid – Cloud offering + On Site Appliance • Geographically dispersed • Scale
  • 6. Why MongoDB – the Technical View TECHNOLOGY | INNOVATION | SOLUTIONS • Document based repository • The document paradigm fits well with the logical aggregation of our modular components • Great integration between user interface and services • JSON is a great data interchange format • For services that don't have business logic allows us to go directly from the backend to the front end with minimal time spent converting into intermediate objects • De-normalization of data allows us to group relevant information in document that require little manipulation • High Performance and High Availability • Replica sets and automatic failover • Scalability • Sharding provide easy way to scale data load
  • 7. TECHNOLOGY | INNOVATION | SOLUTIONS The simple case • Using Spring Data Framework to write to MongoDB • 1 Class = 1 document • MongoTemplate is the Spring wrapper to the Mongo Java driver • Awesome Helper Classes • Aggregation, Criteria, Query, Update • Lots of pre-build repositories implementations • CRUD Repositories, PagingAndSortingRepository, … • Annotations to decorate your class • Indexed, Field, Value, Id, DBRef,… • Lifecycle management • Automatic Query Builder
  • 8. The simple case - 1 Class = 1 Document TECHNOLOGY | INNOVATION | SOLUTIONS
  • 9. The simple case - 1 Class = 1 Document TECHNOLOGY | INNOVATION | SOLUTIONS
  • 10. The simple case - 1 Class = 1 Document TECHNOLOGY | INNOVATION | SOLUTIONS
  • 11. The simple case - 1 Class = 1 Document TECHNOLOGY | INNOVATION | SOLUTIONS
  • 12. The simple case - 1 Class = 1 Document TECHNOLOGY | INNOVATION | SOLUTIONS
  • 13. The Flexible Document Model Many Classes = 1 document
  • 14. TECHNOLOGY | INNOVATION | SOLUTIONS The Flexible Document Model Many Classes = 1 document
  • 15. TECHNOLOGY | INNOVATION | SOLUTIONS The Flexible Document Model Many Classes = 1 document
  • 16. TECHNOLOGY | INNOVATION | SOLUTIONS The Flexible Document Model Many Classes = 1 document
  • 17. TECHNOLOGY | INNOVATION | SOLUTIONS The Flexible Document Model Many Classes = 1 document
  • 18. TECHNOLOGY | INNOVATION | SOLUTIONS Agilysys Data Access Layer • Extended Spring Data MongoTemplate • added methods to deal with updates to arrays • wrapped multiple calls to the database into a single atomic method • Helper functions to map Model to Domain • Most calls to the database show a pattern • Query to find the document with the data • Morph the document and transform to match the domain object • Map the resulting JSON back to the appropriate Class • Use JSONPath to find values in subDocuments
  • 19. TECHNOLOGY | INNOVATION | SOLUTIONS Lesson Learned • Understanding the pattern for data access is very important • Look at your data and don't think about it in terms of relations, de-normalization and duplication are not as bad of an issue as generally thought • In the flexible document model the hardest objects to deal with are arrays, at least for now, use them carefully • TextSearch is not yet strong enough for flexible documents, JSONPath can help • For the cases where a data redesign was not enough to ensure that all the atomic elements of an update are in the same collection, then a strategy like 2 phase commit and application managed states are necessary. Think hard about the problem before deciding on a document design
  • 20. TECHNOLOGY | INNOVATION | SOLUTIONS Questions?

Editor's Notes

  1. Customers served – msft; boeing; disney; rccl; Customers Stability Scale High transaction volumes Markets served Casino Hotels & Resorts Cruise Higher Education Foodservice management Foodservice – microsoft, boeing, Restaurants Sports & Entertainment
  2. Our vision for hospitality analytics sees your Agilysys systems as a suite of hospitality-focused solutions that collect critical information about the integrated experience your guests have of their experience with your properties. It’s all about centralizing data in an easy-to-use service so that the critical insight you need to optimize your business is always available and at your fingertips.
  3. We started with Spring Data Mongo template and added our methods Most query show a pattern JSONPath is a great library to find data in subDocuments
  4. Patterns for Data Access De-normalization and duplication is ok Be careful with arrays…. Sometime an array can be turn into a list of objects using the ID as the key 2 phase commit can be used in cases where you need to touch multiple documents, but before going there you should think hard about the document design
  5. Patterns for Data Access De-normalization and duplication is ok Be careful with arrays…. Sometime an array can be turn into a list of objects using the ID as the key 2 phase commit can be used in cases where you need to touch multiple documents, but before going there you should think hard about the document design