NoSQL Big Picture

Cloud
    Microsoft
        Azure Tables
        Hadoop on Azure/HBase
    Amazon
        SimpleDB
        DynamoDB
        Elastic MapReduce
    DB-specific NoSQL Hoster
        E.g,MongoHQ for MongoDB
        CouchDB Cloudant
    DIY on infrastructure as a Service(IaaS)

NoSQL Product Categories
    Key-Value Stores
        e.g,Name:"Andrew"
        schema-free (every record can have different keys)
        Most common,basis for other three
            riak
            redis
            windows Azure table storage
            amazon web Service simpledb/DynamoDB
            dynomite

    Document Stores
        Everything's in a document,including other documents
        Schema-free
            CouchDB
            MongoDB

    Wide Column Stores
        Know the groups of columns,but not columns themselves
        Semi-schematic
            apache HBase
            apache cassandra

    Graph Databases
        Relationship-focused
            Neo4j
NoSQL Do's and Don'ts
    Performance
        For certain types of queries,performance on NoSQL databases ca be unacceptably slow
        For Line of Business application loads,relational databases will be just as fast and far more robust/reliable
        But if you ave just a few bits of information to fetch and enormous traffic and concurrency,NoSQL may be best
    Appropriateness(合适)
        Using relational databases for the following may be imprudent:(不明知)
        Configuration data
        Environment data,setting,etc
        Log file,event data
    Using NoSQL for these would be extreme:
        Stock trades
        Accounting debits and credits
        Credit card transactions
    Don't be a partisan(偏执):use the right tool for the job

NoSQL +BI(busyness intelligence)

    NoSQL databases are not designed for query and data warehousing
    BI applications involve models:models rely on schema
    Extract,transform and load(ETL) may by your friend
    Wide-column stores,however are good for 'Big Data'
   
    Wide-column stores and column-oriented databases are similar technologically

NoSQL + Big Data
   
    Big Data and NoSQL are interrelated
    Typically,Wide-column stores used in Big Data scenarios
    Prime example:
        HBase and Hadoop
    Why?
        Lack of indexing not a problem
        Consistency not an issue
        Fast read very important
        Distributed files systems important too
        Commodity hardware and disk assumptions also important
        Not Web scale but massive scale-out,so similar concerns

Summing Up

    Line of Business -> Relational
    Large,public(consumer) facing sites -> NoSQL

    Complex data structures -> Relational
    Big Data -> NoSQL

    Transactional -> Relational
    Content management -> NOSQL

    enterprise -> Relational
    Consumer Web -> NoSQL 

你可能感兴趣的:(NoSQL Big Picture)