Documentation

ClouSE in a nutshell

ClouSE is a high-reliability and high-performance transactional storage engine for MySQL that uses cloud storage (Amazon S3 or Google Cloud Storage) to store user data. ClouSE is designed and optimized from the ground up to provide excellent performance with cloud storage.

Key features of ClouSE include:

  • It provides transactional (ACID) guarantees to the users, with transactions featuring commit, rollback, and crash-recovery capabilities to protect user data
  • It allows utilizing cloud storage to store user data
  • It supports encryption of user data before the data is sent to the cloud to guarantee its confidentiality
  • It supports compression of user data to save storage, bandwidth and money
  • It supports direct access to blob content (weblobs) to enable scaling out content delivery of  large data objects (e.g. pictures, movies)
  • It supports public, private and hybrid cloud configurations.

Relational workloads leverage cloud storage advantages. With ClouSE, users can offload storage management to cloud storage, while enjoying full capabilities and guarantees of a transactional SQL database: no more storage capacity planning, no more running out of disk space, no more on-site backup, no more off-site backup, no more storage recovery.  Storage scales up and down, no upfront commitment needed.

Solving data confidentiality. With MySQL+ClouSE running on-premise, users can tap into cloud power without granting a cloud provider access to their data.  Encryption guarantees full data confidentiality both in the storage and over the wire.  Even most sensitive data that would never get to the cloud with any other technology is safe to go there with ClouSE.

Weblobs. ClouSE supports truly seamless integration between relational data and cloud storage objects that fits into the simple, intuitive and mature relational database programming model: now relational database developers can leverage the cloud power to scale out content delivery.

Just works for existing apps. With ClouSE, any application written on top of MySQL can take advantage of cloud storage.  ClouSE brings cloud storage to MySQL-based applications and to relational database developers. As a matter of fact, with ClouSE, many MySQL-based applications wouldn’t require changing *any* application code. All that is required to move the data to the cloud is to run

mysql> ALTER TABLE table_name ENGINE=CLOUSE;

All in all, ClouSE bridges the gap between the mature relational database programming model and the emerging cloud technologies multiplying the power of both.

ClouSE at work

Cloud storage, such as Amazon S3 or Google Cloud Storage, brings unique advantages to almost any developer. Elasticity promise means that no up-front investments in storage are required, it releases the worries about further provisioning storage when the storage needs increase [in a predictable or unexpected manner over time], it lets the developer and IT focus on their main duties and core duties. Cloud storage infrastructure is offered on a fair per consumption basis; it is inexpensive, scalable, reliable, always available, accessible and secure.

We think cloud storage is a very powerful service, but because the interface provides basic functionality and limited guarantees, building applications on top cloud storage API is challenging.  The majority of conventional, even experienced, developers and thus customers will be unable to tap into it. Low level storage APIs operating on cloud storage objects (GET/PUT/DELETE object and list are the core storage operations), eventual consistency guarantee for Amazon S3, large latencies and disruptions related to access via WAN, non-traditional access controls place cloud storage out of reach for mainstream applications.

Additionally, data confidentiality concerns of storing data in the cloud halt a lot of customers at the root of any initiatives or even considerations to entrust their most valuable asset – data – to a cloud provider. Cloud providers attempt to mitigate these concerns by explaining the cloud provider’s security procedures and tools, yet absence of the actual solution is a deal breaker for many potential customers.

Developers and IT today don’t have an existing standard solution that works with cloud storage natively for relational database workloads. Using cloud storage requires a sizeable upfront investment to re-train the developers and re-write applications to work on top of low-level cloud storage APIs (often tied to a specific vendor).

ClouSE comes to the rescue. With ClouSE offering SQL APIs and transactional guarantees for cloud storage, it makes cloud storage a viable drop-in replacement for good old SAN.

Now database developers and even IT admins are enabled to utilize storage in the cloud without making a line of change in their application logic, and without requiring them to learn new languages or paradigms.