Difference between revisions of "MagnetoDB"
m (→Why not Trove?) |
m (→What is MagnetoDB?) |
||
Line 9: | Line 9: | ||
MagnetoDB is [http://aws.amazon.com/dynamodb Amazon DynamoDB] [http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API.html API] for OpenStack world. | MagnetoDB is [http://aws.amazon.com/dynamodb Amazon DynamoDB] [http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API.html API] for OpenStack world. | ||
=== Why it is needed? === | === Why it is needed? === | ||
− | To provide hight level database service with DynamoDB API interface | + | To provide hight level database service with DynamoDB API interface for OpenStack users. |
+ | |||
+ | MagnetoDB is a NoSQL schemaless horisontally scalable database, designed to serve any level of request traffic without impacting performance. | ||
+ | It gives to user the storage without any administration, out of the box. | ||
+ | |||
+ | Just simply create the table and start working with your data. No vm provisioning, database software setup, configuration, patching, monitoring and other administrative routine. | ||
+ | |||
=== Integration with Trove? === | === Integration with Trove? === | ||
Initially suggested as [https://blueprints.launchpad.net/trove/+spec/http-accessible-storage blueprint] for Trove it was rejected as not following the programm mission. | Initially suggested as [https://blueprints.launchpad.net/trove/+spec/http-accessible-storage blueprint] for Trove it was rejected as not following the programm mission. |
Revision as of 22:13, 29 October 2013
Contents
Status
Scope
Document describes the idea and technical concept of DB service for OpenStack like Amazon DynamoDB. There is no implementation yet.
What is MagnetoDB?
MagnetoDB is Amazon DynamoDB API for OpenStack world.
Why it is needed?
To provide hight level database service with DynamoDB API interface for OpenStack users.
MagnetoDB is a NoSQL schemaless horisontally scalable database, designed to serve any level of request traffic without impacting performance. It gives to user the storage without any administration, out of the box.
Just simply create the table and start working with your data. No vm provisioning, database software setup, configuration, patching, monitoring and other administrative routine.
Integration with Trove?
Initially suggested as blueprint for Trove it was rejected as not following the programm mission. MagnetoDB is not one of existing database provisioned by Trove, but storage with HTTP API where Trove is used for provisioning and managing underlaying database.
Overall architecture
It two layer horizintally scalable web application
API
The API consists of the following methods
- BatchGetItem
- BatchWriteItem
- CreateTable
- DeleteItem
- DeleteTable
- DescribeTable
- GetItem
- ListTables
- PutItem
- Query
- Scan
- UpdateItem
- UpdateTable
Implementation
Pluggability
The most suitable data source is Cassandra. But it is better to make datasource plugguble and give the framework for implementation of interface for any other underlying storage.
OpenStack component reusage
Purpose | OS component |
---|---|
Provisioning of web tire | Heat, Mistral (Convection) |
Load balancer | LBaaS, Neutron |
Autoscaling of web tier | Heat autoscaling, Ceilometer |
Data Source provisioning and management | Trove |
Monitoring | Ceilometer |
Authentication | Keystone |
Autoscaling
- Web autoscaling is suggested to implement with HEAT autoscaling group resource
- Datasource scalability based on future Trove autoscaling