/obs-tutorial

Primary LanguageShellCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

Introduction

Object Storage Tutorial.

Basic Concept

SNIA Tutorials on Object Storage:

The Storage Networking Industry Association (SNIA) is a not–for–profit global organization, made up of member companies spanning the global storage market.

Preparation

Environment

Git and Github (Recommended)

Git tutorial https://github.com/cs-course/git-tutorial.

For those who want unlimited private repositories, try bitbucket.

How to establish Python Environment

How to establish Java Environment

Ongoing course: Java Programming, 2017-2018 2nd semester, just follow your teacher's guide.

Installation helper scripts https://github.com/Zhan2012/java-bundle (For adventurers).

How to use Linux in Windows or MacOS (Optional)

Virtual Machine: Virtualbox, VMWare ...

For those who want to run mock-s3 and s3proxy without trouble, Linux is a must, refer to https://github.com/cs-course/vagrant-tutorial.

How to run servers within docker container (Optional)

For those who want to run Openstack Swift or Ceph in docker, refer to Docker tutorial https://github.com/cs-course/docker-tutorial.

Object Storage Server

Besides Option 1, Option 2, 3 offer compile-free executable.

Object Storage Client

Option 2 & 3 are more general and versatile, both are widely used for various object storage services.

Object Storage Benchmark

References

Known Issues

Known issues.

Contribute your experiences in https://github.com/Zhan2012/obs-tutorial/wiki.

Report more problems in https://github.com/Zhan2012/obs-tutorial/issues.

Basic Functionality

In computer programming, create, read, update, and delete (as an acronym CRUD) are the four basic functions of persistent storage.

Operation SQL HTTP
Create INSERT PUT / POST
Read (Retrieve) SELECT GET
Update (Modify) UPDATE PUT / POST / PATCH
Delete (Destroy) DELETE DELETE

Evaluation

Throughput, Latency under different object size, concurrency, server total.

Suggested topics:

  • How object size affects performance?
    • for a particular application, is there a best way to fit into OBS?
  • The main factors behind I/O latency?
    • Get latency distribution first.
  • What will happen when clients are crowded?
  • Why tests 'fail'? (not terminate)
  • The outcome of scaling out (putting more servers into system)?

More insights are encouraged.

Further thoughts

Future Readings

Recent SNIA blog posts on Object Storage http://sniablog.org/category/object-storage/.

Enterprise level Object Store comparison.

Zhan.Shi @ 2018