What are the limits of using Amazon S3 (or S3-compatible object storages) as primary database for applications.
This library looks promising with this API:
// Setup Dyno
Dyno dyno = DynoClientBuilder
.simple()
.withEndpointConfig("s3.wasabi.sys", "us-east-1")
.withCredentials(ACCESS_KEY, SECRET_KEY)
.withBucket("dyno")
.withKeySpace(":")
.withBufferSize(1024)
.build();
// Here's a sample way to create a "User" entity with Dyno
// First create an entity with user_id this will prevent creation of another user
// with the same username
Entity user = EnityBuilder
.create(dyno)
.with("username", "dino")
.with("user_id")
.build(uuid(), String.class)
.putIfAbsent();
And further with this code:
// Since the username "dino" has been secured we can assign the password simply by
// puting a new entity with the assigned password:
Key key = EnityBuilder
.create(dyno)
.with("user_id", user.getValueString())
.with("password")
.build(sha256("the_password"), String.class)
.putIfAbsent();
Again, for the question, what are the limits of using S3? What can make it feasible to use S3 as a database where you can do standard CRUD operations and queries?
- Create, read, update and delete
- Query "fields" given conditions (field equals, min-max, contains)
- Regex search (text search)