0

I'm trying to use riak for storing of video contents. I'm allready able to push my video to riak with the correct mite type and I also receive the Video by its URL.

The riak page tells me, that riak in version 1.3.* is capable of supporting range requests.

But curl -I MYRIAKVIDEOURL doesn't return the Accept-Ranges: bytes HTML Header (like my apache is doing. Also when trying to make a reange request by VLC (by seeking to the middle of the Video), it seems, there is no range request initiated, as loading takes long and network shows a lot of downloaded traffic. When doing the same with the Video URL offered by my apache server (tried on the same machine), range request are working well within VLC.

Anyone any Idea on how to achieve this on riak (running on Debian 7, compiled from source, tried also with Ubuntu 12.04)? Am I able to manipulate the HTTP Headers, riak will send?

thanks for the help

1 Answers1

1

Do you intend to use Riak? I think Riak CS is suitable for storage of video files. Riak CS support Range header for GET Object request.

Sample request by s3curl is like:

s3curl.pl -- -v -x localhost:8080 -H 'Range: bytes=1000-2000' \
    http://yourbuckethere.s3.amazonaws.com/your/file/here
shino
  • 839
  • 5
  • 9
  • Allright, so I should go with Riak CS (I failed on my first try of installing it to Ubuntu 12.04, but will try again). – user2472306 Jun 11 '13 at 10:20
  • How does Riak CS internally manage the fetching and delivering of content? For example, I have a 5 Box Riak setup with a 3 Box replication. When uploading a file to Box 1, this file will be replicated to Box 2,3,4. When asking for the File on Box 5, which Box will riak fetch the file internally from, to deliver it on Box 5? Will it fetch parts of the file from all boxes (1-4), will it fetch from the box with the current lowest load? Does the file than gets kind of cached or replicated to box 5 too, so the next request for this file does not need some internal traffic? – user2472306 Jun 11 '13 at 10:25
  • What about range requests, when putting up a nginx Proxy for example in front of each riak (cs) node? – user2472306 Jun 11 '13 at 10:25
  • Riak CS manages one file by multiple Riak key-value pairs, one manifest (metadata like i-node) and some 1MB blocks. Each Riak key-value pair is distributed around 5 nodes (in your case) by consistent-hashing. If manifest key-value pair is stored in node 2,3 and 4, Riak node 5 fetches value from 2,3 and 4. No caching mechanism in Riak nor Riak CS. – shino Jun 11 '13 at 12:17
  • I don't understand what you want to know by your range request question above. nginx configuration or internal traffic of Riak/RiakCS ? – shino Jun 11 '13 at 12:19