Today, most web and mobile applications are limited to "lightweight" analytics because general-purpose databases can be optimized for transactional or analytical workloads, but not both - and since transactional processing is critical, applications have to compromise on analytics.
However, what if an e-commerce application could let customers know which products are soon to be sold out based on clickstream data, shopping carts, current inventory and recent purchases as well as historical buying patterns and emerging shopping trends?
In this webinar, attendees will learn how to leverage MariaDB ColumnStore to provide transactional applications with real-time analytics on historical data.
8. Database workloads
Transactional
Current data
Range queries
Known queries
Row-based storage
Indexes
Clustered/Replicated
Historical data
Aggregate queries
Unkown queries
Columnar storage
No indexes
Distributed
Analytical
10. Application
(eCommerce)
Transactional
Show me all new products in
the science fiction category
Analytical
Show me the top products
added to shopping carts or
purchased today, and with
low inventory.
Actionable insight
I should buy one now
because everyone wants
one, and they’ll be sold out
by the end of the day!
11. Application
(banking)
Transactional
Show me all pending
transactions
Analytical
Show me when my balance
will run low based on
historical transactions and
my current spending rate
Actionable insight
I should transfer some
money from my savings
account to my checking
account until I get paid again!
12. Application
(pay-per-click ads)
Transactional
Create campaign
Create ad group
Create ad
Capture impressions
Capture clicks
Capture charges
Analytical
Show me which ads will
perform worse based past
performance and changes in
keyword costs and searches
Actionable insight
I should pause this ad and
raise the budget on others in
order to meet my goals!
17. MariaDB TX 3.0
MariaDB Server 10.3
MariaDB MaxScale 2.2
InnoDB/MyRocks
MariaDB AX 2.0
MariaDB Server 10.2
MariaDB MaxScale 2.2
ColumnStore 1.2
MariaDB Platform X3
MariaDB MaxScale 2.3
MariaDB Server 10.3
InnoDB/MyRocks
MariaDB Server 10.3
ColumnStore 1.3
18. Application development
MariaDB Platform X3
MariaDB MaxScale 2.3
CDC
MariaDB Server 10.3
InnoDB/MyRocks
MariaDB Server 10.3
ColumnStore 1.3
Transactional Analytical
19. The database proxy inspects queries and routes them to transactional
and/or analytical database instances.
MariaDB Platform X3
MariaDB MaxScale 2.3
CDC
MariaDB Server 10.3
InnoDB/MyRocks
MariaDB Server 10.3
ColumnStore 1.3
Transactional Analytical
20. The database proxy inspects queries and routes them to transactional
and/or analytical database instances.
The change-data-capture stream replicates all writes from transactional
databases to analytical databases within microbatches.
MariaDB Platform X3
MariaDB MaxScale 2.3
CDC
MariaDB Server 10.3
InnoDB/MyRocks
MariaDB Server 10.3
ColumnStore 1.3
Transactional Analytical
26. Hybrid workloads: why scalability is needed
Applications have transactional
and analytical queries
1. Constrained by limited,
lightweight analytics
2. Need full analytics to
create competitive features
Outgrowing OLTP
Applications with lots of
customers, lots of transactions
1. Limited to current or recent
transaction data (months)
2. Need access to all
historical data (years)
Using historical data
SaaS customers are becoming
data-driven organizations
1. They don’t have access to
their own data
2. They need to analyze it in
unknown/unexpected ways
Exposing analytics
27. Hybrid workloads: options
● Oracle
○ In-Memory Column Store
● Microsoft SQL Server
○ ColumnStore Indexes (Clustered or Nonclustered)
● IBM Db2
○ Shadow Tables
● MySQL Enterprise
○ None
● EnterpriseDB Postgres Platform
○ None
28. Hybrid workloads: full comparison
* IBM Db2 Shadow Tables, ** Oracle IM column store can read from on-disk row storage if needed
Oracle Microsoft IBM * MariaDB MySQL Postgres
Row storage (OLTP) Yes Yes Yes Yes Yes Yes
Sharded Yes No Yes Yes No No
Columnar storage (OLAP) Yes Yes Yes Yes No No
Disk-based No ** Yes Yes Yes - -
Distributed Yes (RAC) No No Yes - -
35. Retail (market research)
Database
(Hybrid)
Transactions Analytics
Transactional
Capture daily product prices
Update product information
Show current prices
Store current pricing data
Analytical
Show prices over time
Self-service analytics
Store historical pricing data
36. Telecommunications (IP telephony – SaaS)
Database
(Hybrid)
Transactions Analytics
Transactional
Capture call detail records
Charge by call/message
Generate bills
Analytical
Monitor usage
Identify peak periods
Estimate costs
Self-service analytics
39. Hybrid workloads: perfect for hybrid cloud
● MariaDB Platform separates and isolates different workloads
○ Run different workloads on different infrastructure
○ Place different workloads closer to different users
○ Scale different workloads on different hardware
40. MariaDB Platform
MariaDB Server
MariaDB Server
MariaDB Server
MariaDB Server
MariaDB Server
InnoDB/MyRocks
MariaDB Server
ColumnStore
On premises
for transactions
Keep transactions
close to the business
Public cloud
for analytics
Incremental path to
the cloud, places
analytics close to
customers
41. MariaDB Platform
On premises
for analytics
Place analytics closer
to employees,
aggregate all
transactions
Public cloud
for transactions
Place transactions
close to customers,
geographically
distributed
MariaDB Server
MariaDB Server
MariaDB Server
ColumnStore
MariaDB Server
MariaDB Server
MariaDB Server
InnoDB/MyRocks
46. MariaDB Platform X3 in a container
● MariaDB Platform “in-a-box”
● Fully-configured and ready to use out of the box
● Intended as a quickstart for development
● Launched with a Docker command
● Runs on a laptop
https://github.com/mariadb-corporation/mariadb-platform-docker/tree/master/single-container
49. MariaDB Platform Managed Service
Provision
Install
Configure
Optimize
Recover
Maintain
Support
Reference architecture
Disaster recovery
Security audits
Performance tuning
Query optimization
Schema changes
Database upgrades
Database migration
Techical support
Consultative support
Cookiecutter
Limited features
Little to no support
Delayed upgrades
Downtime
AWS RDS/Aurora MariaDB Platform
Managed Service
50. MariaDB vs. Amazon
AWS RDS AWS Aurora MariaDB Platform
Hybrid cloud Preview No Yes
Hybrid workloads No Limited Yes
Proactive care No No Yes
Latest version No No Yes
Technical support No No Yes
Consultative support No No Yes
Security fixes No No Yes
51. MariaDB vs. Amazon
Transaction replay and causal reads too!
AWS RDS AWS Aurora MariaDB Platform
Multi-master No Preview Yes
Oracle compatibility Yes No Yes
Temporal Yes No Yes
Database firewall No No Yes
Data masking No No Yes
Change-data-capture No No Yes
Kafka connector No No Yes