Where Would I Use MySQL Cluster?
By Mat Keep on Feb 24, 2012
MySQL Cluster has long been used in telecommunications network services for Subscriber Data Management (HLR/HSS), Service Delivery Platforms and Value-Added Services, and has also been deployed in certain parts of general web infrastructure.
Following the announcements of MySQL Cluster 7.2 General Availability, including new benchmarks demonstrating MySQL Cluster delivering 1 Billion Queries per Minute, I thought it might be worthwhile to highlight examples of use cases for MySQL Cluster .
Web-Based Payment & Financial Services Platforms
MySQL Cluster can be deployed across a range of applications including payment gateways, trading systems and customer service infrastructure.
- These are used by merchants to process customer payments
- The gateways need to integrate with multiple credit and debit card systems
- Multiple payment channels have to be supported, i.e. ePayment, mPayment, In-store, etc.
- MySQL Cluster can be used to record full transaction data, including customer & product information
- This data is persisted for set time periods to enable auditing and fraud detection
Web-Based Trading Systems
- MySQL Cluster can be deployed to support the trading engine, persisting the details of each trade
- MySQL Cluster also provides the storage layer for the store–and-forward messaging system used by traders and customers to track transactions
Customer Service Systems
- MySQL Cluster can be used as a command and control system, providing telephony, web portal and call desk integration
- Inbound calls are routed to customer services representatives and customer account details are retrieved in real-time
- Additional support for Integrated Voice Response systems enabling customer self-service
Core database requirements of these platforms include:
· ACID compliance to support transactional integrity
· Rapid scale-out to support growth in merchants, traders, customers and payment channels
· Very high insert and update rates
· Low, predictable latency to support real-time trading and customer experience
· 99.999% availability to guard against both outages and support on-line maintenance operations needed to seamlessly evolve services (i.e. adding nodes, upgrading schema, etc.)
· Low TCO to maximize trading margins
Session Management and eCommerce
Providing the back-end to on-line retail sites is an area where MySQL Cluster has a strong track record, providing the following services:
- Enabling a seamless experience as users log-in, search and browse products, and then place orders.
- Managing user accounts, storing each new user session, updating customer profiles and maintaining shopping carts
- Recording and tracking user behavior to integrate with merchandizing systems, enabling real-time cross-sell and upsell promotions
Database requirements for eCommerce include
· ACID compliance to support transactional integrity
· Elastic, on-demand scale-out using commodity hardware to support growing user and order volumes, and holiday season peaks
· Low, predictable latency to support a real time user experience
· High availability to avoid downtime resulting in lost sales and compromised customer satisfaction
· On-line schema changes to support the additions of new product categories or customer profiling attributes
Take a look at the MySQL Web Reference Architectures for best practices in scaling highly available, on-line retail sites
With a huge growth in gamers, and gaming platforms, MySQL Cluster can be used to support the core gaming persistence layer:
- MySQL Cluster manages user accounts, gaming entitlements and session state (life-force, weapons, scores, etc.), along with leaderboards, all in real time
- Manages the eCommerce and billing platform (for in-game purchases)
- Command and control system across gaming platforms, integrating multiple services with avatars and devices
Again, the core requirements of the database include:
· Linear, on-demand scalability of both read and write operations to support the ramp in demand when new games gain traction
· High availability
· Low latency for a real-time gaming experience
Event Data and Content Management
Digital Advertising and Customer Relationship Management
MySQL Cluster can be used to capture customer campaign responses in real time
- Campaign responses are consolidated across multiple channels, including web, social media, SMS, and in-store responses.
- Data is replicated in batches to the MySQL InnoDB storage engine for analysis and reporting
Event Data Capture
MySQL Cluster is used to capture real-time data feeds & metadata from environmental sensors, devices and satellites. Data is then replicated to analysis platforms for transformation and processing
Database requirements include:
· The ability to support high volume insert and update rates, with zero data loss
· Scaled-out on commodity hardware
· Flexible replication topologies to other database engines and across data centers
How to Get Started
The above examples illustrate how MySQL Cluster can be used across range of web-based services deployed on-premise or in the cloud.
If you have workloads that have similar demands, it’s worth taking a look at MySQL Cluster 7.2. The new MySQL Cluster Evaluation Guide provides best practices in quickly provisioning proof-of-concepts and benchmarking MySQL Cluster with your application.
We’d love to hear more about they types of workloads that you think would benefit from MySQL Cluster, so please use the comments section below and provide feedback.