<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:0px 0px 1.2em!important">Hi Alexandr, </p>
<p style="margin:0px 0px 1.2em!important">The OpenStack Swift is a good choice as permanent storage pool for your video case.<br>As for temporary storage media in your case, Swift could be an option. But you need to consider several factors. </p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">How will user upload video to your site ?</li>
<li style="margin:0.5em 0px">How’s the speed do you need to store video chunks into temporary tier ? </li>
<li style="margin:0.5em 0px">What protocol is supported to store video by your application ? </li>
<li style="margin:0.5em 0px">Does your transformation server pull the data to it’s memory/local media to process ? </li>
<li style="margin:0.5em 0px">How many data will you have in your estimation ? </li>
<li style="margin:0.5em 0px">How’s the size of each video ingeneral ?</li>
</ul>
<p style="margin:0px 0px 1.2em!important">Here’s a list of benefit by using Swift as both temporary & permanent storage pool : </p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">User can upload video to Swift directly via HTTP. No need an additional server between your Swift pool and client. </li>
<li style="margin:0.5em 0px">Swift has built-in function for authentication/authorization. </li>
<li style="margin:0.5em 0px">If you’d like to move video cross temporary and permanent locations, it could be done in swift’s internal network. </li>
<li style="margin:0.5em 0px">The metadata can associate with object itself. </li>
<li style="margin:0.5em 0px">HTTP protocol gives high flexibility for various ways. </li>
<li style="margin:0.5em 0px">No video size limitation. </li>
<li style="margin:0.5em 0px">You can have 2 copies policy for temporary tier and 3 copies for permanent tier to get better data availability and durability. </li>
</ul>
<p style="margin:0px 0px 1.2em!important">Here’s a list of potential weaknesses for temporary tier : </p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">If your transformation server needs to edit data online and change bits on each chunk, it’s not good for Swift. </li>
</ul>
<p style="margin:0px 0px 1.2em!important">If the temporary tier doesn’t need too much space (lower than 3TB), you can just use several high speed disks as a raid0 pool to have nice IOPs. </p>
<p style="margin:0px 0px 1.2em!important">Regard // Hugo</p>
<div title="MDH:SGkgQWxleGFuZHIswqA8ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSBPcGVuU3RhY2sgU3dpZnQgaXMg
YSBnb29kIGNob2ljZSBhcyBwZXJtYW5lbnQgc3RvcmFnZSBwb29sIGZvciB5b3VyIHZpZGVvIGNh
c2UuJm5ic3A7PC9kaXY+PGRpdj5BcyBmb3IgdGVtcG9yYXJ5IHN0b3JhZ2UgbWVkaWEgaW4geW91
ciBjYXNlLCBTd2lmdCBjb3VsZCBiZSBhbiBvcHRpb24uIEJ1dCB5b3UgbmVlZCB0byBjb25zaWRl
ciBzZXZlcmFsIGZhY3RvcnMuJm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4qIEhvdyB3
aWxsIHVzZXIgdXBsb2FkIHZpZGVvIHRvIHlvdXIgc2l0ZSA/PC9kaXY+PGRpdj4qIEhvdydzIHRo
ZSBzcGVlZCBkbyB5b3UgbmVlZCB0byBzdG9yZSB2aWRlbyBjaHVua3MgaW50byB0ZW1wb3Jhcnkg
dGllciA/Jm5ic3A7PC9kaXY+PGRpdj4qIFdoYXQgcHJvdG9jb2wgaXMgc3VwcG9ydGVkIHRvIHN0
b3JlIHZpZGVvIGJ5IHlvdXIgYXBwbGljYXRpb24gPyZuYnNwOzwvZGl2PjxkaXY+KiBEb2VzIHlv
dXIgdHJhbnNmb3JtYXRpb24gc2VydmVyIHB1bGwgdGhlIGRhdGEgdG8gaXQncyBtZW1vcnkvbG9j
YWwgbWVkaWEgdG8gcHJvY2VzcyA/Jm5ic3A7PC9kaXY+PGRpdj4qIEhvdyBtYW55IGRhdGEgd2ls
bCB5b3UgaGF2ZSBpbiB5b3VyIGVzdGltYXRpb24gPyZuYnNwOzwvZGl2PjxkaXY+KiBIb3cncyB0
aGUgc2l6ZSBvZiBlYWNoIHZpZGVvIGluZ2VuZXJhbCA/PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48
ZGl2PkhlcmUncyBhIGxpc3Qgb2YgYmVuZWZpdCBieSB1c2luZyBTd2lmdCBhcyBib3RoIHRlbXBv
cmFyeSAmYW1wOyBwZXJtYW5lbnQgc3RvcmFnZSBwb29sIDombmJzcDs8L2Rpdj48ZGl2Pjxicj48
L2Rpdj48ZGl2PiogVXNlciBjYW4gdXBsb2FkIHZpZGVvIHRvIFN3aWZ0IGRpcmVjdGx5IHZpYSBI
VFRQLiBObyBuZWVkIGFuIGFkZGl0aW9uYWwgc2VydmVyIGJldHdlZW4geW91ciBTd2lmdCBwb29s
IGFuZCBjbGllbnQuJm5ic3A7PC9kaXY+PGRpdj4qIFN3aWZ0IGhhcyBidWlsdC1pbiBmdW5jdGlv
biBmb3IgYXV0aGVudGljYXRpb24vYXV0aG9yaXphdGlvbi4mbmJzcDs8L2Rpdj48ZGl2PiogSWYg
eW91J2QgbGlrZSB0byBtb3ZlIHZpZGVvIGNyb3NzIHRlbXBvcmFyeSBhbmQgcGVybWFuZW50IGxv
Y2F0aW9ucywgaXQgY291bGQgYmUgZG9uZSBpbiBzd2lmdCdzIGludGVybmFsIG5ldHdvcmsuJm5i
c3A7PC9kaXY+PGRpdj4qIFRoZSBtZXRhZGF0YSBjYW4gYXNzb2NpYXRlIHdpdGggb2JqZWN0IGl0
c2VsZi4mbmJzcDs8L2Rpdj48ZGl2PiogSFRUUCBwcm90b2NvbCBnaXZlcyBoaWdoIGZsZXhpYmls
aXR5IGZvciB2YXJpb3VzIHdheXMuJm5ic3A7PC9kaXY+PGRpdj4qIE5vIHZpZGVvIHNpemUgbGlt
aXRhdGlvbi4mbmJzcDs8L2Rpdj48ZGl2PiogWW91IGNhbiBoYXZlIDIgY29waWVzIHBvbGljeSBm
b3IgdGVtcG9yYXJ5IHRpZXIgYW5kIDMgY29waWVzIGZvciBwZXJtYW5lbnQgdGllciB0byBnZXQg
YmV0dGVyIGRhdGEgYXZhaWxhYmlsaXR5IGFuZCBkdXJhYmlsaXR5LiZuYnNwOzwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+SGVyZSdzIGEgbGlzdCBvZiBwb3RlbnRpYWwmbmJzcDs8c3BhbiBzdHls
ZT0iY29sb3I6IHJnYig4NCwgODQsIDg0KTsgbGluZS1oZWlnaHQ6IDE4LjJweDsiPndlYWtuZXNz
ZXMgZm9yIHRlbXBvcmFyeSB0aWVyIDombmJzcDs8L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iIzU0NTQ1NCI+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxOC4y
cHg7Ij4qIElmIHlvdXIgdHJhbnNmb3JtYXRpb24gc2VydmVyIG5lZWRzIHRvIGVkaXQgZGF0YSBv
bmxpbmUgYW5kIGNoYW5nZSBiaXRzIG9uIGVhY2ggY2h1bmssIGl0J3Mgbm90IGdvb2QgZm9yIFN3
aWZ0LiZuYnNwOzwvc3Bhbj48L2ZvbnQ+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj5JZiB0aGUgdGVtcG9yYXJ5IHRpZXIgZG9lc24ndCBuZWVkIHRvbyBtdWNoIHNwYWNl
IChsb3dlciB0aGFuIDNUQiksIHlvdSBjYW4ganVzdCB1c2Ugc2V2ZXJhbCBoaWdoIHNwZWVkIGRp
c2tzIGFzIGEgcmFpZDAgcG9vbCB0byBoYXZlIG5pY2UgSU9Qcy4mbmJzcDs8L2Rpdj48ZGl2Pjxi
cj48L2Rpdj48ZGl2PlJlZ2FyZCAvLyBIdWdvPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+
PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IHJnYig4NCwgODQsIDg0KTsgbGluZS1oZWln
aHQ6IDE4LjJweDsiPjxicj48L3NwYW4+PC9kaXY+" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-10 18:54 GMT+08:00 Alexandr Porunov <span dir="ltr"><<a href="mailto:alexandr.porunov@gmail.com" target="_blank">alexandr.porunov@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">Hello,</span></div><div><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><br></span></div><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">I need a temporary storage for users videos.</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">This is my scenario:</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">1. User uploads a video file chunk by chunk.</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">2. My application stores each chunk in the temporary storage.</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">3. When video loading is finished then my transformation server transforms this video and stores into permanent storage.</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">4. After video was saved in permanent storage it is deleted from temporary storage.</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">Which storage is the best for read/write/delete only once and has the ability to save files chunk by chunk? Swift? Cinder? or something else?</span><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><br style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px"><span style="color:rgb(75,75,75);font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px">Sincerely, Alexandr</span><br></div>
<br>_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
<br></blockquote></div><br></div>