<br><br><div class="gmail_quote">On Fri, Jan 20, 2012 at 4:34 PM, Pete Wright <span dir="ltr"><<a href="mailto:pete@nomadlogic.org" target="_blank">pete@nomadlogic.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

On Fri, Jan 20, 2012 at 08:11:25AM -0500, Christopher Olsen wrote:<br>
> Hello Everyone,<br>
><br>
> Anyone here have any experience or thoughts on how to put together a large Data store?<br>
><br>
> What I would like to accomplish would be to have something with the capacity in the area of 5,000 terabytes and also have the ability to take snapshots...<br>
><br>
> It wouldn't necessarily need to appear as a single node but I definitely want to get the highest possible storage density per node. Also performance need not be considered as long as its within reason.<br>
><br>
<br>
i think there are a couple things to keep in mind when building any<br>
large storage architecture.  the first is - what is your<br>
application/use-case?  this will help you figure out if you need a SAN<br>
or if a NAS will suffice.  For example - building out a huge SAN, what<br>
filesystem will eventually be overlayed on your LUN's, do you really<br>
need a 5PB SAN or can it be broken down into more managable pools...etc.<br>
<br>
Lets assume you are building a NAS infrastructure though, as I imagine<br>
that would be a more common use-case for a 5PB storage architecture.  My<br>
opinion is that if you are building out something this big you really<br>
would benefit working with an appliance vendor - esp. if this a tier-1<br>
system you are building (interestingly enough you'll find that vendors<br>
like Isilon and NetApp are actually based on FreeBSD).  Aside from<br>
hardware integration and support - appliances will also generally take<br>
care of HA clustering and other difficult problems.  You wouldn't want<br>
your 5PB datastore to have a SPOF would you :)<br>
<br>
A final thought is - check out clustered filesystems like Gluster,<br>
Ceph (<a href="http://ceph.newdream.net/" target="_blank">http://ceph.newdream.net/</a>) or something similar.  These solutions<br>
will allow you to leverage off the shelf hardware w/o sacrificing HA<br>
capabilities.  They also should scale if designed correctly from the<br>
begining.<br>
<br>
<br>
Although - like I said in the begining you really need to figure out<br>
your usecase when buiding something to scale like this.  Once you figure<br>
out how data is being accessed (block level via a SAN, at the IP layer<br>
via a NAS, or via an API from a clustered filesystem) that'll help you<br>
figure out what your system will look like at the end of the day.  Each<br>
one has is benefits and drawbacks.<br>
<br>
HTH,<br>
-pete<br>
<span><font color="#888888"><br>
--<br>
Pete Wright<br>
<a href="mailto:pete@nomadlogic.org" target="_blank">pete@nomadlogic.org</a><br>
<br>
_______________________________________________<br>
talk mailing list<br>
<a href="mailto:talk@lists.nycbug.org" target="_blank">talk@lists.nycbug.org</a><br>
<a href="http://lists.nycbug.org/mailman/listinfo/talk" target="_blank">http://lists.nycbug.org/mailman/listinfo/talk</a><br>
</font></span></blockquote></div><div><br></div><div><br></div><div>Tools like Lustre, Ceph, or OCFS2 seemed attractive to me at first, in that you get the full semantics that you are used to from a filesystem, but you really cant open a 9 TB file with vi. Would I want to run MySQL ontop of OCFS2. Would I want to have 5 systems sharing the same OCFS2 partition with mysql external locking? (probably not)</div>

<div><br></div><div><br></div><div>These solutions (Lustre, Ceph, or OCFS2) are great if I have a bank of 1000 web servers each run by a different entity and I want to give everyone there own secured LUN in a SAN style. But for my needs I determined that was not what I wanted. I wanted to scale a single application horizontally in both storage an processing. I wanted to be able to store all my web logs from a very busy site in a single system and process them with distributed storage and distributed computation, or I wanted a key value store that stretched out across 30 nodes. These very large storage use cases were why I got into hadoop. <a href="http://hadoop.apache.org/" target="_blank">http://hadoop.apache.org/</a>. Hadoop is not a POSIX filesystem (so you can not mount it directly) Although some vendors do offer alternative hadoop implementations that can be mounted and used like an NFS disk. Also why I work with Cassandra <a href="http://cassandra.apache.org" target="_blank">http://cassandra.apache.org</a> . </div>
<div><br></div><div>To wrap it up knowing what you wish to to with your 5PB is important. You may just want a large pool of SAN/NAS storage. That could be as simple as having thousands of beefy servers with ZFS and managing who mounts what. You could go with an Isilon if you really want one /export/bigdrive that every server in your company can write to and read from. Or if you just want to manage all your storage as single system you can go with an iscsi vendor. (wow the $ value for a 5PB SAN would be sick! I would love to see that quote), or if what you really want is a scalable "database" that is not a filesystem you can check out some of the other tools I mentioned.</div>