<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Hi,</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Based on your requirements:</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- unlimited disk space</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- each value is an SVG document (and its history)</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- minimum cost</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- minimum administration</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">I wonder if you might be interested in a service like Orchestrate (<a href="http://orchestrate.io/docs/">http://orchestrate.io/docs/</a>). I’m an engineer at Orchestrate, we’re big fans of Erlang as most of us worked on Riak before building this service.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">I think Orchestrate could be a good fit because:</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- the pricing model is based on MOps (per million requests) with a free tier of 1MOp/month.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- we do not charge for disk usage.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- all data in the service is immutable, with “ref” history (you can retrieve previous versions of a KV object)</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">- there is no administration overhead, we’re the infrastructure team for you</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="margin: 0px;">Normally I'm wary of promoting a company (when working for them) on a community mailing list, but in this case I really do think we could be a good fit.</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">Hope this helps.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Kind Regards,</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Chris</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div> <div id="bloop_sign_1396825217676492032" class="bloop_sign"><span style="font-family:helvetica,arial;font-size:13px"></span>-- <br>Chris Molozian<div>Software Engineer</div><div><br><span>Sent with Airmail</span></div></div> <br><p style="color:#000;">On 5 April 2014 at 18:02:55, t x (<a href="mailto:txrev319@gmail.com">txrev319@gmail.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>I should also add, for this particular case, HDFS as a service would
<br>work for me too -- all what I really need is just a k/v store.
<br>
<br>On Sat, Apr 5, 2014 at 10:02 AM, t x <txrev319@gmail.com> wrote:
<br>> Gokhan: Thanks for pointing out what I need to clarify.
<br>>
<br>>
<br>> What kind of data?
<br>>
<br>> I'm basically building a wiki. Each "value" is an svg-document + the
<br>> history of the svg document.
<br>>
<br>>
<br>> Why do you need cache?
<br>>
<br>> S3 pricing comes out to $120 / TB.
<br>> DO pricing is $5 / TB.
<br>> Thus, I'd prefer DO to read from S3, cache it on DO, then serve from
<br>> DO. This saves bandwidth cost by factor of 24. (sorry for not
<br>> explaining this earlier)
<br>>
<br>>
<br>> Why do you believe SSD will suffice for cache?
<br>>
<br>> The site is for a class -- so the notes are "weekly" -- thus, it's
<br>> highly likely that the most accessed entries are the most recent
<br>> entries (i.e. it's the user requests is not uniformly random over the
<br>> keys; but rather heavily weighted in favor of recent keys)
<br>>
<br>>
<br>> What is your retrieval pattern?
<br>>
<br>> I don't have hard data yet -- I'm still building this.
<br>>
<br>>
<br>>
<br>> (preempting a possible future question): Why do you group S3 and Riak
<br>> into the same thought?
<br>>
<br>> Eventual consistency doesn't really matter to me here. key = sha hash
<br>> of content, thus, "updates = new entry", and I don't worry much about
<br>> invalidating cache.
<br>>
<br>> I was thinking purely in terms of k/v store -- and the two most
<br>> scalable stores I know of are S3 and Riak.
<br>>
<br>>
<br>> Please let me know if my thinking appears sloppy anywhere else. (I
<br>> have a decent theoretical CS background so I can do the logic/proof --
<br>> but this is my first time building a distributed system -- so I may be
<br>> asking the wrong questions / not aware of what I'm jumping into).
<br>>
<br>>
<br>> Thanks!
<br>>
<br>>
<br>>
<br>> On Sat, Apr 5, 2014 at 9:02 AM, Gokhan Boranalp <kunthar@gmail.com> wrote:
<br>>> Amazon S3 and Riak are different species and actually not directly
<br>>> comparable types in the nature of K/V world.
<br>>> Question shows that you are not aware of usage types of these two and
<br>>> you are not efficiently examined your problem domain by looking
<br>>> closely to your data.
<br>>>
<br>>> Please let us know more about your data types to be used.
<br>>> What kind of data really you would like to store?
<br>>> Why do you need cache?
<br>>> Why do you believe SSD disks could be sufficient for cache operations?
<br>>> What is your data access pattern in terms of retrieval of data back?
<br>>>
<br>>>
<br>>> BR
<br>>>
<br>>> On Fri, Apr 4, 2014 at 3:10 PM, t x <txrev319@gmail.com> wrote:
<br>>>> Hi,
<br>>>>
<br>>>>
<br>>>>   This is my current setup:
<br>>>>
<br>>>>   * a bunch of $5/month digital ocean droplets [1]
<br>>>>
<br>>>>   * these droplets have a 20GB SSD harddrive
<br>>>>
<br>>>>   Now, I need to have a gigantic key-value store. I don't want to deal
<br>>>> with the error condition of "error: you ran out of disk space"
<br>>>>
<br>>>>   In my particular design, I only have "create new value". I don't
<br>>>> have "update value". Thus, I don't have to worry about invalidating
<br>>>> caches, and intend to use the 20GB SSD drives as as "cache" for the
<br>>>> real key-value store.
<br>>>>
<br>>>>
<br>>>>
<br>>>>   Now, my question is: what should I use for my key-value store?
<br>>>>
<br>>>>   I want to optimize for:
<br>>>>
<br>>>>   * minimum cost
<br>>>>   * minimum administration
<br>>>>
<br>>>>   Currently, the best I have is Amazon S3. (I'd prefer to not setup my
<br>>>> own Riak cluster + deal with replication + how many servers to run +
<br>>>> ... ). I'm okay with the 99.99% (or whatever SLA Amazon S3 provides).
<br>>>>
<br>>>>
<br>>>>
<br>>>>   Question: Is S3 the right approach as a giant K-V store for my
<br>>>> Erlang nodes to hit, or should I be using something else?
<br>>>>
<br>>>> Thanks!
<br>>>>
<br>>>>
<br>>>> [1] This is not an advertisement for DO. I do not have any DO equity.
<br>>>> _______________________________________________
<br>>>> erlang-questions mailing list
<br>>>> erlang-questions@erlang.org
<br>>>> http://erlang.org/mailman/listinfo/erlang-questions
<br>>>
<br>>>
<br>>>
<br>>> --
<br>>> BR,
<br>>> \|/ Kunthar
<br>_______________________________________________
<br>erlang-questions mailing list
<br>erlang-questions@erlang.org
<br>http://erlang.org/mailman/listinfo/erlang-questions
<br></div></div></span></blockquote></body></html>