Slashdot Mirror


The NoSQL Ecosystem

abartels writes 'Unprecedented data volumes are driving businesses to look at alternatives to the traditional relational database technology that has served us well for over thirty years. Collectively, these alternatives have become known as NoSQL databases. The fundamental problem is that relational databases cannot handle many modern workloads. There are three specific problem areas: scaling out to data sets like Digg's (3 TB for green badges) or Facebook's (50 TB for inbox search) or eBay's (2 PB overall); per-server performance; and rigid schema design.'

4 of 381 comments (clear)

  1. NoSQL? That'd Be DL/I, Right? by BBCWatcher · · Score: 4, Informative

    I think I've heard of non-relational databases before. There's a particularly famous one, in fact. What could it be? Let's see: first started shipping in 1969, now in its eleventh major version, JDBC and ODBC access, full XML support in and out, available with an optional paired transaction manager, extremely high performance, and holds a very large chunk of the world's financial information (among other things). It also ranks up there with Microsoft Windows as among the world's all-time highest grossing software products.

    ....You bet non-relational is still highly relevant and useful in many different roles. Different tools for different jobs and all.

  2. Re:And I am missing it greatly on Linux by Errol+backfiring · · Score: 4, Informative

    I did profile my code. It is not my gut feeling, but my experience.

    --
    Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
  3. Re:hmm by larry+bagina · · Score: 3, Informative

    create post insert, update, and delete triggers which file the data (as well as the action, timestamp, and user) into an audit table.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  4. Re:Vendor Hype Orange Alert (Re:hmm) by Just+Some+Guy · · Score: 4, Informative

    A lot of times people who don't know about joins do the basic join of select x.a y.b from x, y where x.c = y.c Not realizing that Most SQL engines will take all the records of x and cross them with y so you will have x.records*y.records Loaded in your system, the it goes and removes the matches. So O(n^2) in performance, Vs. If you do a Select x.a, y.b from x left join y on x.c

    Dude. That is so unbelievably wrong. First, implicit (comma) joins are inner, not left: your results will differ from the original query. Second, please name one popular database released in the last 3 years that implements inner joins with predicates in the way you describe. I can't speak for the others, but PostgreSQL sure as hell doesn't:

    => select count(1) from invoice;
    select c count
    ---------
    1241342

    => select count(1) from ship;
    count
    --------
    664708

    => select invoice.invid from invoice, ship where invoice.shipid = ship.shipid and ship.name_delpt = 'redacted';
    invid
    ---------
    12345
    12346

    Each of those queries against our live production database ran in under a second (and I only edited the input and output of the final query). PostgreSQL may be quick, but I promise you it didn't have time or RAM to create 825,129,958,136 tuples and then winnow out the non-matches. Maybe you're stuck on an ancient version of a DB that was crappy to start with, but the rest of us don't put up with the same insanities you describe.

    --
    Dewey, what part of this looks like authorities should be involved?