tag:blogger.com,1999:blog-11683713.post9177532026427255940..comments2024-01-12T21:16:50.520-08:00Comments on Spyced: Why I like the Cassandra distributed databaseJonathan Ellishttp://www.blogger.com/profile/11003648392946638242noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-11683713.post-91361028281580070442009-09-21T11:30:17.956-07:002009-09-21T11:30:17.956-07:00Right, I am thinking of something similar.
Althoug...Right, I am thinking of something similar.<br />Although MogileFS is great and even proven to perform at Digg, I am looking for a java alternative. Dont ask me why :-)<br /><br />Thanks for your reply.Samhttps://www.blogger.com/profile/03916216444108919767noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-56886069392977614742009-09-21T11:13:28.102-07:002009-09-21T11:13:28.102-07:00Cassandra is really designed for storing structure...Cassandra is really designed for storing structured and semi-structured data than large media blobs, although I sketched out what large-object support might look like here: https://issues.apache.org/jira/browse/CASSANDRA-265<br /><br />You could also use cassandra to store metadata about where your blobs are stored on conventional servers for something like MogileFS w/o the mysql bottleneck.Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-88656158561721819382009-09-21T11:05:18.000-07:002009-09-21T11:05:18.000-07:00Hi Jonathan,
Thanks for the info, it helps a lot.
...Hi Jonathan,<br />Thanks for the info, it helps a lot.<br />One question: is Cassandra a good fit to keep media on distributed nodes - images, videos etc..<br />AFAIK, thrift interface wont allow streaming access to the db.<br /><br />Can you please shed some light! any help is appreciated.<br /><br />CheersSamhttps://www.blogger.com/profile/03916216444108919767noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-34681108348593122272009-04-22T11:54:00.000-07:002009-04-22T11:54:00.000-07:00Thanks for taking the time to look at Cassandra, P...Thanks for taking the time to look at Cassandra, Phil. Certainly back in January it took a brave soul to dive in. We're hoping to make things a little more user-friendly as we approach a release. :)<br /><br />I'd reply on your blog but I don't see a comment section? So here goes:<br /><br /> * we do plan to add the ability to add and remove columnfamilies after cluster start. the "right" way is to use something like ZooKeeper. the "quick hack" way is to just allow adding new CFs via the config xml -- if anyone is really blocking on this I can point you in the right direction; it's a couple hours of work is all. Otherwise I'd rather wait until we can do it "right."<br /> * the api isn't set in stone; we're definitely willing to evaluate proposals for new features.<br /> * for your specific example, the functionality is already there; get_column will take either columnfamily:column or supercolumnfamily:supercolumn:column. This is admittedly confusing, but it does work. :)<br /> * take another look at Remove; I've done a lot of work on making that actually work. (similar to get_column you can specify varying degrees of granularity there -- you can remove a subcolumn, supercolumn, or entire columnfamily associated w/ a key.)<br /><br />Feel free to drop by #cassandra if you have any more questions!Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-70295603089673416902009-04-22T10:27:00.000-07:002009-04-22T10:27:00.000-07:00Make sure that the API of cassandra is enough for ...Make sure that the API of cassandra is enough for what you need. There are some operations on supercolumns that you might expect to be there but are missing (I'm sure for good reason). I went through and documented the <A HREF="http://www.brightyellowcow.com/blog/Evaluating-the-API-of-Cassandra-BigTable-.html" REL="nofollow">cassandra api</A> a few months ago when I was investigating it.Phil Wisehttp://www.brightyellowcow.com/blog/noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-42200000834377142002009-04-20T13:27:00.000-07:002009-04-20T13:27:00.000-07:00As an FYI, you don't have a link to your github on...As an FYI, you don't have a link to your github on<br />" (Update: also a commit Thursday added incorrectly-indented docstrings. Wonderful. Here is my github tree w/o that problem.) "<br /><br />As an aside, calling this CAP business a theorem has been bugging me, but I guess that http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1495<br />establishes it at least in some models.Alexander Fairleyhttps://www.blogger.com/profile/16271647580060960779noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-47320064663871795042009-03-31T15:09:00.000-07:002009-03-31T15:09:00.000-07:00I have to agree on the above comments' points abou...I have to agree on the above comments' points about a Thrift library through buildbot/etc... but would also like to point out that HBase has a Thrift API which you have ignored in your post.Michael Greenehttps://www.blogger.com/profile/03246581441925726007noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-44871394652478331202009-03-28T14:35:00.000-07:002009-03-28T14:35:00.000-07:00It's no secret that Amazon is still a major Or...It's no secret that Amazon is still a major Oracle customer; an A & P system like Dynamo is not suitable for certain kinds of data.Jason Dusekhttps://www.blogger.com/profile/15702067426651391511noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-24880345436928998562009-03-27T15:13:00.000-07:002009-03-27T15:13:00.000-07:00You can definitely pre-generate the pure Python li...You can definitely pre-generate the pure Python library & client code. Not sure about the `fastbinary` c extension -- it may depend on the C++ library which would make things trickier.<BR/><BR/>Buildbot would be great. I have no idea how to set one up. (Maybe once Thrift gets a stable release out -- they are working on that now.)Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-56513280938657587322009-03-27T15:04:00.000-07:002009-03-27T15:04:00.000-07:00/me looks at the thrift depends list.Possibly stup.../me looks at the thrift depends list.<BR/><BR/>Possibly stupid question: from a system w/ a working thrift install, is it possible to generate the .py (or whatever lang) and then use that generated code on other systems?<BR/><BR/>I'm asking because it seems like a client-library buildbot would be useful here. <BR/><BR/>No?jdunckhttps://www.blogger.com/profile/03876451162652501161noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-12775159700512987932009-03-27T10:23:00.000-07:002009-03-27T10:23:00.000-07:00It's fatal for my needs. (I chose my words carefu...It's fatal for my needs. (I chose my words carefully; I said 'decision' rather than 'mistake.' :)<BR/><BR/>Like I said, YMMV depending on your requirements.Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-71961792476737297082009-03-27T10:19:00.000-07:002009-03-27T10:19:00.000-07:00> Then there are a whole bunch of "me too&...> Then there are a whole bunch of "me too" key value stores that made fatal architecture decisions or are writing a "memcached with persistance" without really thinking it through.<BR/><BR/>Selecting the C and P parts of the CAP triangle is not a "fatal architecture decision", it is simply one choice among several equally valid options. By selecting availability over consistency Vogels/Amazon has decided to use application-specific code to reconcile inconsistent data; anyone who makes the A & P choice is doing this and it can impose a non-trivial cost on the end-users of the system.<BR/><BR/>Eventually consistent can easily turn into <I>not</I> consistent if the end-user isn't cognizant of the tradeoffs involved and doesn't understand what burden is being shifted from the database to their own codebase. An equally valid claim could be made that distributed databases which opt for availability and partition-tolerance over consistency will be good choices for end-users who never really needed a database in the first place while people who need ACID properties are more likely to hold on to consistency as a key property in their database.Unknownhttps://www.blogger.com/profile/10393180360599397126noreply@blogger.com