480 likes | 650 Views
A Storage Engine for Amazon S3. How to store a hundred billion BLOBs without buying a single disk. Who is this guy?. http://fallenpegasus.com/code. Storage Engine. Protocol Translator. Traditional Storage Engines use the local disk. Network Storage Engines. Federated ODBC HTTP MemCacheD
E N D
A Storage Engine for Amazon S3 How to store a hundred billion BLOBs without buying a single disk.
Federated ODBC HTTP MemCacheD and...
Translating S3 to MySQL AWS Account → CREATE SERVER S3 Bucket → Table S3 Item → Row S3 Item Key → VARCHAR PRIMARY KEY S3 Item Contents → BLOB or VARCHAR
CREATE SERVER 'MyAWSAcct' FOREIGN DATA WRAPPER 'AWS' OPTIONS (USER 'aws id string', PASSWORD 'aws secret string');
CREATE TABLE 'bierce' ( 'word' VARCHAR(255) NOT NULL PRIMARY KEY, 'defn' BLOB) CHARSET=utf-8 ENGINE=AWSS3 CONNECTION='awss3 DevilDictionary $server MyAWSAcct';
SELECT defn FROM bierce WHERE word='WIT'; WIT, n. The salt with which the American humorist spoils his intellectual cookery by leaving it out.
INSERT INTO bierce (word, defn) VALUES ('AUTHOR', 'One noted for confusing bitterness with humor.');
Saving EC2 work SQL CMS for S3 virtual hosting Huge list of persistent primary keys Big slow BLOBs, to join against fast local tables. “The Image Server Problem” ... and more
Code Improvement S3 & HTTP Metadata Multiple Data Columns Information Schema Security & Authentication Transfer & Storage Compression Streaming BLOB More Storage Engines
More storage engines “A Storage Engine for AWS SQS” There are more AWS services rolling out Replication distribution via S3 Cluster persistent storage via S3 ... and the EC2 holy grail:
“Where do I get it?” MySQL 5.1 GPL http://fallenpegasus.com/code
Suggestions Use Cases Bug Reports Patches Feature Requests Support Requests Gigs & Proposals mark@fallenpegasus.com