SlideShare a Scribd company logo
Artem Livshits
CEO OblakSoft
   Why does cloud storage need MySQL?
   Why does MySQL need cloud storage?
   What is ClouSE?
   Scaling out to the cloud (a.k.a. weblobs)
   Demo
   Why does cloud storage need MySQL?
   Why does MySQL need cloud storage?
   What is ClouSE?
   Scaling out to the cloud (a.k.a. weblobs)
   Demo
   GET
   PUT
   DELETE
                   001010
                   010011

   SELECT
   UPDATE
   TRANSACTIONS
   PUT ABC
   GET ???


                             Amazon
   GET ABC                    S3




              milliseconds
              to minutes
   Full power of SQL
   Transactional and ACID-compliant
   Available to millions of devs and apps




                    ClouSE
   Why does cloud storage need MySQL?
   Why does MySQL need cloud storage?
   What is ClouSE?
   Scaling out to the cloud (a.k.a. weblobs)
   Demo
enough
                      standard



inexpensive
                       fast



                      secure
available, reliable
Primary Storage
(overprovisioned)         $


                          $
       $
                          $

                    Replication

                                  Offsite Backup
                      $


                      $


                      $


                    Backup
Failover OK




           Replication



Master                            Slave

          UNSAFE failover!!!
         Must be done manually!
   No replication = safe failover


                               MASTER
   Fully protected
   Quick recovery
   Robust, painless failover




                      ClouSE
   Why does cloud storage need MySQL?
   Why does MySQL need cloud storage?
   What is ClouSE?
   Scaling out to the cloud (a.k.a. weblobs)
   Demo
ClouSE
MySQL

ClouSE



         Local
         Cache
   /etc/my.cnf

   clouse_cloud_data_url=s3://s3.amazonaws.com/mybucket/shard0
   clouse_cloud_auth_key=MYACCESSKEYID:MySeCRetKeY
   clouse_cloud_data_encrypt_key=aes256:suPer-SecreT phrase!




   mysql> INSTALL PLUGIN ClouSE SONAME 'ha_clouse-5.5.19.so';
   mysql> ALTER TABLE t1 ENGINE=CLOUSE;


        MySQL
   Server just serves the data
   Replacement can be up in minutes
   Robust, painless failover

           MySQL
   Why does cloud storage need MySQL?
   Why does MySQL need cloud storage?
   What is ClouSE?
   Scaling out to the cloud (a.k.a. weblobs)
   Demo
   mysql> CREATE TABLE pictures(
                                       Browser
          id BIGINT KEY,                Browser
          picture$wblob LONGBLOB,        Browser
          picture$wblob_info BLOB
URL   ) ENGINE=CLOUSE;
                              001010
                              010011




                                           URL
   FREE Beta @ www.oblaksoft.com/downloads
OblakSoft
            YOUR WAY TO THE CLOUD




   FREE Beta @ www.oblaksoft.com/downloads
   artem@oblaksoft.com
   www.oblaksoft.com

More Related Content

DOC
Links todwnload
PDF
The Secret Sauce in the Open Cloud
PDF
Horizontally Scaling Node.js and WebSockets
PPTX
Introduction à Windows Azure
PDF
Exploring Amazon EC2 for Scale-out Applications
PPTX
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
PPTX
20170525 왕진영 AWS 분산딥러닝
PDF
WooCommerce WP-CLI Basics
Links todwnload
The Secret Sauce in the Open Cloud
Horizontally Scaling Node.js and WebSockets
Introduction à Windows Azure
Exploring Amazon EC2 for Scale-out Applications
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
20170525 왕진영 AWS 분산딥러닝
WooCommerce WP-CLI Basics

What's hot (20)

PDF
Intro to the Express Web Framework
KEY
Nodejs web,db,hosting
PPTX
PDF
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
PDF
Vagrant development environment
PPTX
Windows Azure Web Sites - Things they don’t teach kids in school - BuildStuffLT
PDF
Server architecture & scaling strategy for a sports website
PDF
Metal as a Server
PPTX
Global Azure BootCamp 2019 - Verona - Azure Cloud Shell
PDF
CasperJS and PhantomJS for Automated Testing
PDF
murakumo Cloud Controller
PDF
Testing MeteorJS using CasperJS
PDF
Nuxt.js - Introduction
KEY
TsWorkflow
PDF
Using Vagrant for Local WordPress Development
PPTX
Getting started with provisioning VMs with ARM templates
PDF
Symfony in the cloud.
PDF
F5 Automation and service discovery
PDF
First Step towards WebAssembly with Rust
PPTX
Azure Portal - the largest SPA in the World
Intro to the Express Web Framework
Nodejs web,db,hosting
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
Vagrant development environment
Windows Azure Web Sites - Things they don’t teach kids in school - BuildStuffLT
Server architecture & scaling strategy for a sports website
Metal as a Server
Global Azure BootCamp 2019 - Verona - Azure Cloud Shell
CasperJS and PhantomJS for Automated Testing
murakumo Cloud Controller
Testing MeteorJS using CasperJS
Nuxt.js - Introduction
TsWorkflow
Using Vagrant for Local WordPress Development
Getting started with provisioning VMs with ARM templates
Symfony in the cloud.
F5 Automation and service discovery
First Step towards WebAssembly with Rust
Azure Portal - the largest SPA in the World
Ad

Similar to Cloud Storage Engine for MySQL -- ClouSE (20)

PDF
My sql tutorial-oscon-2012
PPT
MySQL 5.6 Updates
PPTX
Steve marsh blob-spsbe25
PPTX
Remote Blog Storage (RBS) Best Practices in SharePoint 2010 - EPC Group
PPTX
Clustrix Database Percona Ruby on Rails benchmark
PDF
Keith Larson Replication
PDF
MySQL cluster 72 in the Cloud
PDF
Scaling MySQL -- Swanseacon.co.uk
PDF
Oracle my sql cluster cge
KEY
Makers of the Web
PDF
Your backend architecture is what matters slideshare
PPTX
Web scale MySQL at Facebook (Domas Mituzas)
PDF
PostgreSQL and MySQL
ODP
Pdb my sql backup london percona live 2012
PPTX
Postgres Plus Cloud Database
PDF
Galera Multi Master Synchronous My S Q L Replication Clusters
PPTX
The web as it should be
PDF
Google F1
PDF
C:\fakepath\cluster 7 1
PDF
Choosing a MySQL High Availability solution - Percona Live UK 2011
My sql tutorial-oscon-2012
MySQL 5.6 Updates
Steve marsh blob-spsbe25
Remote Blog Storage (RBS) Best Practices in SharePoint 2010 - EPC Group
Clustrix Database Percona Ruby on Rails benchmark
Keith Larson Replication
MySQL cluster 72 in the Cloud
Scaling MySQL -- Swanseacon.co.uk
Oracle my sql cluster cge
Makers of the Web
Your backend architecture is what matters slideshare
Web scale MySQL at Facebook (Domas Mituzas)
PostgreSQL and MySQL
Pdb my sql backup london percona live 2012
Postgres Plus Cloud Database
Galera Multi Master Synchronous My S Q L Replication Clusters
The web as it should be
Google F1
C:\fakepath\cluster 7 1
Choosing a MySQL High Availability solution - Percona Live UK 2011
Ad

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Cloud computing and distributed systems.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
Teaching material agriculture food technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Spectroscopy.pptx food analysis technology
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
“AI and Expert System Decision Support & Business Intelligence Systems”
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Cloud computing and distributed systems.
Building Integrated photovoltaic BIPV_UPV.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation theory and applications.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Spectroscopy.pptx food analysis technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
20250228 LYD VKU AI Blended-Learning.pptx
A comparative analysis of optical character recognition models for extracting...
NewMind AI Weekly Chronicles - August'25-Week II

Cloud Storage Engine for MySQL -- ClouSE

  • 2. Why does cloud storage need MySQL?  Why does MySQL need cloud storage?  What is ClouSE?  Scaling out to the cloud (a.k.a. weblobs)  Demo
  • 3. Why does cloud storage need MySQL?  Why does MySQL need cloud storage?  What is ClouSE?  Scaling out to the cloud (a.k.a. weblobs)  Demo
  • 4. GET  PUT  DELETE 001010 010011  SELECT  UPDATE  TRANSACTIONS
  • 5. PUT ABC  GET ??? Amazon  GET ABC S3 milliseconds to minutes
  • 6. Full power of SQL  Transactional and ACID-compliant  Available to millions of devs and apps ClouSE
  • 7. Why does cloud storage need MySQL?  Why does MySQL need cloud storage?  What is ClouSE?  Scaling out to the cloud (a.k.a. weblobs)  Demo
  • 8. enough standard inexpensive fast secure available, reliable
  • 9. Primary Storage (overprovisioned) $ $ $ $ Replication Offsite Backup $ $ $ Backup
  • 10. Failover OK Replication Master Slave UNSAFE failover!!! Must be done manually!
  • 11. No replication = safe failover MASTER
  • 12. Fully protected  Quick recovery  Robust, painless failover ClouSE
  • 13. Why does cloud storage need MySQL?  Why does MySQL need cloud storage?  What is ClouSE?  Scaling out to the cloud (a.k.a. weblobs)  Demo
  • 15. MySQL ClouSE Local Cache
  • 16. /etc/my.cnf  clouse_cloud_data_url=s3://s3.amazonaws.com/mybucket/shard0  clouse_cloud_auth_key=MYACCESSKEYID:MySeCRetKeY  clouse_cloud_data_encrypt_key=aes256:suPer-SecreT phrase!  mysql> INSTALL PLUGIN ClouSE SONAME 'ha_clouse-5.5.19.so';
  • 17. mysql> ALTER TABLE t1 ENGINE=CLOUSE; MySQL
  • 18. Server just serves the data  Replacement can be up in minutes  Robust, painless failover MySQL
  • 19. Why does cloud storage need MySQL?  Why does MySQL need cloud storage?  What is ClouSE?  Scaling out to the cloud (a.k.a. weblobs)  Demo
  • 20. mysql> CREATE TABLE pictures( Browser id BIGINT KEY, Browser picture$wblob LONGBLOB, Browser picture$wblob_info BLOB URL ) ENGINE=CLOUSE; 001010 010011 URL
  • 21. FREE Beta @ www.oblaksoft.com/downloads
  • 22. OblakSoft YOUR WAY TO THE CLOUD  FREE Beta @ www.oblaksoft.com/downloads  artem@oblaksoft.com  www.oblaksoft.com

Editor's Notes

  • #5: Cloudstorage is great – it’s the most useful and the most used cloud computing utility. It’s fast, reliable, inexpensive and the most mature. There are multiple vendors who offer cloud storage.Unfortunately it provides simplistic vendor-specific API . You can put, get and delete objects by key and that’s pretty much what you can do. You don’t get any kind of query capability, atomic updates or any kind of transactionality.The cloud storage has been widely used by two classes of applications: content distribution and backup. That’s because it’s hard to write other kinds of applications on top of this API.
  • #6: Some cloud storage services such as the most popular and mature Amazon S3 provide eventual consistency guarantee.With eventual consistency, the simple question of “if I put something to the cloud storage what do I get back” has a complicated answer: eventually you’ll get what you put there (provided no other changes are made to the object). The lag time is generally milliseconds, but has been known to take several minutes in extreme cases. Just enough for an application to fail unless it’s carefully designed to deal with eventual consistency.Eventual consistency is a conscious design choice and it’s really great for building one-of-a-kind massively distributed applications because it boosts application availability. But if you are NOT building one-of-a-kind massively distributed application, eventual consistency creates more problems than it solves.It took me a while to internalize how I can work with the eventual consistency, it’s really pushing the traditional thinking about how storage works.
  • #7: ClouSE solves the cloud storageproblems. Together with MySQL it provides mature and standard SQL access to cloud storage. It supports transactions and is fully ACID-compliant.ClouSE makes cloud storage immediately available to millions of SQL developers and MySQL-based applications.
  • #9: The idea of storage is simple: ideally you have enough storage to hold your data, not more not less. This idealistic usage pattern is what you get out of box: you install MySQL, create some tables put some data into them, run some queries, and it works.Until it fails.The problem with storage failure is that you lose your data. Data is very expensive to replace, or it may be irreplaceable. Data loss is very likely to drive a company out of business. In that respect, storage is different from any other hardware component: if the CPU or motherboard fails, it’s easy to buy a new one.
  • #10: To deal with storage availability and recover from failure, storage infrastructure is really complicated and costly.First you get expensive high-reliability primary storage. It’s usually overprovisioned to account for data growth.Then you protect your data on-site by backup and / or replication.And finally you hire a vendor to store a copy of your data off-site in case your on-site infrastructure fails.Operating this infrastructure is costly too. The overall solution is typically a set of in-house custom scripts that glue various technologies together: the SAN vendor may provide a backup solution, but it doesn’t work out-of-box with your database or offsite backup vendor. Scripts have bugs, the infrastructure changes every couple years, and so on.But the worst part is that the disaster recovery is often a disaster! In my experience, the actual recovery scenarios are poorly tested, and recovering from a backup takes longer and leads to bigger data loss than expected for various reasons.
  • #11: Replication is often used to provide both data protection and high-availability solution.However, failover is fraught with perils. Replication leads to multiple copies of the same data and not only does it use more storage, it also has the risk of data being out of sync.That’s why automatic failover back to master is a big NO-NO, and DBA professionals recommend manual switchover after a careful inspection of the master data.
  • #12: ClouSE doesn’t have the problem of out-of-sync data. There is only one copy of data – in the cloud, it does not use extra storage and makes failover safe.Failover is safe to do in any direction and to any machine. You don’t need to inspect the data on the machine – the local data does not matter.
  • #13: With ClouSE, MySQL can use cloud storage as primary storage. Cloud storage consumption scales up and down with data size, you pay for what you use.Cloud storage is highly reliable and doesn’t need backup or any other complex procedures to provide data protection.The disaster recovery is built-in, it doesn’t require constant testing.Failover is robust and painless, it doesn’t requires constant testing.
  • #15: This is the MySQL’s pluggable storage engine architecture. I took this picture from the MySQL documentation.MySQL server provides SQL interfaces, handles query processing and optimization, provides common API for applications, handles authentication and authorization and so on.The storage engines provide memory, index and storage management. Transactional storage engines also provide transaction management.The most commonly used storage engines are MyISAM and InnoDB.
  • #16: On the inside ClouSE is very similar to other transactional storage engines. The primary difference is that ClouSE is designed and optimized to use cloud storage.ClouSE uses strict consistency enforcement algorithms and protocols to implement ACID guarantees on top of eventually consistent storage.ClouSE uses compression and caching techniques to reduce storage and bandwidth consumption. In our experience, the relational data compresses pretty well: 10-20 times.ClouSE uses strong encryption before it sends data to the cloud, which guarantees full data confidentiality in the cloud.ClouSE is the only cloud-based database technology that can provide full data confidentiality in the cloud.
  • #17: ClouSE installation is super easy. You need to add 3 configuration options to the config file and execute the INSTALL PLUGIN statement.The first 2 options specify where the data is stored in the cloud and access credentials. In this example data stored in Amazon S3.The 3rd option specifies the encryption key. The encryption key is managed by the DBA and is used to guarantee that the cloud storage provider doesn’t have access to the data.
  • #18: The ALTER TABLE statement can be used to a table to the cloud storage.I bet this is the easiest way to use cloud storage from an application: you don’t need to learn new API, you don’t need to re-design the application, you don’t need to even change the application code: the DBA can make this decision during application deployment and configuration.ClouSE provides risk-free gradual cloud adoption, you don’t need any upfront investment to start using the cloud. The way out is as easy as the way in, you can easily test how the application is going to work with the cloud and fix problems as you go.
  • #19: Moving one table to the cloud is great for migration, but the real value of ClouSE technology comes when all tables are moved to the cloud.The cloud storage becomes the primary storage for the data, and the server merely exposes the data in an application-friendly form.The database server doesn’t have any valuable data and can be easily replaced if it fails.It is also easy to move the server to a different machine or to the cloud.
  • #21: So far I talked about using cloud storage for storing relational data. But ClouSE goes further and takes advantage of its cloud-based architecture to tap into the power of cloud storage to make serving content highly scalable.ClouSE can return cloud storage URLs so that the web browser can use the URL to get the content directly from cloud storage.We call this feature “weblobs”. Here is an example of creating a table with a weblob picture. A weblob is represented by two fields. The first field is just a regular blob and can be atomically updated in a transaction. The second field returns the direct cloud storage URL that the application passes to the web browser.The application scalability may grow significantly without adding complexity for the application developer.Imagine a picture sharing website. Most of the traffic comes from transferring pictures. With ClouSE, the pictures can be stored in weblobs and served from the cloud storage, taking most load off the server.