SlideShare ist ein Scribd-Unternehmen logo
1 von 34
MongoDB in the
middle of a
Polyglot Persistence
Architecture
Sigfrido Narváez
Principal Software Architect
Sage North America
MongoDB World 2015
June 2015 NY
What is this about?
db.Talk.find({
learnings: {
$in: [
"Polyglot Persistence & Architecture",
"How we use MongoDB",
"Tools & Ops"
]
}
});
2
System of Record
ERP, Accounting, HR
& Payroll
ERP’s
On-premise
SMB Sage Data Cloud
Connector
Customers
Sales
Product Catalog
Payroll
3
Domains
4
Data Taxonomy
Types
Reference
Transactional
Historical
Computed
Metadata
Settings
App-specific data
Files & Logs
Global / Lookup
Behavior
Origin: ERP / Cloud
Querying
Fixed
Unstructured
Growth
Throughput
Searchable
Retention
Binary
Polyglot Persistence
6
MartinFowler.com [2012]
Micro-Services
7
MartinFowler.com [2014]
8
Before
9
… now!
Persistence Technologies
Data Taxonomy
Types
Reference
Transactional
Historical
Computed
Metadata
Settings
App-specific data
Files & Logs
Global / Lookup
Behavior
Origin: ERP / Cloud
Querying
Fixed Schema
Unstructured
Growth
Throughput
Searchable
Retention
Binary
Abstractions
Sage ERP’s
On-premise
Domains as Micro-Services
Connector
13
Customers
Sales
Products Catalog
Payroll
REST API
Resources
CRUD &
Operations
Business
Entities
Rules
Data Layer
Mappings
Migrations
ERP Plug-in
Contracts
Mappings
Connector
Contracts
Background
Data Sync
Background
Data Sync
Mobile
Sales
ERP
Mobile
Sales
Customers
Product
Catalog
…
ERP
C
ERP
B
ERP
A
Mobile
Sales
Domain
NEWDomain
Mobile
Sales
Customers
Product
Catalog
…
ERP
C
ERP
B
ERP
A
App
NEWDomain
Mobile
Sales
Customers
Product
Catalog
NEW
App
…
ERP
C
ERP
B
ERP
A
Sales
Customers
Product
Catalog
…
Platform
Technology
Extending the SDC
6/5/2015 15
Apps & FaaS built on
top of Domains
Each Governs Entities,
Rules & Persistence
Organized around
Business Capabilities
New Apps can re-use,
extend or add
New Technologies can be added
or replace existing
16
MongoDB
• Use Cases
• Aggregation
Framework
• Lessons
Learned
MongoDB Use Cases
• Historical Data
• Write bursts
• Mongo handles easily!
• KPI’s via Aggregation Framework
18
REST API Business Data Layer
KPI
Historical Azure Worker
Aggregation
Pipeline
Pre-Calculated
On-The-Fly
Aggregation Framework
{
{ "$match", { .. } },
{ "$sort", { .. } },
{ "$limit", 50}
{ "$unwind", { .. } },
{ "$match", { .. } },
{ "$limit", 50},
{ "$project", { .. } }
}
Dynamic schema
• Settings
• Tenant, User, App, Features, etc.
• Problematic in Relational model
• Outgrows K/V model
• App-specific Data
• Extensions to Core Entities
• i.e. a SalesPerson is an extension of a User
• Personalization
SQL MongoDB
{
"_id" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066SalesSalesTeamMember",
"CreatedOn" : ISODate("2014-09-15T17:12:48.917Z"),
"UpdatedOn" : ISODate("2014-09-15T17:12:48.917Z"),
"CreatedBy" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066",
"UpdatedBy" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066",
"TenantId" : 3,
"EntityStatus" : 0,
"SettingKey" : "SalesTeamMember",
"AppId" : 0,
"ExtendedEntityId" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066",
"SalespersonIds" : [new BinData(3, "mcseUhOfQUmPK6OnAKhQfA==")],
"Title" : "TestTitle",
"IsSalesMgr" : false,
"IsSalesRep" : false,
"SalesRepMaxDiscPct" : 0.0
}
{
"_id" : "2e866412-dbda-47ad-8767-a3a700a78e21ServiceServicesUser",
"CreatedOn" : ISODate("2014-09-15T17:10:03.04Z"),
"UpdatedOn" : ISODate("2014-09-15T17:10:03.04Z"),
"CreatedBy" : "00000000-0000-0000-0000-000000000000",
"UpdatedBy" : "00000000-0000-0000-0000-000000000000",
"TenantId" : 3,
"EntityStatus" : 0,
"SettingKey" : "ServicesUser",
"AppId" : 1,
"ExtendedEntityId" : "2e866412-dbda-47ad-8767-a3a700a78e21",
"Notes" : "Test Notes",
"Role" : 1,
"RoleAsString" : "Administrator",
"LunchStartTime" : "12:00:00",
"LunchEndTime" : "13:00:00",
"StartTimeMon" : "08:00:00",
"StartTimeTue" : "08:00:00",
"StartTimeWed" : "08:00:00",
"StartTimeThu" : "08:00:00",
"StartTimeFri" : "08:00:00",
"StartTimeSat" : "00:00:00",
"StartTimeSun" : "00:00:00",
"EndTimeMon" : "17:00:00",
"EndTimeTue" : "17:00:00",
"EndTimeWed" : "17:00:00",
"EndTimeThu" : "17:00:00",
"EndTimeFri" : "17:00:00",
"EndTimeSat" : "00:00:00",
"EndTimeSun" : "00:00:00"
}
Extensions
@codinghorror
Lessons Learned
Indexes
• Adjust Indexes as needed
• Background
• Not on unique indexes!
• Can’t add new background indexes and delete old indexes
Migrations
• Added after launch
• DevOps “book keeping”, i.e. Indexes
• https://github.com/phoenixwebgroup/DotNetMongoMigrations
Lessons Learned
Exceed Namespace
• 16mb limit / ~24K namespaces
• Each collection & index is a namespace
• Aggregation output to temp collections
Aggregations
• Ensure $match & $sort uses indexes
• 100mb limit
• Increase with allowDiskUse: true
• Monitor for increase on Non-Mapped Virtual Memory
Lessons Learned
• Aggregation $match – ensure uses indexes!
6/5/2015 24
Operations
• Azure
• MMS
• APM
• CI/CD
• Log Mining
Production
DevOps - From code to alert paths!
25
Dev CI/CD Log Mining
WAD, IIS
Custom
APM
Azure Role
Metrics
DB Telemetry
Deploy &
DB Migrations
code
warm
cold
Mongo on Azure
Partnered with MongoLab
• Dev & Production clusters
• Slow queries & recommended indexes! (Dex)
• Profiler & Stream logs
• Telemetry: Real-Time Monitoring / link to MMS
• http://docs.mongolab.com/monitoring
On your own
• Linux VM - http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-linux-in-
azure/
• Azure Worker - http://docs.mongodb.org/ecosystem/tutorial/deploy-mongodb-
worker-roles-in-azure/
Mongo Monitoring & Performance (MMS)
• Data, Index, Storage
• Page Faults
• Memory & CPU
• Top 5 Alerts
• Host Recovering, Repl Lag, Connections, Lock%, Replica
• http://www.mongodb.com/blog/post/five-mms-monitoring-alerts-keep-your-
mongodb-deployment-track
• Top 5 Graphs
• Lock %, Repl Lag, Journal Writes, Page faults, Non-Mapped Virtual Memory
• http://blog.mongodb.org/post/62152249344/the-top-5-metrics-to-watch-in-
mongodb
Non-mapped Virtual Memory Increase
Application Performance Monitoring
MongoLab plug-in
• Operations
• Queues
• Lock %
• Page Faults
• Non-mapped Virtual Memory
• Memory
• Replication Operations
• Replication Lag
• Oplog Window
SQL
• Query drill-down
• Index profile
Continuous Integration / Delivery
• Builds
• Visual Studio aware
• C# Code Analysis & Coverage
• NUnit test execution
• NuGet
• Azure Deployments
• Azure plugin
• Runbook Azure Automation
• Database Migrations
• SQL
• Mongo
Log Mining
• Open Access (Engineers, DevOps, Customer Support)
• Dump WAD, IIS & Error logs
• Alerts & Dashboards
• Verify issues have ceased (post deployment)
Alert Paths
• Hot
• Less than 10s
• “Wake someone up”
• Heartbeat (SCOM/NOC)
• Warm
• Less than 5m – DevOps engineer
• NewRelic, MMS, Azure Portal
• Slow Query, Slow Response, Repl Lag, Lock%, ApDex < 0.9, CPU%
• Cold
• Longer than 5m - Production Support / Engineering
• SumoLogic – Error showed up in logs X times
• Forensic purposes – saved queries
33
Summary
• Use the best of what is out there!
• Divide for flexibility
• MongoDB is amazing: multi-faceted
• Enable DevOps with awesome tools!
• Change is constant – Partner up!
THANK YOU!
Sigfrido “Sig” Narváez
• sigfrido@gmail.com | @SigNarvaez
• Principal Software Architect, Sage
• Orange County MUG Organizer - ~3yrs
• 2015 MongoDB Master
Sage
• Solutions for ERP, CRM, HR, Payroll, Payments, Assets, Construction,
and Real Estate.
• Headquartered in UK, offices in North America, mainland Europe,
South Africa, Australia, Asia and Brazil.
• 13K Employees. 6M Customers. 23 Countries.
• LSE:SGE

Weitere ähnliche Inhalte

Was ist angesagt?

Agility and Scalability with MongoDB
Agility and Scalability with MongoDBAgility and Scalability with MongoDB
Agility and Scalability with MongoDBMongoDB
 
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...MongoDB
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBMongoDB
 
Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise MongoDB
 
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDBMongoDB
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP SystemMongoDB
 
Webinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBWebinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBMongoDB
 
Webinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleWebinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleMongoDB
 
Webinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage EngineWebinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage EngineMongoDB
 
MongoDB Administration 101
MongoDB Administration 101MongoDB Administration 101
MongoDB Administration 101MongoDB
 
It's a Dangerous World
It's a Dangerous World It's a Dangerous World
It's a Dangerous World MongoDB
 
Webinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBWebinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBMongoDB
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & DevelopmentGlobalLogic Ukraine
 
Managing Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at ScaleManaging Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at ScaleMongoDB
 
Sizing Your MongoDB Cluster
Sizing Your MongoDB ClusterSizing Your MongoDB Cluster
Sizing Your MongoDB ClusterMongoDB
 

Was ist angesagt? (20)

NoSQL benchmarking
NoSQL benchmarkingNoSQL benchmarking
NoSQL benchmarking
 
Agility and Scalability with MongoDB
Agility and Scalability with MongoDBAgility and Scalability with MongoDB
Agility and Scalability with MongoDB
 
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
 
Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise
 
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
Webinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBWebinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDB
 
Webinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleWebinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and Scale
 
Webinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage EngineWebinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage Engine
 
MongoDB and Spark
MongoDB and SparkMongoDB and Spark
MongoDB and Spark
 
MongoDB Administration 101
MongoDB Administration 101MongoDB Administration 101
MongoDB Administration 101
 
Elastic{ON} 2017 Recap
Elastic{ON} 2017 RecapElastic{ON} 2017 Recap
Elastic{ON} 2017 Recap
 
Mongo db 3.4 Overview
Mongo db 3.4 OverviewMongo db 3.4 Overview
Mongo db 3.4 Overview
 
It's a Dangerous World
It's a Dangerous World It's a Dangerous World
It's a Dangerous World
 
Elasticsearch 5.0
Elasticsearch 5.0Elasticsearch 5.0
Elasticsearch 5.0
 
Webinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBWebinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDB
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
 
Managing Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at ScaleManaging Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at Scale
 
Sizing Your MongoDB Cluster
Sizing Your MongoDB ClusterSizing Your MongoDB Cluster
Sizing Your MongoDB Cluster
 

Andere mochten auch

Nosql emerging world of polygot persistence
Nosql emerging world of polygot persistenceNosql emerging world of polygot persistence
Nosql emerging world of polygot persistenceDuc Nguyen
 
Making pig fly optimizing data processing on hadoop presentation
Making pig fly  optimizing data processing on hadoop presentationMaking pig fly  optimizing data processing on hadoop presentation
Making pig fly optimizing data processing on hadoop presentationMd Rasool
 
A Mobile-First, Cloud-First Stack at Pearson
A Mobile-First, Cloud-First Stack at PearsonA Mobile-First, Cloud-First Stack at Pearson
A Mobile-First, Cloud-First Stack at PearsonMongoDB
 
Hardware Provisioning for MongoDB
Hardware Provisioning for MongoDBHardware Provisioning for MongoDB
Hardware Provisioning for MongoDBMongoDB
 
Big Data Paris - A Modern Enterprise Architecture
Big Data Paris - A Modern Enterprise ArchitectureBig Data Paris - A Modern Enterprise Architecture
Big Data Paris - A Modern Enterprise ArchitectureMongoDB
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBMongoDB
 
Cassandra Community Webinar: From Mongo to Cassandra, Architectural Lessons
Cassandra Community Webinar: From Mongo to Cassandra, Architectural LessonsCassandra Community Webinar: From Mongo to Cassandra, Architectural Lessons
Cassandra Community Webinar: From Mongo to Cassandra, Architectural LessonsDataStax
 
Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm AnalyzingHaluan Irsad
 
Credit Suisse: Multi-Domain Enterprise Reference Data
Credit Suisse: Multi-Domain Enterprise Reference DataCredit Suisse: Multi-Domain Enterprise Reference Data
Credit Suisse: Multi-Domain Enterprise Reference DataOrchestra Networks
 
Building the enterprise data architecture
Building the enterprise data architectureBuilding the enterprise data architecture
Building the enterprise data architectureCosta Pissaris
 
Webinar: When to Use MongoDB
Webinar: When to Use MongoDBWebinar: When to Use MongoDB
Webinar: When to Use MongoDBMongoDB
 
Enterprise Data Architect Job Description
Enterprise Data Architect Job DescriptionEnterprise Data Architect Job Description
Enterprise Data Architect Job DescriptionLars E Martinsson
 

Andere mochten auch (12)

Nosql emerging world of polygot persistence
Nosql emerging world of polygot persistenceNosql emerging world of polygot persistence
Nosql emerging world of polygot persistence
 
Making pig fly optimizing data processing on hadoop presentation
Making pig fly  optimizing data processing on hadoop presentationMaking pig fly  optimizing data processing on hadoop presentation
Making pig fly optimizing data processing on hadoop presentation
 
A Mobile-First, Cloud-First Stack at Pearson
A Mobile-First, Cloud-First Stack at PearsonA Mobile-First, Cloud-First Stack at Pearson
A Mobile-First, Cloud-First Stack at Pearson
 
Hardware Provisioning for MongoDB
Hardware Provisioning for MongoDBHardware Provisioning for MongoDB
Hardware Provisioning for MongoDB
 
Big Data Paris - A Modern Enterprise Architecture
Big Data Paris - A Modern Enterprise ArchitectureBig Data Paris - A Modern Enterprise Architecture
Big Data Paris - A Modern Enterprise Architecture
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
Cassandra Community Webinar: From Mongo to Cassandra, Architectural Lessons
Cassandra Community Webinar: From Mongo to Cassandra, Architectural LessonsCassandra Community Webinar: From Mongo to Cassandra, Architectural Lessons
Cassandra Community Webinar: From Mongo to Cassandra, Architectural Lessons
 
Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm Analyzing
 
Credit Suisse: Multi-Domain Enterprise Reference Data
Credit Suisse: Multi-Domain Enterprise Reference DataCredit Suisse: Multi-Domain Enterprise Reference Data
Credit Suisse: Multi-Domain Enterprise Reference Data
 
Building the enterprise data architecture
Building the enterprise data architectureBuilding the enterprise data architecture
Building the enterprise data architecture
 
Webinar: When to Use MongoDB
Webinar: When to Use MongoDBWebinar: When to Use MongoDB
Webinar: When to Use MongoDB
 
Enterprise Data Architect Job Description
Enterprise Data Architect Job DescriptionEnterprise Data Architect Job Description
Enterprise Data Architect Job Description
 

Ähnlich wie MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture

Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Takumi Sakamoto
 
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.local Austin 2018: Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
MongoDB.local Austin 2018:  Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...MongoDB.local Austin 2018:  Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
MongoDB.local Austin 2018: Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...MongoDB
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB
 
Introduction to Azure monitor
Introduction to Azure monitorIntroduction to Azure monitor
Introduction to Azure monitorPraveen Nair
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB
 
Integrate MongoDB & SQL data with a single REST API
Integrate MongoDB & SQL data with a single REST APIIntegrate MongoDB & SQL data with a single REST API
Integrate MongoDB & SQL data with a single REST APIEspresso Logic
 
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...MongoDB
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Demi Ben-Ari
 
DevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOpsDevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOpsOutlyer
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...Katia Aresti
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Demi Ben-Ari
 
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Codemotion
 
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...Amazon Web Services
 
Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCIJinwoong Kim
 
Webinar: Scaling MongoDB
Webinar: Scaling MongoDBWebinar: Scaling MongoDB
Webinar: Scaling MongoDBMongoDB
 

Ähnlich wie MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture (20)

Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
 
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.local Austin 2018: Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
MongoDB.local Austin 2018:  Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...MongoDB.local Austin 2018:  Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
MongoDB.local Austin 2018: Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data Presentation
 
Introduction to Azure monitor
Introduction to Azure monitorIntroduction to Azure monitor
Introduction to Azure monitor
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
Integrate MongoDB & SQL data with a single REST API
Integrate MongoDB & SQL data with a single REST APIIntegrate MongoDB & SQL data with a single REST API
Integrate MongoDB & SQL data with a single REST API
 
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
 
DOTNET8.pptx
DOTNET8.pptxDOTNET8.pptx
DOTNET8.pptx
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
 
DevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOpsDevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOps
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
 
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
 
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...
 
Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCI
 
Introduction to azure document db
Introduction to azure document dbIntroduction to azure document db
Introduction to azure document db
 
harish_resume
harish_resumeharish_resume
harish_resume
 
Deep thoughts from the real world of azure
Deep thoughts from the real world of azureDeep thoughts from the real world of azure
Deep thoughts from the real world of azure
 
Webinar: Scaling MongoDB
Webinar: Scaling MongoDBWebinar: Scaling MongoDB
Webinar: Scaling MongoDB
 

Mehr von MongoDB

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
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB
 

Mehr von MongoDB (20)

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...
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
 

Kürzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture

  • 1. MongoDB in the middle of a Polyglot Persistence Architecture Sigfrido Narváez Principal Software Architect Sage North America MongoDB World 2015 June 2015 NY
  • 2. What is this about? db.Talk.find({ learnings: { $in: [ "Polyglot Persistence & Architecture", "How we use MongoDB", "Tools & Ops" ] } }); 2
  • 3. System of Record ERP, Accounting, HR & Payroll ERP’s On-premise SMB Sage Data Cloud Connector Customers Sales Product Catalog Payroll 3 Domains
  • 4. 4
  • 5. Data Taxonomy Types Reference Transactional Historical Computed Metadata Settings App-specific data Files & Logs Global / Lookup Behavior Origin: ERP / Cloud Querying Fixed Unstructured Growth Throughput Searchable Retention Binary
  • 11. Data Taxonomy Types Reference Transactional Historical Computed Metadata Settings App-specific data Files & Logs Global / Lookup Behavior Origin: ERP / Cloud Querying Fixed Schema Unstructured Growth Throughput Searchable Retention Binary
  • 13. Sage ERP’s On-premise Domains as Micro-Services Connector 13 Customers Sales Products Catalog Payroll REST API Resources CRUD & Operations Business Entities Rules Data Layer Mappings Migrations ERP Plug-in Contracts Mappings Connector Contracts Background Data Sync Background Data Sync
  • 15. 6/5/2015 15 Apps & FaaS built on top of Domains Each Governs Entities, Rules & Persistence Organized around Business Capabilities New Apps can re-use, extend or add New Technologies can be added or replace existing
  • 16. 16 MongoDB • Use Cases • Aggregation Framework • Lessons Learned
  • 17. MongoDB Use Cases • Historical Data • Write bursts • Mongo handles easily! • KPI’s via Aggregation Framework
  • 18. 18 REST API Business Data Layer KPI Historical Azure Worker Aggregation Pipeline Pre-Calculated On-The-Fly Aggregation Framework { { "$match", { .. } }, { "$sort", { .. } }, { "$limit", 50} { "$unwind", { .. } }, { "$match", { .. } }, { "$limit", 50}, { "$project", { .. } } }
  • 19. Dynamic schema • Settings • Tenant, User, App, Features, etc. • Problematic in Relational model • Outgrows K/V model • App-specific Data • Extensions to Core Entities • i.e. a SalesPerson is an extension of a User • Personalization
  • 20. SQL MongoDB { "_id" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066SalesSalesTeamMember", "CreatedOn" : ISODate("2014-09-15T17:12:48.917Z"), "UpdatedOn" : ISODate("2014-09-15T17:12:48.917Z"), "CreatedBy" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066", "UpdatedBy" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066", "TenantId" : 3, "EntityStatus" : 0, "SettingKey" : "SalesTeamMember", "AppId" : 0, "ExtendedEntityId" : "4c44592a-1f6f-4a8f-bb87-a3a700a85066", "SalespersonIds" : [new BinData(3, "mcseUhOfQUmPK6OnAKhQfA==")], "Title" : "TestTitle", "IsSalesMgr" : false, "IsSalesRep" : false, "SalesRepMaxDiscPct" : 0.0 } { "_id" : "2e866412-dbda-47ad-8767-a3a700a78e21ServiceServicesUser", "CreatedOn" : ISODate("2014-09-15T17:10:03.04Z"), "UpdatedOn" : ISODate("2014-09-15T17:10:03.04Z"), "CreatedBy" : "00000000-0000-0000-0000-000000000000", "UpdatedBy" : "00000000-0000-0000-0000-000000000000", "TenantId" : 3, "EntityStatus" : 0, "SettingKey" : "ServicesUser", "AppId" : 1, "ExtendedEntityId" : "2e866412-dbda-47ad-8767-a3a700a78e21", "Notes" : "Test Notes", "Role" : 1, "RoleAsString" : "Administrator", "LunchStartTime" : "12:00:00", "LunchEndTime" : "13:00:00", "StartTimeMon" : "08:00:00", "StartTimeTue" : "08:00:00", "StartTimeWed" : "08:00:00", "StartTimeThu" : "08:00:00", "StartTimeFri" : "08:00:00", "StartTimeSat" : "00:00:00", "StartTimeSun" : "00:00:00", "EndTimeMon" : "17:00:00", "EndTimeTue" : "17:00:00", "EndTimeWed" : "17:00:00", "EndTimeThu" : "17:00:00", "EndTimeFri" : "17:00:00", "EndTimeSat" : "00:00:00", "EndTimeSun" : "00:00:00" } Extensions @codinghorror
  • 21. Lessons Learned Indexes • Adjust Indexes as needed • Background • Not on unique indexes! • Can’t add new background indexes and delete old indexes Migrations • Added after launch • DevOps “book keeping”, i.e. Indexes • https://github.com/phoenixwebgroup/DotNetMongoMigrations
  • 22. Lessons Learned Exceed Namespace • 16mb limit / ~24K namespaces • Each collection & index is a namespace • Aggregation output to temp collections Aggregations • Ensure $match & $sort uses indexes • 100mb limit • Increase with allowDiskUse: true • Monitor for increase on Non-Mapped Virtual Memory
  • 23. Lessons Learned • Aggregation $match – ensure uses indexes!
  • 24. 6/5/2015 24 Operations • Azure • MMS • APM • CI/CD • Log Mining
  • 25. Production DevOps - From code to alert paths! 25 Dev CI/CD Log Mining WAD, IIS Custom APM Azure Role Metrics DB Telemetry Deploy & DB Migrations code warm cold
  • 26. Mongo on Azure Partnered with MongoLab • Dev & Production clusters • Slow queries & recommended indexes! (Dex) • Profiler & Stream logs • Telemetry: Real-Time Monitoring / link to MMS • http://docs.mongolab.com/monitoring On your own • Linux VM - http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-linux-in- azure/ • Azure Worker - http://docs.mongodb.org/ecosystem/tutorial/deploy-mongodb- worker-roles-in-azure/
  • 27. Mongo Monitoring & Performance (MMS) • Data, Index, Storage • Page Faults • Memory & CPU • Top 5 Alerts • Host Recovering, Repl Lag, Connections, Lock%, Replica • http://www.mongodb.com/blog/post/five-mms-monitoring-alerts-keep-your- mongodb-deployment-track • Top 5 Graphs • Lock %, Repl Lag, Journal Writes, Page faults, Non-Mapped Virtual Memory • http://blog.mongodb.org/post/62152249344/the-top-5-metrics-to-watch-in- mongodb
  • 29. Application Performance Monitoring MongoLab plug-in • Operations • Queues • Lock % • Page Faults • Non-mapped Virtual Memory • Memory • Replication Operations • Replication Lag • Oplog Window SQL • Query drill-down • Index profile
  • 30. Continuous Integration / Delivery • Builds • Visual Studio aware • C# Code Analysis & Coverage • NUnit test execution • NuGet • Azure Deployments • Azure plugin • Runbook Azure Automation • Database Migrations • SQL • Mongo
  • 31. Log Mining • Open Access (Engineers, DevOps, Customer Support) • Dump WAD, IIS & Error logs • Alerts & Dashboards • Verify issues have ceased (post deployment)
  • 32. Alert Paths • Hot • Less than 10s • “Wake someone up” • Heartbeat (SCOM/NOC) • Warm • Less than 5m – DevOps engineer • NewRelic, MMS, Azure Portal • Slow Query, Slow Response, Repl Lag, Lock%, ApDex < 0.9, CPU% • Cold • Longer than 5m - Production Support / Engineering • SumoLogic – Error showed up in logs X times • Forensic purposes – saved queries
  • 33. 33 Summary • Use the best of what is out there! • Divide for flexibility • MongoDB is amazing: multi-faceted • Enable DevOps with awesome tools! • Change is constant – Partner up!
  • 34. THANK YOU! Sigfrido “Sig” Narváez • sigfrido@gmail.com | @SigNarvaez • Principal Software Architect, Sage • Orange County MUG Organizer - ~3yrs • 2015 MongoDB Master Sage • Solutions for ERP, CRM, HR, Payroll, Payments, Assets, Construction, and Real Estate. • Headquartered in UK, offices in North America, mainland Europe, South Africa, Australia, Asia and Brazil. • 13K Employees. 6M Customers. 23 Countries. • LSE:SGE

Hinweis der Redaktion

  1. NoSQL Joke
  2. Talk & Conversation Questions through out, no Q&A at end
  3. Large install base Every ERP different Standardize in the cloud (apps & schema) – not repeat Sync up from ERP to Cloud – Transactions down to ERP Apps share common data – user experience & value/investment carries over Many apps & services, and also cloud-to-cloud integrations & future ecosystem 1st Version – ALL SQL & Monolithic Mention OTHER SAGE CLOUDS AND ISV/PARTNER What were the challenges & why cloud?
  4. 1st attempt all sql – minimal nosql (k/v) Monolothic inter-related schema Performance issues Eventually would hit db size limits Each app requires core data + own data Generate new data from apps & services (images, etc) Share between apps Grow & grow, some purged Different sources and so on
  5. Identified what we were up against first Solve later – find patterns & tools Reference from ERP Global Lookup Historical Data will grow, maybe unstructured Not a table, but a matrix
  6. Inspired by Martin Fowler We have entered an area where we have the right tool for the right job Not a single hammer for all
  7. Inspired by Martin Fowler We have entered an area where we have the right tool for the right job, not a single hammer for all
  8. We can’t make this on a classic layered cake Birthday Parties of Before This is what we had built the first time around – 3 layer cake with monolithic schema
  9. We need a new type of cake!! … one that… is not a cake!! Every layer in the arch is made up of smaller more autonomous pieces That is the birthday cake of today!
  10. SQL rich, expensive and slow and size caps WATS is poor, cheap and fast Needed something in between for throughput and with no limits Bridge the gap, but not needed the big Hadoop, or big search datastore, etc
  11. Guideline for us, not cast in stone Highlights of sql, mongo, wats
  12. Reduce dependency on data technology Still “punch-a-hole” to get the benefit of each, but keep some level of base behavior Integrated Tenant Data Isolation & Security Keep logic abstracted from persistence Wrap database drivers or context classes REST calls fan-out into multiple data-stores, return a single payload Data Ownership – ERP or Cloud? Base Data Models determine Owner & DataStore – Restricted logic based owner
  13. Architecture builds domains, domains build the sdc Domains are the foundation for the data-cloud and for apps Each domain is a service with a full stack including ERP counter part Calls from Mobile Apps can range from a single domain, single datastore Or fan-out into multiple domains, each into multiple data stores Biz Logic separated from persistence logic
  14. Acrobatics and Abs joke
  15. 2 Years worth of history – various KPI’s (MTD YTD, frequently purchased) Inventory Category Tree Settings are flags & sometimes complex data that did not fit a K/V model and didn’t want to do SQL tables for
  16. Generate millions of insight documents from raw historical data Started with nightly batch Realized we could do on-the-fly Value of Aggregation in Real-Time – Less data, disk, memory, $
  17. 2 Years worth of history – various KPI’s (MTD YTD, frequently purchased) Inventory Category Tree Settings are flags & sometimes complex data that did not fit a K/V model and didn’t want to do SQL tables for
  18. Allow Apps to “extend” SDC entities with their own data fields Support settings and configurations at different levels App, Tenant, User, etc. Leverage MongoDB’s flexible schema
  19. Also mention aggregation framework and temp collections – run out of namespace (16mb limit)
  20. Also mention aggregation framework and temp collections – run out of namespace (16mb limit)
  21. Joke about time-scale – pegged CPU was I the order of several days! Fixed on Feb 14!! Happy Valentines! Thanks MongoLab
  22. Hot Less than 10s “Wake someone up” Heartbeat (SCOM/NOC) Warm Less than 5m – DevOps engineer NewRelic, MMS, Azure Portal Slow Query, Slow Response, Repl Lag, Lock%, ApDex < 0.9, CPU% Cold Longer than 5m - Production Support / Engineering SumoLogic – Error showed up in logs X times Forensic purposes – saved queries
  23. Spawn clusters in minutes - Scale up & down Engineers can turn on profiler anytime and stream logs Database compaction too
  24. By using MMS we found the issue on Feb 14 Also run-away non-mapped vm 0 Replication lag helps us determine when to bounce clusters Non-mapped virtual memory issue
  25. Story about dev
  26. Story about how we use sumo to find issues Correct & monitor cease Performance too Turn on verbose logging
  27. Story about how we use sumo to find issues Correct & monitor cease Performance too Turn on verbose logging
  28. Polyglot Hammer – everything looks like a nail SQL eons ago – people moved out of flat files k/v’s into sql We now see the return to older paradigms Architecture: Polyglot & MicroServices - Extensible & flexible: Extend our data cloud quickly Upgrade independently Scale where needed Mongo: Key piece of the puzzle missing in Azure to fulfill vision, we couldn’t have done it w/o! Very multi-faceted database that can be used for many data behaviors Bridges the gap w/o using larger more vertical tech (e.g. Hadoop, etc) Taken on larger data loads, it scales, can sleep at night. I can use for both data from erp & also scale needed for cloud Search, GeoSearch, HA, Different storage engines for the right behavior, Ops: Ops team is enabled for success - Right tools for the right use cases Companies/Services out there to get you up and running!