Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
Databases Facebook Technology

Digg Says Yes To NoSQL Cassandra DB, Bye To MySQL 271

Posted by timothy
from the can-you-trust-a-db-by-that-name? dept.
donadony writes "After twitter, now it's Digg who's decided to replace MySQL and most of their infrastructure components and move away from LAMP to another architecture called NoSQL that is based in Cassandra, an open source project that develops a highly scalable second-generation distributed database. Cassandra was open sourced by Facebook in 2008 and is licensed under the Apache License. The reason for this move, as explained by Digg, is the increasing difficulty of building a high-performance, write-intensive application on a data set that is growing quickly, with no end in sight. This growth has forced them into horizontal and vertical partitioning strategies that have eliminated most of the value of a relational database, while still incurring all the overhead."
This discussion has been archived. No new comments can be posted.

Digg Says Yes To NoSQL Cassandra DB, Bye To MySQL

Comments Filter:
  • Away from LAMP? (Score:3, Insightful)

    by Anonymous Coward on Friday March 12, 2010 @09:58PM (#31460780)

    Or away from MySQL? There is a difference.

  • by heathm (174421) on Friday March 12, 2010 @10:04PM (#31460846) Homepage

    This sad thing is that Monty's MySQL fan boys will blame this on Oracle when in reality the move to Cassandra (or other NoSQL databases) is what a lot of web sites should be doing regardless of who holds the MySQL reins.

  • by Anonymous Coward on Friday March 12, 2010 @10:04PM (#31460848)

    its already multi-dimensional. you have a record, it has keys in it, the values can be objects. that's three or more dimensions there depending on how complicated the objects are.

  • Re:Good for them (Score:4, Insightful)

    by Bill, Shooter of Bul (629286) on Friday March 12, 2010 @10:14PM (#31460924) Journal
    100% of hosting companies do not have twitter, facebook, reddit, or digg as their clients. Its a different market. Mysql does have a competitor in this space called PostgreSQL. Its pretty good. Pretty much every hosting company I would consider doing business with also offers it. But again, PostgreSQL wouldn't have saved the day for these companies, they've reached a different sector of the market due to their enormous scale.
  • by Anonymous Coward on Friday March 12, 2010 @10:28PM (#31461032)

    If you need a comparison chart... you don't need to switch.

    It's probably not necessary to change such a huge part of your architecture if it's not worth investing serious time investigating and benchmarking the alternatives.

  • by DigiShaman (671371) on Friday March 12, 2010 @10:31PM (#31461058) Homepage

    I used to think that also applied to Slashdot. But no, I've learned a lot both directly and indirectly over the many years (ten years, wow). Even if most of it is crap, the debates and discussions are still quality entries worth keeping.

  • by QuoteMstr (55051) <dan.colascione@gmail.com> on Friday March 12, 2010 @10:39PM (#31461136)

    These slides [pgexperts.com] present a balanced and comprehensive overview of the current state of free databases. Whether you're in the NoSQL camp or not, they're worth reading.

    That said, here's my take:

    It's currently fashionable to replace MySQL with some "NoSQL" database or other. This trend is driven by two factors:

    • MySQL's community is fragmenting into several forks as Oracle purchases the rights, which created the impression that MySQL's development is entering a riskier, unstable period.
    • "NoSQL" is the technology buzzword du jour in the Bay Area. It's difficult to overstate the impact of social forces on technology choice: most technology selections are governed more by what our friends say than by an impartial and disinterested weighing of merits.

    I haven't seen any consideration from potential "NoSQL" adopters of the benefits of using a good relational database like PostgreSQL. There's a world of difference between it and MySQL, and condemning all relational database systems because of bad experiences with MySQL is like condemning all sandwiches because McDonalds once made you sick. In giving up RDBMSes entirely, these developers lose quite a bit of safety, flexibility, an convenience. It's a huge over-reaction.

    This field should not be about following trends, though unfortunately, that's how most people choose which technologies to use: it should be about choosing the best tool for the job. And I believe that in the vast majority of cases, the advantages conferred by a relational system --- enforced integrity, interoperability based on SQL, query flexibility, storage flexibility --- make an RDBMs the best choice for almost any job. If you need sloppier semantics for some cases (for example, "eventual consistency"), you can layer that on top of a robust RDBMs.

  • by larry bagina (561269) on Friday March 12, 2010 @10:40PM (#31461146) Journal
    you should probably look at what queries you're running and what the planner/optimizer is doing with them to verify the problem is mysql and not your schema and indexes.
  • by OnlyJedi (709288) on Friday March 12, 2010 @10:46PM (#31461178) Homepage

    According to various internet sources (so take with a grain of salt):
    Mark Zuckerberg's net worth [wikipedia.org]: $2 billion. Made entirely from Facebook.
    Twitter's net worth [venturebeat.com]: $589 million.
    Digg's net worth [websiteoutlook.com]: $24.34 million.

    Even if each individual datum is nearly worthless, the combined value is far from it. Do you think any of those companies would still be worth what they are if they're databases were irretrievably wiped?

  • Re:Wow... (Score:3, Insightful)

    by M. Baranczak (726671) on Friday March 12, 2010 @10:54PM (#31461242)

    If you're trying to run a site on a $15/month hosting account, then no, this is probably not for you. But if you're at the stage where MySQL isn't able to handle all the data you're throwing at it, then chances are you won't care about the extra few MB of memory that the Java runtime requires.

  • by plover (150551) * on Friday March 12, 2010 @11:15PM (#31461370) Homepage Journal

    Worthless?

    That data reflects our culture!

    Nobody said it couldn't be both at the same time.

  • by seanadams.com (463190) * on Friday March 12, 2010 @11:24PM (#31461430) Homepage

    Are you seriously arguing that unless the first derivative of one's salary is positive, there's no incentive to work?

    No, I did not say that one's salary needs to be monotonically increasing. That is not the point at all. And did you really have to turn this into a calculus problem?

    To state it differently, many entrepreneurs are willing to work temporarily for little or even nothing, and to make great sacrifices such as giving up health benefits, vacations, and normal family/social life... things most 9-5 workers would never consider. Being someone's bitch for $1M/yr (or to be pedantic let's say $1M/yr + 5%/yr^2) may sound like a splendid deal to you but there are others who would work much harder for sweat equity in their own venture.

    These people exist even if you can't fathom it. I'm one of them.

  • "NoSQL"? (Score:5, Insightful)

    by Stan Vassilev (939229) on Friday March 12, 2010 @11:27PM (#31461446)

    Am I the only one who frowns at this moniker?

    First, it creates a false premise where people need to pick "SQL" versus "no SQL", while many real-world systems intelligently combine relational and non-relational data storage for their needs. There is no conflict.

    Second, there's nothing wrong with SQL as a language in particular, and in fact many of the "noSQL" engines are starting to support and extending basic SQL queries, instead of reinventing their own query language for the same purpose.

    I suppose "lessRDBMSabuse" was less catchy...

  • Re:Wow... (Score:4, Insightful)

    by QuoteMstr (55051) <dan.colascione@gmail.com> on Friday March 12, 2010 @11:38PM (#31461486)

    Bullshit. Languages don't scale: programs do.

    Writing a program in Java makes is scalable in the same way that painting a car red makes it fast. The JVM is quite good these days, but don't make up advantages that don't exist.

  • Re:Wow... (Score:1, Insightful)

    by Anonymous Coward on Friday March 12, 2010 @11:53PM (#31461564)

    Java the language isn't scalable on it's own.. there's no magic scaling technology built into the jvm.. but the general Java "culture" tends to (in my opinion) achieve at least medium scalability.

    When judging a language, you _have_ to look at the culture around it. These days nothing is 100% custom build.. a sizable project is going to import a wide variety of 3'rd party libraries. The general attitude of the community is going to determine how suitable these libraries are for whatever scale you will be using them at.

    Same as how languages like perl on their own don't produce unmaintainable code.. it's the perl "write once, read never" culture that leads to so much unreadable code.

  • Re:Why? (Score:2, Insightful)

    by mysidia (191772) on Saturday March 13, 2010 @12:09AM (#31461650)

    A bad policy when dealing with your data.

    Once it's broke, it is way too late.

    You can't un-LOSE the past 6 hours of transactions or table referential integrity that MySQL trashed, due to an unclean shutdown.

    MySQL's great until it comes up to bite you in the arse.

  • by Bill, Shooter of Bul (629286) on Saturday March 13, 2010 @12:14AM (#31461688) Journal
    Note: Facebook, twitter, digg: they aren't moving to postgreSQL. Its not better enough to make any kind of difference for that kind of a scale. They don't need features, they need speed.
  • by QuoteMstr (55051) <dan.colascione@gmail.com> on Saturday March 13, 2010 @12:20AM (#31461720)

    First of all, if he's asking Slashdot for advice (which is barely a step above reading tea leaves [which itself is a step above asking 4chan]), he doesn't need Facebook-level scalability.

    Second, you're confusing scalability and performance. Scalable solutions tend to actually be slower than non-scalable ones: the difference is that a scalable system increases in capacity linearly with the number of machines you throw at it ("horizontal" scalability), whereas a fast non-scalable system generally needs the same number of faster, individual machines to increase capacity ("vertical" scaling).

    Third, PostgreSQL has excellent performance, and PostgreSQL does, in fact, scale horizontally [postgresql.org].

  • by Anonymous Coward on Saturday March 13, 2010 @12:40AM (#31461826)

    If you need a chart to help you pick the best database for your site God help you. Either hire a DBA or just stick with LAMP.

  • by Anonymous Coward on Saturday March 13, 2010 @01:59AM (#31462184)

    seanadams, you are a blathering idiot who knows he's lost the argument but doesn't have the maturity to accept it. QtrMstr has patiently, and repeatedly, made his point in very clear terms (I for one, had no trouble understanding him). And you've responded with the equivalent of clapping your hands to your ears and singing "naa-na-na-na-na". I've already spent all the moderation points I had in modding you down. Posting this as anonymous because I can't imagine how your moronic and immature babblings have gotten whatever points they did get.

  • by kmike (31752) on Saturday March 13, 2010 @02:10AM (#31462230)

    As several MySQL experts already noted, Digg isn't even using the indexes that provide maximum performance in the query that they present as problematic for MySQL:
    http://mysqlha.blogspot.com/2010/03/index-only.html [blogspot.com]
    http://www.yafla.com/dforbes/Getting_Real_about_NoSQL_and_the_SQL_Performance_Lie/ [yafla.com]

    So you are right about the NoSQL fashion trend. Looks like for some companies it's easier to throw a pile of cheap commodity hardware driven by some NoSQL BigTable-wannabie at the problem instead of carefully optimizing queries and indexes for the best performance.

  • by jrumney (197329) on Saturday March 13, 2010 @02:20AM (#31462268) Homepage

    I haven't seen any consideration from potential "NoSQL" adopters of the benefits of using a good relational database like PostgreSQL.

    The adopters of NoSQL deal with huge volumes of worthless information. They don't care about transactional integrity as much as they care about performance, which is why they chose MySQL over a good relational database in the first place.

  • Re:Wow... (Score:4, Insightful)

    by Billly Gates (198444) on Saturday March 13, 2010 @02:25AM (#31462290) Journal

    Java is a whole platform that is scalable. Its not just about using identifiers and objects but using the vast API's. Some would Java is even an OS as it has its own I/O, threads, etc.

    I suppose you could write your own threading and processes code but most Java developers just use whats built into the api.

  • by PietjeJantje (917584) on Saturday March 13, 2010 @06:04AM (#31462992)
    You have to understand the slashdot memes. These are constructed around the state of technology over a decade ago. So, PHP is always bad, Javascript and Ajax are always bad, and when someone mentions MySQL, the karma whores come out to bash it and mention PostgreSQL. They don't need an argument, the authors and upvoters are operating in old-man auto-bot mode. Like I said, it typically involves notions which were fixed years ago if they did exist to begin with. These are elitist-wannabees, using simple rules of engagement, to show you how smart they are. Similar to grammar nazi. It is actually a quite lower-class thing to do. As Hannibal Lecter would say, you have to wonder if they still hear the lambs screaming.
  • by wshs (602011) on Saturday March 13, 2010 @02:59PM (#31466078)

    Putting a proxy between the client and the server to handle the replication does not make Postgre horizontally scalable. Nor does doing a periodic table dump and copying it to the other machines. Postgre might be a ton more efficient than MySQL, but it is in no way scalable.

It appears that PL/I (and its dialects) is, or will be, the most widely used higher level language for systems programming. -- J. Sammet

Working...