SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
© 2019 Fair Isaac Corporation. 1
© 2019 Fair Isaac Corporation.
This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent.
FICO® Alert & Case Manager
Auditing with MongoDB Change Streams
Carlos Saraiva
Sr. Principal Architect, FICO
Sönke Sothmann
Principal Engineer, FICO
© 2019 Fair Isaac Corporation. 2
FICO Overview
Profile
The leader in advanced analytics and decision management
Founded: 1956
• Understanding and predicting human behavior
• Reducing the time from insight to action
• $1B revenue (2018)
Products
and Services
190+ patents in AI and machine learning methods
• Scoring systems for credit underwriting and risk management
• AI systems for security and fraud detection
• Advanced solutions for AML detection and compliance
• Tools for analytics authoring and decision management
Clients and
Markets
10,000+ clients in 90+ countries
Industry focus: Finance, insurance, retail, government, healthcare, logistics, and
manufacturing
Worldwide
20+ offices worldwide, HQ in San Jose, California
3,400 employees
Regional Hubs: San Rafael and San Diego (CA), New York, London, Birmingham
(UK), Toronto, Johannesburg, Milan, Moscow, Bensheim, Munich, Madrid, Istanbul,
Sao Paulo, Bangalore, Beijing, Singapore
© 2019 Fair Isaac Corporation. 3
Alert & Case Manager
ACM
Fraud Compliance
• Fraud and Compliance use a dual-pronged analytical
approach:
• Expert-driven, rules-based analytics that assess risk
based on human judgment and internal audit
expertise.
• Outlier detection algorithms that deliver an objective,
prioritized assessment of risk based on an activity.
• Strong Integrated Case Management to allow staff to
quickly review the transactions with the highest risk
level.
• Risk transactions are sent to ACM to be analyzed and
dispositioned by auditors
• Alert Management, aka Transactional Case
Management – single transactions
• Investigative Case Management – a complete
portfolio around one of more transactions with some
commonalty
• Suspicious Entity Case Management – an
aggregation of alert cases by a suspicious entity
(person, account, etc.)
© 2019 Fair Isaac Corporation. 4
Architecture
© 2019 Fair Isaac Corporation. 5
ACM is a case manager for fraud and compliance alerts
© 2019 Fair Isaac Corporation. 6
Auditing Business Requirements
• Recreate cases to a point in time
• Track actions on a case
• User and automated actions
• Administration audit trail
• Track changes to groups, roles, ACLs, rules, approval
process definitions, queue definitions, templates, etc.
• Not covered in this presentation
• Security audit trail - login, logout
• Data Access Audit trail - PII / PCI data access
© 2019 Fair Isaac Corporation. 7
Non-functional Requirements
• High performance for writing changes to the database
• Reading and interpreting the audit trail has more relaxed performance requirements
• Fail-proof
• Capture all changes to the database, even those done by external systems, if
any
© 2019 Fair Isaac Corporation. 8
Before the availability of change streams, we‘ve tried other approaches
• Manual tracking – registering case activities (non-generic approach)
• error prone (missing tracks, inconsistent)
• couldn’t recreate snapshots
• couldn’t capture changes done outside of the application
• Javers (https://javers.org/)
• bad performance, too granular, too many IOs
• doesn't play well with MongoDB
• couldn't capture changes done outside the application
• causes issues when changes are not done through application, which makes it hard to e.g. execute
scripts against Mongo directly
© 2019 Fair Isaac Corporation. 9
So we’ve looked to MongoDB Change Streams to solve the problem
© 2019 Fair Isaac Corporation. 10
• OPLOG – a capped
collection that keeps track
of all changes for
replication purposes
• Change Streams is an API
to allow clients to listen to
changes
• High performance
• Resumable
Change Streams in a Nutshell
© 2019 Fair Isaac Corporation. 11
Change Events
{
_id : { "_data" : <BinData|hex string> },
"operationType" : "<operation>",
"fullDocument" : { <document> },
"ns" : { "db":"<database>", "coll":"<collection>" },
"to" : { "db":"<database>", "coll":"<collection>" },
"documentKey" : { "_id" : <value> },
"updateDescription" : {
"updatedFields" : { <document> },
"removedFields" : [ "<field>", ... ]
}
"clusterTime" : <Timestamp>,
…
}
© 2019 Fair Isaac Corporation. 12
Solution Architecture
© 2019 Fair Isaac Corporation. 13
Snapshot Recreation
© 2019 Fair Isaac Corporation. 14
Demo
© 2019 Fair Isaac Corporation. 15
Boost performance using fixed-time interval transfer (the Boxcar Pattern)
• Write changes in batches
• Collect changes up to a certain amount of time and up to a certain number of
changes
• E.g. Collect up to 1000 changes for max 1 second
• Whichever limit is reached first leads to flushing the batch
• Batch insert using insertMany()
© 2019 Fair Isaac Corporation. 16
High Availability
• If audit node goes down, other nodes should continue to write the changes to the
DB
• Ensure changes are written with as little delay as possible
• Ensure that we don‘t fall off the oplog because of audit node downtime
© 2019 Fair Isaac Corporation. 17
Change Streams Expectations & Reality
© 2019 Fair Isaac Corporation. 18
Expectations
• Access to unchanged fields
• E.g. user name/IP might not change between updates
• Full document can be provided
• Be able to persist the change event documents as they are
• Change Streams are fast
• Get exact changes
• We don’t need to calculate the changes on our own!
© 2019 Fair Isaac Corporation. 19
Reality
• Full document lookup feature returns a document that may differ from the
document at the time of the update operation
• Not suitable for auditing
• Change event documents cannot be persisted directly
• Need to be transformed
• Changes include dot notation in object keys, which is not allowed when you persist a
document
• Although highly performant, there is degradation as change or document sizes
increase
• Arrays and embedded documents are reported as full arrays / full embedded
documents
• You don’t know what has changed, unless you calculate a diff
• We can leverage this behavior for change meta data and logical change tracking
© 2019 Fair Isaac Corporation. 20
Demo Reality
© 2019 Fair Isaac Corporation. 21
We adapted our solution to work with this limitation and meet the original
requirements
© 2019 Fair Isaac Corporation. 22
Summary
© 2019 Fair Isaac Corporation. 23
Solution meets our expectations in terms of meeting the requirements
• Change Streams is an adequate way of recording audit trail of changes
• Audit Reader/Writer are generic, can be used with any apps that use MongoDB
• Foolproof: as long as the audit component listens to the collections, no change
will go undetected
• no code required to capture changes
• allows for easy recreation of snapshots
• captures changes made outside the application
• by direct manipulation through scripts
• made by other applications
• high performance
• highly available, fault-tolerant, resumable
© 2019 Fair Isaac Corporation. 24
Scalability
© 2019 Fair Isaac Corporation. 25
Scalability
• Vertical Scalability
• Writer Threads
• Form buckets / multiple listeners
• Horizontal Scalability
• Load distribution using middleware
• Form buckets / multiple listeners
© 2019 Fair Isaac Corporation. 26
Vertical Scalability – Writer Threads
• Multiple writer threads
• Allows faster writes
© 2019 Fair Isaac Corporation. 27
Vertical Scalability – Multiple Listeners
• Listener per watched collection
• Listener per bucket (kind of sharding)
• subscribe to changes
using filter conditions
(e.g. ranges of customer IDs)
© 2019 Fair Isaac Corporation. 28
Horizontal Scalability
• Should not be required in most cases, due to MongoDB‘s legendary performance
• Options
• Use middleware to distribute the load among different nodes
• subscribe to changes using filter conditions
• Form buckets (e.g. customer ID ranges)
• different nodes could register for changes of only a subset of the documents
• All nodes that are processing a bucket should be run in an HA setup
© 2019 Fair Isaac Corporation. 29
Scalability – Resumability
• When vertical or horizontal scalability is used, it’s no longer possible to resume
the change stream just by looking at the latest change document in MongoDB to
retrieve the latest resume token
• When multiple change documents are processed in parallel, and the cluster crashes
while processing, older change documents could have not yet been persisted, while
newer change documents already have, creating a gap in the audit trail.
• Options
• Allow to start with a certain timestamp or resume token
• Gap detection
© 2019 Fair Isaac Corporation. 30© 2019 Fair Isaac Corporation. 30
Questions & Answers
© 2019 Fair Isaac Corporation. 31
© 2019 Fair Isaac Corporation.
This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent.
Thank you
Vielen Dank
Obrigado
© 2019 Fair Isaac Corporation. 32
Appendices
© 2019 Fair Isaac Corporation. 33
Reality – How Changes to Arrays and Emb. Documents are reported (1)
{
"_id" : ObjectId("5c83c795174eabef4a5d98ca"),
"firstname": "Max",
"lastname": "Mustermann",
"age": 36.0,
"addresses": [
{"type":"home", "street":"Musterweg 1", "zip":"68123",
"city":"Mannheim", "country":"Germany"},
{"type":"work", "street":"Beispielgasse 2", "zip":"64625",
"city":"Bensheim", "country": "Germany"}
],
"employment": {
"emplNo": "123456",
"supervisor": {
"emplNo": "1",
"firstname": "Big",
"lastname": "Boss"
}
}
}
© 2019 Fair Isaac Corporation. 34
Reality – How Changes to Arrays and Emb. Documents are reported (2)
db.getCollection('test').updateOne({_id:
ObjectId("5c83c795174eabef4a5d98ca")}, {$set: {
"_id" : ObjectId("5c83c795174eabef4a5d98ca"),
"firstname": "Max CHANGED",
"lastname": "Mustermann",
"age": 36.0,
"addresses": [
{"type":"home", "street":"Musterweg 1 CHANGED", "zip":"68123",
"city":"Mannheim", "country":"Germany"},
{"type":"work", "street":"Beispielgasse 2", "zip":"64625",
"city":"Bensheim", "country":"Germany"}
],
"employment": {
"emplNo": "123456",
"supervisor": {
"emplNo": "1",
"firstname": "Big CHANGED",
"lastname": "Boss"
}
}
}})
© 2019 Fair Isaac Corporation. 35
Reality – How Changes to Arrays and Emb. Documents are reported (3)
{
"_id" : { "_data" : ... },
"operationType": "update",
"clusterTime": Timestamp(1556449376, 1),
"ns" : { "db":"test", "coll":"test" },
"documentKey": { "_id": ObjectId("5c83c795174eabef4a5d98ca") },
"updateDescription": {
"updatedFields": { ... }
"removedFields": [ ]
}
}
© 2019 Fair Isaac Corporation. 36
Reality – How Changes to Arrays and Emb. Documents are reported (4)
{ ...
"updateDescription": {
"updatedFields": {
"addresses": [
{ "type":"home", "street":"Musterweg 1 CHANGED", "zip":"68123",
"city":"Mannheim", "country":"Germany" },
{ "type":"work", "street":"Beispielgasse 2", "zip":"64625",
"city":"Bensheim", "country":"Germany" }
],
"employment" : {
"emplNo": "123456",
"supervisor": {
"emplNo": "1",
"firstname": "Big CHANGED",
"lastname": "Boss"
}
},
"firstname": "Max CHANGED"
},
"removedFields": [ ]
}
}
© 2019 Fair Isaac Corporation. 37
Resumability
• Change streams are resumable by specifying a resume token when subscribing
for changes
• MongoDB will replay changes that have occurred since the change indicated by
the resume token
• Resume tokens are part of the change documents
• As we persist change documents to an audit collection, latest change token can
be fetched from there
• Downtimes of all audit nodes do not lead to missing change events
• as long as the oplog still holds the changes
• configure your oplog size!
© 2019 Fair Isaac Corporation. 38
How to find out if change document has already been persisted?
• Writing change documents for the original changes happens asynchronously
• Based on how you implement or configure it, changes should be written
some milliseconds or seconds after the original change
• If you still need to know if the change document for a particular change has
already been persisted
• Introduce change ID
• E.g. generate change UUID in your app and set it in the document along with your other
changes
• Change document will also have this change ID
© 2019 Fair Isaac Corporation. 39
Change Meta Data
• Persist change meta data in the original document along with your changes
• createdDate/updatedDate
• User name and/or ID, plus IP address of user initiating the update
• Change UUID
© 2019 Fair Isaac Corporation. 40
Logical Change Tracking
• Problem 1: multiple changes combined in single write operation (e.g. user changes priority, rules
update other fields), leading to a single change document
• Problem 2: Changes in the document might not always clearly indicate what the change is (you
only see the manifestation of the change)
• Persist logical change description in original document along with actual changes
• Logical actions, e.g. „confirm alert“
• User or rule or system performing the update
• Parameters of the action, e.g. If action is „change priority“, the parameter might be the target
priority, e.g. „P1“
• As this list of logical changes is itself a change of the document, it will be captured in the change
events along with the actual changes and gets persisted as an entry in the audit trail
• Next change to the document would then replace latestLogicalChanges with new entries
• List of changes doesn’t grow in the document itself, as only latest change is persisted
© 2019 Fair Isaac Corporation. 41
Change Meta Data & Logical Change Tracking - Example
{"latestChange": {
"changeUuid": "…",
"timestamp": …,
"triggeringEntity": {
"type": "USER", // or "SYSTEM"
"username": "bob",
"ipaddress": "172.123.321.111" },
"logicalChanges": [
{ "type":"UserAction", "action":"AlertDecisioning",
"params":{"alertId":"123", "decision":"confirmed" } },
{ "type":"RuleAction", "action":"SetAlertPriority",
"params":{"priority":"P1"} }
]
}
…
}
© 2019 Fair Isaac Corporation. 42
Things to note
• Requires
• MongoDB 3.6 or later
• Replica set
• "majority" read concern to be enabled
• Eventual consistent
• Document changes do not lead to immediate audit trail entries, as change writes will be
asynchronous. There will be a delay until the audit entries are written.
• Throughput needs to be measured
• Use an oplog that is large enough to buffer the changes of several hours,
e.g. 24 hours
• Works best with small documents / changes on top level properties
© 2019 Fair Isaac Corporation. 43
Core Competencies
• Predictive and Descriptive Analytics
• Supervised and Unsupervised Techniques
• Machine Learning and Artificial Intelligence
• Unstructured Data Analytics
• Advanced Optimization
Advanced
Analytics
Decision
Management
• Advanced Rules Management Software
• Integrated Analytics and Operational Platform
• Operationalized Analytics (Context-based Approaches)
• Rapid Application Development
• Standards-based (i.e. Decision Modeling Notation)
Applied
Risk and Fraud
Management
• Deep Expertise in Credit Risk and Fraud Detection
• Trusted Custodians of Massive Data Consortia
• Cyber Risk Quantification and Analytics-based Threat Detection
• Portfolio-level and Systemic Risk Assessment
• AML, KYC, and Compliance Management

Más contenido relacionado

La actualidad más candente

Change data capture
Change data captureChange data capture
Change data captureJames Deppen
 
Plm & windchill
Plm & windchillPlm & windchill
Plm & windchillsumanrao33
 
Obiee 12c: Look under the bonnet and test drive
Obiee 12c: Look under the bonnet and test driveObiee 12c: Look under the bonnet and test drive
Obiee 12c: Look under the bonnet and test driveGuillaume Slee
 
Drive DBMS Transformation with EDB Postgres
Drive DBMS Transformation with EDB PostgresDrive DBMS Transformation with EDB Postgres
Drive DBMS Transformation with EDB PostgresEDB
 
New Features in OBIEE 12c
New Features in OBIEE 12c New Features in OBIEE 12c
New Features in OBIEE 12c Michelle Kolbe
 
SysAid Presentation V.7
SysAid Presentation V.7SysAid Presentation V.7
SysAid Presentation V.7srinivasp2010
 
Oracle 12.2 - My Favorite Top 5 New or Improved Features
Oracle 12.2 - My Favorite Top 5 New or Improved FeaturesOracle 12.2 - My Favorite Top 5 New or Improved Features
Oracle 12.2 - My Favorite Top 5 New or Improved FeaturesSolarWinds
 
Upgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know AboutUpgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know AboutGeraint Thomas
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumRick Hightower
 
Obiee 12C and the Leap Forward in Lifecycle Management
Obiee 12C and the Leap Forward in Lifecycle ManagementObiee 12C and the Leap Forward in Lifecycle Management
Obiee 12C and the Leap Forward in Lifecycle ManagementStewart Bryson
 
Architecture Concepts
Architecture ConceptsArchitecture Concepts
Architecture ConceptsPratip Mallik
 
Oracle Product Hub Cloud Item Master Made Simple for ERP
Oracle Product Hub Cloud  Item Master Made Simple for ERPOracle Product Hub Cloud  Item Master Made Simple for ERP
Oracle Product Hub Cloud Item Master Made Simple for ERPKPIT
 
Whole enterprise integration with primavera and business process mgmt ppt
Whole enterprise integration with primavera and business process mgmt pptWhole enterprise integration with primavera and business process mgmt ppt
Whole enterprise integration with primavera and business process mgmt pptp6academy
 
How to deliver a Single View in Financial Services
 How to deliver a Single View in Financial Services How to deliver a Single View in Financial Services
How to deliver a Single View in Financial ServicesMongoDB
 
Data Visualization and Discovery
Data Visualization and DiscoveryData Visualization and Discovery
Data Visualization and DiscoveryDatavail
 
Présentation IBM InfoSphere Information Server 11.3
Présentation IBM InfoSphere Information Server 11.3Présentation IBM InfoSphere Information Server 11.3
Présentation IBM InfoSphere Information Server 11.3IBMInfoSphereUGFR
 
451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL Database451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL DatabaseNuoDB
 
Transform Your DBMS to Drive Application Innovation
Transform Your DBMS to Drive Application InnovationTransform Your DBMS to Drive Application Innovation
Transform Your DBMS to Drive Application InnovationEDB
 

La actualidad más candente (20)

Change data capture
Change data captureChange data capture
Change data capture
 
Plm & windchill
Plm & windchillPlm & windchill
Plm & windchill
 
Obiee 12c: Look under the bonnet and test drive
Obiee 12c: Look under the bonnet and test driveObiee 12c: Look under the bonnet and test drive
Obiee 12c: Look under the bonnet and test drive
 
Drive DBMS Transformation with EDB Postgres
Drive DBMS Transformation with EDB PostgresDrive DBMS Transformation with EDB Postgres
Drive DBMS Transformation with EDB Postgres
 
New Features in OBIEE 12c
New Features in OBIEE 12c New Features in OBIEE 12c
New Features in OBIEE 12c
 
SysAid Presentation V.7
SysAid Presentation V.7SysAid Presentation V.7
SysAid Presentation V.7
 
Oracle 12.2 - My Favorite Top 5 New or Improved Features
Oracle 12.2 - My Favorite Top 5 New or Improved FeaturesOracle 12.2 - My Favorite Top 5 New or Improved Features
Oracle 12.2 - My Favorite Top 5 New or Improved Features
 
Upgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know AboutUpgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know About
 
OBIEE Upgrade - Key things you need to know
OBIEE Upgrade  - Key things you need to know OBIEE Upgrade  - Key things you need to know
OBIEE Upgrade - Key things you need to know
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO Forum
 
Obiee 12C and the Leap Forward in Lifecycle Management
Obiee 12C and the Leap Forward in Lifecycle ManagementObiee 12C and the Leap Forward in Lifecycle Management
Obiee 12C and the Leap Forward in Lifecycle Management
 
Architecture Concepts
Architecture ConceptsArchitecture Concepts
Architecture Concepts
 
Oracle Product Hub Cloud Item Master Made Simple for ERP
Oracle Product Hub Cloud  Item Master Made Simple for ERPOracle Product Hub Cloud  Item Master Made Simple for ERP
Oracle Product Hub Cloud Item Master Made Simple for ERP
 
Whole enterprise integration with primavera and business process mgmt ppt
Whole enterprise integration with primavera and business process mgmt pptWhole enterprise integration with primavera and business process mgmt ppt
Whole enterprise integration with primavera and business process mgmt ppt
 
How to deliver a Single View in Financial Services
 How to deliver a Single View in Financial Services How to deliver a Single View in Financial Services
How to deliver a Single View in Financial Services
 
Data Visualization and Discovery
Data Visualization and DiscoveryData Visualization and Discovery
Data Visualization and Discovery
 
Présentation IBM InfoSphere Information Server 11.3
Présentation IBM InfoSphere Information Server 11.3Présentation IBM InfoSphere Information Server 11.3
Présentation IBM InfoSphere Information Server 11.3
 
451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL Database451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL Database
 
Transform Your DBMS to Drive Application Innovation
Transform Your DBMS to Drive Application InnovationTransform Your DBMS to Drive Application Innovation
Transform Your DBMS to Drive Application Innovation
 
Data harmonycloudpowerpointclientfacing
Data harmonycloudpowerpointclientfacingData harmonycloudpowerpointclientfacing
Data harmonycloudpowerpointclientfacing
 

Similar a MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Change Streams

InfoSphere BigInsights
InfoSphere BigInsightsInfoSphere BigInsights
InfoSphere BigInsightsWilfried Hoge
 
Denodo DataFest 2017: Outpace Your Competition with Real-Time Responses
Denodo DataFest 2017: Outpace Your Competition with Real-Time ResponsesDenodo DataFest 2017: Outpace Your Competition with Real-Time Responses
Denodo DataFest 2017: Outpace Your Competition with Real-Time ResponsesDenodo
 
Admin Features Upgraded in Cognos 11.1
Admin Features Upgraded in Cognos 11.1Admin Features Upgraded in Cognos 11.1
Admin Features Upgraded in Cognos 11.1Senturus
 
EPM Cloud in Real Life: 2 Real-world Cloud Migration Case Studies
EPM Cloud in Real Life: 2 Real-world Cloud Migration Case StudiesEPM Cloud in Real Life: 2 Real-world Cloud Migration Case Studies
EPM Cloud in Real Life: 2 Real-world Cloud Migration Case StudiesDatavail
 
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...Cartegraph
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
 
What’s New in Cognos Analytics 11.1.4
What’s New in Cognos Analytics 11.1.4What’s New in Cognos Analytics 11.1.4
What’s New in Cognos Analytics 11.1.4Senturus
 
Novelty in Non-Greenfield
Novelty in Non-GreenfieldNovelty in Non-Greenfield
Novelty in Non-GreenfieldJustin Lovell
 
apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...
apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...
apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...apidays
 
Vinoth_Perumal_Datawarehousing
Vinoth_Perumal_DatawarehousingVinoth_Perumal_Datawarehousing
Vinoth_Perumal_Datawarehousingvinoth perumal
 
What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3 What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3 lisanl
 
A Framework to Measure and Maximize Cloud ROI
A Framework to Measure and Maximize Cloud ROIA Framework to Measure and Maximize Cloud ROI
A Framework to Measure and Maximize Cloud ROIRightScale
 
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint MonitoringGain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint MonitoringInfluxData
 
Bulletproof Your QAD ERP to Cloud | JK Tech Webinar
Bulletproof Your QAD ERP to Cloud | JK Tech WebinarBulletproof Your QAD ERP to Cloud | JK Tech Webinar
Bulletproof Your QAD ERP to Cloud | JK Tech WebinarJK Tech
 
Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...
Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...
Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...Perficient, Inc.
 
Untangling the Cloud
Untangling the CloudUntangling the Cloud
Untangling the Cloudeprentise
 
The Future of BriteCore - Product Development
The Future of BriteCore - Product DevelopmentThe Future of BriteCore - Product Development
The Future of BriteCore - Product DevelopmentPhil Reynolds
 
Unlock your core business assets for the hybrid cloud with addi webinar dec...
Unlock your core business assets for the hybrid cloud with addi   webinar dec...Unlock your core business assets for the hybrid cloud with addi   webinar dec...
Unlock your core business assets for the hybrid cloud with addi webinar dec...Sherri Hanna
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldMaria Colgan
 
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...Databricks
 

Similar a MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Change Streams (20)

InfoSphere BigInsights
InfoSphere BigInsightsInfoSphere BigInsights
InfoSphere BigInsights
 
Denodo DataFest 2017: Outpace Your Competition with Real-Time Responses
Denodo DataFest 2017: Outpace Your Competition with Real-Time ResponsesDenodo DataFest 2017: Outpace Your Competition with Real-Time Responses
Denodo DataFest 2017: Outpace Your Competition with Real-Time Responses
 
Admin Features Upgraded in Cognos 11.1
Admin Features Upgraded in Cognos 11.1Admin Features Upgraded in Cognos 11.1
Admin Features Upgraded in Cognos 11.1
 
EPM Cloud in Real Life: 2 Real-world Cloud Migration Case Studies
EPM Cloud in Real Life: 2 Real-world Cloud Migration Case StudiesEPM Cloud in Real Life: 2 Real-world Cloud Migration Case Studies
EPM Cloud in Real Life: 2 Real-world Cloud Migration Case Studies
 
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
 
What’s New in Cognos Analytics 11.1.4
What’s New in Cognos Analytics 11.1.4What’s New in Cognos Analytics 11.1.4
What’s New in Cognos Analytics 11.1.4
 
Novelty in Non-Greenfield
Novelty in Non-GreenfieldNovelty in Non-Greenfield
Novelty in Non-Greenfield
 
apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...
apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...
apidays LIVE LONDON - Old meets New - Managing transactions on the edge of th...
 
Vinoth_Perumal_Datawarehousing
Vinoth_Perumal_DatawarehousingVinoth_Perumal_Datawarehousing
Vinoth_Perumal_Datawarehousing
 
What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3 What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3
 
A Framework to Measure and Maximize Cloud ROI
A Framework to Measure and Maximize Cloud ROIA Framework to Measure and Maximize Cloud ROI
A Framework to Measure and Maximize Cloud ROI
 
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint MonitoringGain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
 
Bulletproof Your QAD ERP to Cloud | JK Tech Webinar
Bulletproof Your QAD ERP to Cloud | JK Tech WebinarBulletproof Your QAD ERP to Cloud | JK Tech Webinar
Bulletproof Your QAD ERP to Cloud | JK Tech Webinar
 
Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...
Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...
Blue Shield of CA Revolutionizes its Portal Environment on IBM PureApplicatio...
 
Untangling the Cloud
Untangling the CloudUntangling the Cloud
Untangling the Cloud
 
The Future of BriteCore - Product Development
The Future of BriteCore - Product DevelopmentThe Future of BriteCore - Product Development
The Future of BriteCore - Product Development
 
Unlock your core business assets for the hybrid cloud with addi webinar dec...
Unlock your core business assets for the hybrid cloud with addi   webinar dec...Unlock your core business assets for the hybrid cloud with addi   webinar dec...
Unlock your core business assets for the hybrid cloud with addi webinar dec...
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous World
 
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
 

Más de 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
 

Más de 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...
 

Último

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Último (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Change Streams

  • 1. © 2019 Fair Isaac Corporation. 1 © 2019 Fair Isaac Corporation. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. FICO® Alert & Case Manager Auditing with MongoDB Change Streams Carlos Saraiva Sr. Principal Architect, FICO Sönke Sothmann Principal Engineer, FICO
  • 2. © 2019 Fair Isaac Corporation. 2 FICO Overview Profile The leader in advanced analytics and decision management Founded: 1956 • Understanding and predicting human behavior • Reducing the time from insight to action • $1B revenue (2018) Products and Services 190+ patents in AI and machine learning methods • Scoring systems for credit underwriting and risk management • AI systems for security and fraud detection • Advanced solutions for AML detection and compliance • Tools for analytics authoring and decision management Clients and Markets 10,000+ clients in 90+ countries Industry focus: Finance, insurance, retail, government, healthcare, logistics, and manufacturing Worldwide 20+ offices worldwide, HQ in San Jose, California 3,400 employees Regional Hubs: San Rafael and San Diego (CA), New York, London, Birmingham (UK), Toronto, Johannesburg, Milan, Moscow, Bensheim, Munich, Madrid, Istanbul, Sao Paulo, Bangalore, Beijing, Singapore
  • 3. © 2019 Fair Isaac Corporation. 3 Alert & Case Manager ACM Fraud Compliance • Fraud and Compliance use a dual-pronged analytical approach: • Expert-driven, rules-based analytics that assess risk based on human judgment and internal audit expertise. • Outlier detection algorithms that deliver an objective, prioritized assessment of risk based on an activity. • Strong Integrated Case Management to allow staff to quickly review the transactions with the highest risk level. • Risk transactions are sent to ACM to be analyzed and dispositioned by auditors • Alert Management, aka Transactional Case Management – single transactions • Investigative Case Management – a complete portfolio around one of more transactions with some commonalty • Suspicious Entity Case Management – an aggregation of alert cases by a suspicious entity (person, account, etc.)
  • 4. © 2019 Fair Isaac Corporation. 4 Architecture
  • 5. © 2019 Fair Isaac Corporation. 5 ACM is a case manager for fraud and compliance alerts
  • 6. © 2019 Fair Isaac Corporation. 6 Auditing Business Requirements • Recreate cases to a point in time • Track actions on a case • User and automated actions • Administration audit trail • Track changes to groups, roles, ACLs, rules, approval process definitions, queue definitions, templates, etc. • Not covered in this presentation • Security audit trail - login, logout • Data Access Audit trail - PII / PCI data access
  • 7. © 2019 Fair Isaac Corporation. 7 Non-functional Requirements • High performance for writing changes to the database • Reading and interpreting the audit trail has more relaxed performance requirements • Fail-proof • Capture all changes to the database, even those done by external systems, if any
  • 8. © 2019 Fair Isaac Corporation. 8 Before the availability of change streams, we‘ve tried other approaches • Manual tracking – registering case activities (non-generic approach) • error prone (missing tracks, inconsistent) • couldn’t recreate snapshots • couldn’t capture changes done outside of the application • Javers (https://javers.org/) • bad performance, too granular, too many IOs • doesn't play well with MongoDB • couldn't capture changes done outside the application • causes issues when changes are not done through application, which makes it hard to e.g. execute scripts against Mongo directly
  • 9. © 2019 Fair Isaac Corporation. 9 So we’ve looked to MongoDB Change Streams to solve the problem
  • 10. © 2019 Fair Isaac Corporation. 10 • OPLOG – a capped collection that keeps track of all changes for replication purposes • Change Streams is an API to allow clients to listen to changes • High performance • Resumable Change Streams in a Nutshell
  • 11. © 2019 Fair Isaac Corporation. 11 Change Events { _id : { "_data" : <BinData|hex string> }, "operationType" : "<operation>", "fullDocument" : { <document> }, "ns" : { "db":"<database>", "coll":"<collection>" }, "to" : { "db":"<database>", "coll":"<collection>" }, "documentKey" : { "_id" : <value> }, "updateDescription" : { "updatedFields" : { <document> }, "removedFields" : [ "<field>", ... ] } "clusterTime" : <Timestamp>, … }
  • 12. © 2019 Fair Isaac Corporation. 12 Solution Architecture
  • 13. © 2019 Fair Isaac Corporation. 13 Snapshot Recreation
  • 14. © 2019 Fair Isaac Corporation. 14 Demo
  • 15. © 2019 Fair Isaac Corporation. 15 Boost performance using fixed-time interval transfer (the Boxcar Pattern) • Write changes in batches • Collect changes up to a certain amount of time and up to a certain number of changes • E.g. Collect up to 1000 changes for max 1 second • Whichever limit is reached first leads to flushing the batch • Batch insert using insertMany()
  • 16. © 2019 Fair Isaac Corporation. 16 High Availability • If audit node goes down, other nodes should continue to write the changes to the DB • Ensure changes are written with as little delay as possible • Ensure that we don‘t fall off the oplog because of audit node downtime
  • 17. © 2019 Fair Isaac Corporation. 17 Change Streams Expectations & Reality
  • 18. © 2019 Fair Isaac Corporation. 18 Expectations • Access to unchanged fields • E.g. user name/IP might not change between updates • Full document can be provided • Be able to persist the change event documents as they are • Change Streams are fast • Get exact changes • We don’t need to calculate the changes on our own!
  • 19. © 2019 Fair Isaac Corporation. 19 Reality • Full document lookup feature returns a document that may differ from the document at the time of the update operation • Not suitable for auditing • Change event documents cannot be persisted directly • Need to be transformed • Changes include dot notation in object keys, which is not allowed when you persist a document • Although highly performant, there is degradation as change or document sizes increase • Arrays and embedded documents are reported as full arrays / full embedded documents • You don’t know what has changed, unless you calculate a diff • We can leverage this behavior for change meta data and logical change tracking
  • 20. © 2019 Fair Isaac Corporation. 20 Demo Reality
  • 21. © 2019 Fair Isaac Corporation. 21 We adapted our solution to work with this limitation and meet the original requirements
  • 22. © 2019 Fair Isaac Corporation. 22 Summary
  • 23. © 2019 Fair Isaac Corporation. 23 Solution meets our expectations in terms of meeting the requirements • Change Streams is an adequate way of recording audit trail of changes • Audit Reader/Writer are generic, can be used with any apps that use MongoDB • Foolproof: as long as the audit component listens to the collections, no change will go undetected • no code required to capture changes • allows for easy recreation of snapshots • captures changes made outside the application • by direct manipulation through scripts • made by other applications • high performance • highly available, fault-tolerant, resumable
  • 24. © 2019 Fair Isaac Corporation. 24 Scalability
  • 25. © 2019 Fair Isaac Corporation. 25 Scalability • Vertical Scalability • Writer Threads • Form buckets / multiple listeners • Horizontal Scalability • Load distribution using middleware • Form buckets / multiple listeners
  • 26. © 2019 Fair Isaac Corporation. 26 Vertical Scalability – Writer Threads • Multiple writer threads • Allows faster writes
  • 27. © 2019 Fair Isaac Corporation. 27 Vertical Scalability – Multiple Listeners • Listener per watched collection • Listener per bucket (kind of sharding) • subscribe to changes using filter conditions (e.g. ranges of customer IDs)
  • 28. © 2019 Fair Isaac Corporation. 28 Horizontal Scalability • Should not be required in most cases, due to MongoDB‘s legendary performance • Options • Use middleware to distribute the load among different nodes • subscribe to changes using filter conditions • Form buckets (e.g. customer ID ranges) • different nodes could register for changes of only a subset of the documents • All nodes that are processing a bucket should be run in an HA setup
  • 29. © 2019 Fair Isaac Corporation. 29 Scalability – Resumability • When vertical or horizontal scalability is used, it’s no longer possible to resume the change stream just by looking at the latest change document in MongoDB to retrieve the latest resume token • When multiple change documents are processed in parallel, and the cluster crashes while processing, older change documents could have not yet been persisted, while newer change documents already have, creating a gap in the audit trail. • Options • Allow to start with a certain timestamp or resume token • Gap detection
  • 30. © 2019 Fair Isaac Corporation. 30© 2019 Fair Isaac Corporation. 30 Questions & Answers
  • 31. © 2019 Fair Isaac Corporation. 31 © 2019 Fair Isaac Corporation. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. Thank you Vielen Dank Obrigado
  • 32. © 2019 Fair Isaac Corporation. 32 Appendices
  • 33. © 2019 Fair Isaac Corporation. 33 Reality – How Changes to Arrays and Emb. Documents are reported (1) { "_id" : ObjectId("5c83c795174eabef4a5d98ca"), "firstname": "Max", "lastname": "Mustermann", "age": 36.0, "addresses": [ {"type":"home", "street":"Musterweg 1", "zip":"68123", "city":"Mannheim", "country":"Germany"}, {"type":"work", "street":"Beispielgasse 2", "zip":"64625", "city":"Bensheim", "country": "Germany"} ], "employment": { "emplNo": "123456", "supervisor": { "emplNo": "1", "firstname": "Big", "lastname": "Boss" } } }
  • 34. © 2019 Fair Isaac Corporation. 34 Reality – How Changes to Arrays and Emb. Documents are reported (2) db.getCollection('test').updateOne({_id: ObjectId("5c83c795174eabef4a5d98ca")}, {$set: { "_id" : ObjectId("5c83c795174eabef4a5d98ca"), "firstname": "Max CHANGED", "lastname": "Mustermann", "age": 36.0, "addresses": [ {"type":"home", "street":"Musterweg 1 CHANGED", "zip":"68123", "city":"Mannheim", "country":"Germany"}, {"type":"work", "street":"Beispielgasse 2", "zip":"64625", "city":"Bensheim", "country":"Germany"} ], "employment": { "emplNo": "123456", "supervisor": { "emplNo": "1", "firstname": "Big CHANGED", "lastname": "Boss" } } }})
  • 35. © 2019 Fair Isaac Corporation. 35 Reality – How Changes to Arrays and Emb. Documents are reported (3) { "_id" : { "_data" : ... }, "operationType": "update", "clusterTime": Timestamp(1556449376, 1), "ns" : { "db":"test", "coll":"test" }, "documentKey": { "_id": ObjectId("5c83c795174eabef4a5d98ca") }, "updateDescription": { "updatedFields": { ... } "removedFields": [ ] } }
  • 36. © 2019 Fair Isaac Corporation. 36 Reality – How Changes to Arrays and Emb. Documents are reported (4) { ... "updateDescription": { "updatedFields": { "addresses": [ { "type":"home", "street":"Musterweg 1 CHANGED", "zip":"68123", "city":"Mannheim", "country":"Germany" }, { "type":"work", "street":"Beispielgasse 2", "zip":"64625", "city":"Bensheim", "country":"Germany" } ], "employment" : { "emplNo": "123456", "supervisor": { "emplNo": "1", "firstname": "Big CHANGED", "lastname": "Boss" } }, "firstname": "Max CHANGED" }, "removedFields": [ ] } }
  • 37. © 2019 Fair Isaac Corporation. 37 Resumability • Change streams are resumable by specifying a resume token when subscribing for changes • MongoDB will replay changes that have occurred since the change indicated by the resume token • Resume tokens are part of the change documents • As we persist change documents to an audit collection, latest change token can be fetched from there • Downtimes of all audit nodes do not lead to missing change events • as long as the oplog still holds the changes • configure your oplog size!
  • 38. © 2019 Fair Isaac Corporation. 38 How to find out if change document has already been persisted? • Writing change documents for the original changes happens asynchronously • Based on how you implement or configure it, changes should be written some milliseconds or seconds after the original change • If you still need to know if the change document for a particular change has already been persisted • Introduce change ID • E.g. generate change UUID in your app and set it in the document along with your other changes • Change document will also have this change ID
  • 39. © 2019 Fair Isaac Corporation. 39 Change Meta Data • Persist change meta data in the original document along with your changes • createdDate/updatedDate • User name and/or ID, plus IP address of user initiating the update • Change UUID
  • 40. © 2019 Fair Isaac Corporation. 40 Logical Change Tracking • Problem 1: multiple changes combined in single write operation (e.g. user changes priority, rules update other fields), leading to a single change document • Problem 2: Changes in the document might not always clearly indicate what the change is (you only see the manifestation of the change) • Persist logical change description in original document along with actual changes • Logical actions, e.g. „confirm alert“ • User or rule or system performing the update • Parameters of the action, e.g. If action is „change priority“, the parameter might be the target priority, e.g. „P1“ • As this list of logical changes is itself a change of the document, it will be captured in the change events along with the actual changes and gets persisted as an entry in the audit trail • Next change to the document would then replace latestLogicalChanges with new entries • List of changes doesn’t grow in the document itself, as only latest change is persisted
  • 41. © 2019 Fair Isaac Corporation. 41 Change Meta Data & Logical Change Tracking - Example {"latestChange": { "changeUuid": "…", "timestamp": …, "triggeringEntity": { "type": "USER", // or "SYSTEM" "username": "bob", "ipaddress": "172.123.321.111" }, "logicalChanges": [ { "type":"UserAction", "action":"AlertDecisioning", "params":{"alertId":"123", "decision":"confirmed" } }, { "type":"RuleAction", "action":"SetAlertPriority", "params":{"priority":"P1"} } ] } … }
  • 42. © 2019 Fair Isaac Corporation. 42 Things to note • Requires • MongoDB 3.6 or later • Replica set • "majority" read concern to be enabled • Eventual consistent • Document changes do not lead to immediate audit trail entries, as change writes will be asynchronous. There will be a delay until the audit entries are written. • Throughput needs to be measured • Use an oplog that is large enough to buffer the changes of several hours, e.g. 24 hours • Works best with small documents / changes on top level properties
  • 43. © 2019 Fair Isaac Corporation. 43 Core Competencies • Predictive and Descriptive Analytics • Supervised and Unsupervised Techniques • Machine Learning and Artificial Intelligence • Unstructured Data Analytics • Advanced Optimization Advanced Analytics Decision Management • Advanced Rules Management Software • Integrated Analytics and Operational Platform • Operationalized Analytics (Context-based Approaches) • Rapid Application Development • Standards-based (i.e. Decision Modeling Notation) Applied Risk and Fraud Management • Deep Expertise in Credit Risk and Fraud Detection • Trusted Custodians of Massive Data Consortia • Cyber Risk Quantification and Analytics-based Threat Detection • Portfolio-level and Systemic Risk Assessment • AML, KYC, and Compliance Management