tag:blogger.com,1999:blog-11683713.post7256699447414724206..comments2024-01-12T21:16:50.520-08:00Comments on Spyced: Why you won't be building your killer app on a distributed hash tableJonathan Ellishttp://www.blogger.com/profile/11003648392946638242noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-11683713.post-70343076588452071132020-11-24T22:30:23.605-08:002020-11-24T22:30:23.605-08:00This text is priceless. How can I find out more?This text is priceless. How can I find out more?cheap erectile dysfunction pills onlinehttps://besterectiledysfunctionpills.com/noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-62150336149903266442009-07-02T00:12:34.388-07:002009-07-02T00:12:34.388-07:00Bigtable and its open source counter parts: Hypert...Bigtable and its open source counter parts: Hypertable and HBase are not DHT based as well. They use range split to distribute ranges (tablets).<br /><br />OrderPreservingPartitioner and range query are relatively new features (only 2 months old) in Cassandra, I'd expect plenty of bugs and race conditions.vicayahttps://www.blogger.com/profile/02102517563537581958noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-43001453699224916862009-06-26T09:53:42.834-07:002009-06-26T09:53:42.834-07:00I don't know how you make the leap from "...I don't know how you make the leap from "some problems can't be efficiently solved with this particular DHT implementation" to "distributed hash tables are a fail for all general-purpose applications."<br /><br />Google seems to be doing quite well for itself on Bigtable, for instance.Unknownhttps://www.blogger.com/profile/12757268515031054537noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-14506356085725836292009-06-12T18:19:20.869-07:002009-06-12T18:19:20.869-07:00If you have range based storage structure, you can...If you have range based storage structure, you can design own physical locality and get performance and reliability benefits. By convention you can use one row as your coordinating row of that sequence. With hashing it's a bit too random ;-)jsknoreply@blogger.comtag:blogger.com,1999:blog-11683713.post-76817244803305270112009-05-29T17:38:07.865-07:002009-05-29T17:38:07.865-07:00"By removing consistent hashing from Chord, we der..."By removing consistent hashing from Chord, we derived a protocol that has the same favorable logarithmic routing performance but needs less network hops for updating its routing table. Additionally, our Chord# protocol supports range queries, which are not possible with Chord. Our empirical results indicate that Chord# outperforms Chord even under high churn, that is, when nodes frequently join and leave the system." - Scalaris uses Chord#.Erichttps://www.blogger.com/profile/10455227099046961855noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-53138718733533154412009-05-29T17:03:03.988-07:002009-05-29T17:03:03.988-07:00" Pete Warden said... I'm skeptical that there's n..." Pete Warden said... I'm skeptical that there's no way to perform the queries they want, as long as you're willing to burn up lots of storage space for indices..."<br /><br />I agree but I think then it stops being a simple DHT and becomes a distributed key/value database which is kind of a DHT with knobs on.<br /><br />TBTony Bainhttps://www.blogger.com/profile/09787797480155618139noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-52739353793142095752009-05-29T09:02:08.921-07:002009-05-29T09:02:08.921-07:00I'm still working through the paper, but as someon...I'm still working through the paper, but as someone who's wrestling with key/value primitives to perform complex queries, I'm skeptical that there's no way to perform the queries they want, as long as you're willing to burn up lots of storage space for indices and other denormalized information. Maybe it would have an unacceptable impact on insertions, but in the past I've cobbled together fast geographic range queries using application logic on top of kd-trees.<br /><br />I'm with you on the idea that opening up the minimal interface a bit might be a big win though, I am particularly interested in MongoDB.Pete Wardenhttps://www.blogger.com/profile/16752128834177298274noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-13754073089041132162009-05-29T06:22:16.135-07:002009-05-29T06:22:16.135-07:00First, the point is not that it's impossible to su...First, the point is not that it's impossible to support range queries in a DHT or DHT-like system; the point is that the key/value paradigm alone doesn't give you enough power to build more advanced functionality like this -- it needs to be built-in to the system.<br /><br />Second, Scalaris doesn't actually support range queries yet according to the most recent information I know of (http://groups.google.com/group/scalaris/msg/1d365e6605f1f030).Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-58292240945623144012009-05-29T05:00:05.083-07:002009-05-29T05:00:05.083-07:00That article is a bit old...
Found a really promis...That article is a bit old...<br />Found a really promising project that also has been shown in a google talk. http://www.zib.de/CSR/Projects/scalaris<br />It supports range queries and heaps of other stuff.Erichttps://www.blogger.com/profile/10455227099046961855noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-56424279717193994172009-05-28T06:25:17.552-07:002009-05-28T06:25:17.552-07:00Have you looked at MySQL Cluster (ndb)?Have you looked at MySQL Cluster (ndb)?Jonas Orelandhttps://www.blogger.com/profile/02551781456999098405noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-33902550865369272152009-05-27T14:20:12.270-07:002009-05-27T14:20:12.270-07:00I agree with Dwight. As much as we love the relat...I agree with Dwight. As much as we love the relational database it is not without many faults of its own and some of these are beginning to become serious issues as our demands of the RDB increase. I am in the middle of writing a series on this now here <A HREF="http://weny.ws/1Xx" REL="nofollow">http://weny.ws/1Xx</A>.<br /><br />Currently we have gone too far in our mentality of a RDB for everything. The RDB is a great generic tool but it needs to be one of a set of options. I think we are starting to see the emergence and uptake of DBMS’s that are somewhere in the middle of the RDBMS and DHT which have a strong focus on scale, predictability, development model, manageability and transaction processing performance. This is much like the breakaway path we have seen emerging for high end analytics over the few years.Tony Bainhttps://www.blogger.com/profile/09787797480155618139noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-81498123586423929752009-05-27T13:56:15.367-07:002009-05-27T13:56:15.367-07:00I believe we are going to see at least three types...I believe we are going to see at least three types of data stores for apps going forward: <br />(1) DHTs / key-value stores, <br />(2) nonrelational db's that scale but have deeper functionality such as range queries and secondary indexes, and <br />(3) traditional RDBMSes when one needs the most functionality from the DB (e.g. very complex transactions).<br /><br />Really depends on the problem at hand -- the right tool for the right job.<br /><br />(I work on MongoDB which is a database that fits into bucket (2) above.)dwight_10genhttp://www.mongodb.org/noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-71301121822489723112009-05-27T13:36:02.491-07:002009-05-27T13:36:02.491-07:00Even granting that a better DHT would be an order ...Even granting that a better DHT would be an order of magnitude faster than OpenDHT, that's still two orders of magnitude away from where you want to be. :) So I'm skeptical of this argument.<br /><br />The additional locking refers to keeping the prefix hash structure consistent since updating that requires multiple commands sent to the underlying DHT. Not locking here will result in irresolvable corruption, so it's not a place to employ the "eventually consistent" approach to which you refer. See the actual paper for details.Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-11683713.post-31056372611741460762009-05-27T13:13:01.066-07:002009-05-27T13:13:01.066-07:00It sounds like some of the performance issues coul...It sounds like some of the performance issues could have been due to their DHT of choice. I don't think that the paper alone is enough to discount DHTs as datastores for applications.<br /><br />Also, I'm not sure what you mean about requiring additional locking. When working with eventually consistent DHTs, isn't this where the application is supposed to step in and resolve conflicts in the state of the resource caused by concurrent operations?Christianhttps://www.blogger.com/profile/14905012683456967746noreply@blogger.com