Pairing your real-time operational data stored in a modern database like MongoDB with first-class business intelligence platforms like Tableau enables new insights to be discovered faster than ever before.
Many leading organizations already use MongoDB in conjunction with Tableau including a top American investment bank and the world’s largest airline. With the Connector for BI 2.0, it’s never been easier to streamline the connection process between these two systems.
In this webinar, we will create a live connection from Tableau Desktop to a MongoDB cluster using the Connector for BI. Once we have Tableau Desktop and MongoDB connected, we will demonstrate the visual power of Tableau to explore the agile data storage of MongoDB.
You’ll walk away knowing:
- How to configure MongoDB with Tableau using the updated connector
- Best practices for working with documents in a BI environment
- How leading companies are using big data visualization strategies to transform their businesses
8. 8
Major Sweet Spots
Big Data Product & Asset
Catalogs
Security &
Fraud
Internet of Things Database-as-a-
Service
Mobile
Apps
Customer Data
Management
Single View Social &
Collaboration
Content
Management
Intelligence Agencies
Top Investment and
Retail Banks
Top Global Shipping
Company
Top Industrial Equipment
Manufacturer
Top Media Company
Top Investment and
Retail Banks
Complex Data
Management
Top Investment and
Retail Banks
Embedded / ISV
Cushman & Wakefield
9. Agenda
• Introduction To MongoDB
• What is The BI Connector?
• Analytics with Tableau on MongoDB
• Demo
• Best Practices
12. 12
… But It Doesn’t Natively Speak SQL
> db.restaurants.sql("select * from restaurants where cusine =
'Peruvian'");
2017-01-12T14:57:23.930-0500 E QUERY [main] TypeError:
db.restaurants.sql is not a function
13. 13
The MongoDB BI Connector: A “SQL Bridge”
MongoDB
MongoDB
BI
Connector
Anything
That
Speaks
MySQL
select A.fn, A.LN, P.prodType, T.amt, T.td
from tx T
JOIN product P on T.product = P.prod
JOIN acct A on T.acct = A.acct
where
A.acct in ('A5' , 'A10')
and T.td = '2015-03-01 00:00:00’
and P.prodType = 'CAR'
db.tx.aggregate([
{$match:{td:ISODate(“2015-03-01 00:00:00”)},
{$lookup:{from: “acct”, localfield: “acct” …
{$match:{acct: {$in: [“A5”, “A10” ]}},
{$lookup:{from: “product”, localfield: “prod”
{$match: {prodType: “CAR”}}
14. 14
The MongoDB BI Connector: A “SQL Bridge”
MongoDB
MongoDB
BI
Connector
select A.fn, A.LN, P.prodType, T.amt, T.td
from tx T
JOIN product P on T.product = P.prod
JOIN acct A on T.acct = A.acct
where
A.acct in ('A5' , 'A10')
and T.td = '2015-03-01 00:00:00’
and P.prodType = 'CAR'
db.tx.aggregate([
{$match:{td:ISODate(“2015-03-01 00:00:00”)},
{$lookup:{from: “acct”, localfield: “acct” …
{$match:{acct: {$in: [“A5”, “A10” ]}},
{$lookup:{from: “product”, localfield: “prod”
{$match: {prodType: “CAR”}}
15. 15
Authentication & Entitlements are ALSO Bridged
MongoDB
MongoDB
BI
Connector
biUser?mechanism=
MONGODB-CR,source=authDB
password=*******
client = connect(biUser,
*******);
21. Analytics for All your Data
Broad access to Big Data
platforms
Visual analytics without coding
Platform query performance
Consistent visual interface
Hybrid data architecture
23. Cold, Warm, Hot Framework
• The Data Lake
• Store Everything and
Anything
• Unknown Questions
with Unknown Answers
• Unstructured / Data
Mining / Data Science
• Data Warehouses
• Data marts prepared
for entity analytics
• Known questions
with unknown
answers
• Regularly refreshed
business concepts
• In-memory computing
• Precomputed aggregates
to answer specific
questions
• Known questions with
known answers
• Dashboards
26. How do we see customers using Tableau on MongoDB
• Use Case
–Data Exploration/Mining
–Ad-Hoc Report Conceptual Modeling
–Query directly/Explore Concepts to Migrate to Analytically Optimized
Data Stores
MongoDB
27. • Financial Services: Analyze ticks, tweets, satellite imagery, weather trends,
and any other type of data to inform trading algorithms in real time.
• Government: Identify social program fraud within seconds based on program
history, citizen profile, and geospatial data.
• HighTech: Identify unique individuals across any type of device, browser or
app and use a holistic behavioral model to advertise to them.
• Retail: Set up a digital geo-fence around your brick-and-mortar locations to
push in-store incentives to shoppers in real time.
• MongoDB – Verticals & Use Cases
28. Agenda
• Introduction To MongoDB
• What is The BI Connector?
• Analytics With Tableau on MongoDB
• Demo
• Best Practices
29. Agenda
• Introduction To MongoDB
• What is The BI Connector?
• Analytics With Tableau on MongoDB
• Demo
• Best Practices
30. Basic MongoDB Optimizations
✔ DO: ✗ AVOID
• Model for use
• Index effectively
• Use prejoined array tables
• Leverage custom pipelines in DRDL
• Let dates (SQL timestamp) and decimal
types flow w/o conversion to string
• Casts
• Date arithmetic
• Cross-collection
• Non-equijoins
• Subqueries
31. Tableau Data Extracts – When to use them?
Extracts Recommended Live Connection Recommended
• Slow SQL to MQL translation
• Smaller dataset sizes needed
• Offline analysis required
• Reduce “big query” impact on
nominal workload performance**
• Fast SQL to MQL translation
• Larger dataset sizes needed
• Real-time analysis required
32. • Extract Sampling Techniques
• Filters
• Keep only well-known dimensions and measures
• Use short date ranges
• Aggregates
• Aggregate dimensions and measures when possible
• Roll-up dates when possible
• Samples
• Utilize Custom SQL with sample function
• Top N
• May be skewed since non-random sampling
Optimize your Tableau Data Extracts
33. General Techniques for Improvement
Partition field as filter
Single denormalized table
Monitor for long running queries
• Data blending large datasets
– Executed on the Tableau client side
• Cull Unnecessary joins
– …and take advantage of prejoined tables in the BI Connector
– Imperfectly implemented on many big data systems
– Assume referential integrity
• Inefficient formulas
MongoDB
34. Leverage a multi-tiered approach based on your
data
TD
E
+
Fast
analytical
database
Aggregated
data
Prepared
data
Raw data
(large)
MongoDB
35. • Chunks of Human Consumable Data
• Aggregation of Data Tiers
• Year to Quarter to Month to Week
to Day to Records
• Region to Country to State to
County to Zip Code
• Drill Down to Raw Data with Context
• Use Aggregates for Guided Drilling
• Use Action Filters to Navigate the
Pyramid
•Human Scale of Data
Single
Consumable
Chunk of Data
at the Human Scale
(Dashboard)
Aggregation Level
Year(4)Month(48)Week(105)Day(90)RawData
Filter Year
Filter Month
Filter Week
Filter Day
Select Week
Select Month
Select DimensionSelect Dimension
In the Weeds
36. • Use Action Filters to Jump from Tier
to Tier with a filter context
• Drill Down to the Details
• Leave the Data in the Appropriate
Data Architecture
• Hot - Analytical Query
• Warm - Entity Query
• Cold - Data Discovery
Action Filters: Big Data Secret Weapon
COLD
WARM
HOT
• Dashboard or Document Acceleration
• High Performance
• Aggregations
• Persistence
• Row Level Security
• Live Connections
• Core Report Development
• Data Mining
• Detailed Data
• Raw Data
• Machine Learning
37. 1. Do you have sufficient infrastructure/hardware to deal with the kind of data that will be
analyzed? ~ Law of inertia , nothing moves till there is sufficient force applied to move it
2. Have you chosen an underlying data source that matches your performance aspirations,
and have you engineered it for interactive performance? ~ law of dynamics, Force = mass *
acceleration
3. Have you designed your Tableau vizzes so that the queries run efficiently? ~ For every
action (viz) there is an equal and opposite reaction (from the data source)
Don’t forget the laws of Data Motion