Orestes is a REST/HTTP database access protocol for object-oriented persistence that allows read requests to scale horizontally: Scalability is achieved by using Web Proxy Caches to serve database objects, while keeping strong ACID transaction semantics through optimistic verification mechanisms. We call this protocol Orestes (Objects RESTfully encapsulated in standard formats) and validate the approach by comparative benchmarks for a cloud computing scenario.
The approach has several benefits:
The emergence of cloud computing and NoSQL databases has demonstrated a clear demand for scalable database systems with cloud capable, web-based interfaces. With Orestes we try to reconcile four desirable system properties:
- Low latency access, to mitigate possible database/application distribution
- Horizontal scalability for read requests
- HTTP access based on standards
- Loose coupling of persistence APIs and database systems