Skip to main content

One post tagged with "Hello"

Hello tag description

View All Tags

Hello, WeSQL

· 2 min read
Wei Cao
Founder at ApeCloud

MySQL is a popular open-source database with a large user base. Building on top of MySQL, cloud providers like AWS have developed cloud-native MySQL services, such as Aurora MySQL, which adopt a compute-storage separation architecture. These cloud-native services offer features like serverless operation, rapid scaling, and fast snapshots. However, they are proprietary and vendor-locked, meaning Aurora can only be used on AWS. This creates challenges for multi-cloud or on-premise users who might use Aurora in AWS environments but are forced to revert to RDS MySQL or open-source MySQL binaries in others.

We believe that an open-source MySQL distribution with a compute-storage separation architecture, capable of running on any cloud—including on-premise environments—is essential. This belief led to the development of WeSQL.

Similar to Neon, an open-source alternative to Aurora PostgreSQL, WeSQL also chose S3 as the storage backend due to its scalability, pay-as-you-go pricing model, exceptional reliability, and high bandwidth. For a detailed analysis of why S3 was chosen, you can refer to this article. In addition, WeSQL also supports MinIO, a S3-compatible object storage system often used for on-premise deployments. Looking ahead, WeSQL plans to expand its compatibility with more S3-compatible object storage systems.

WeSQL retains an almost unmodified MySQL Server layer, replacing InnoDB with SmartEngine, a Log-Structured Merge tree (LSM) storage engine derived from LevelDB and RocksDB. The choice of LSM is driven by its superior compatibility with S3-based storage, as it optimally handles sequential writes and bulk operations, which are well-suited for object storage systems like S3 that don’t support random writes.

At present, WeSQL is based on MySQL 8.0.35. However, due to the minimal nature of our patches, WeSQL can be easily adapted to newer MySQL versions, including MySQL 8.4, 9.0, and future releases.

WeSQL is still in its early stages and evolving rapidly. We welcome your support and feedback as we continue to build and improve it. Thank you for your interest, and we hope you enjoy exploring what WeSQL has to offer!