12.07.2015 Views

October 2012 - Informatics

October 2012 - Informatics

October 2012 - Informatics

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Technology UpdateShardingAsynchronous replicationBASE instead of ACIDFLAVORS OF NOSQLToday’s open source NoSQL data stores fall into several different categoriesas follows:KEY VALUE STORESEnables populating a database usingkeys, such as “Joe” and associated valuessuch as his addressExamples: Tokyo Cabinet/Tyrant,Redis, Voldemort, Oracle BDBTypical applications: ContentcachingStrengths: Fast lookupsWeaknesses: Stored data has noschemaGRAPH DATABASESThis kind of database is designed fordata whose relations are well representedas a graph (elements interconnected withan undetermined number of relationsbetween them). The kind of data couldbe social relations, public transport links,road maps or network topologiesInstead of viewing the storage as a monolithic space,records are partitioned into shards. Usually, a shardis small enough to be managed by a single server,though shards are usually replicated. Sharding can beautomatic (e.g., an existing shard splits when it getstoo big), or applications can assist in data sharding byassigning each record a partition ID.Compared to RAID storage (mirroring and/or striping) or synchronous replication, NoSQLdatabases employ asynchronous replication. Thisallows writes to complete more quickly since theydon’t depend on extra network traffic. One sideeffect of this strategy is that data is not immediatelyreplicated and could be lost in certain windows. Also,locking is usually not available to protect all copies ofa specific unit of data.NoSQL databases emphasize performance andavailability. This requires prioritizing the componentsof the CAP theorem that tends to make true ACIDtransactions implausible. BASE (Basically Available,Soft state, Eventual consistency) means that givena sufficiently long period of time over which nochanges are sent, all updates can be expected topropagate eventually through the system and all thereplicas will be consistentExamples: Neo4J, InfoGrid, InfiniteGraphTypical applications: Socialnetworking, RecommendationsStrengths: Graph algorithms e.g.shortest path, connectedness, ndegree relationships, etc.Weaknesses: Has to traverse theentire graph to achieve a definitiveanswer. Not easy to cluster.TABULAR STORESSimilar to a relational system, designedto hold data in a spreadsheet-like formatwhere entries can be searched andretrievedExamples: Cassandra, HBase, RiakTypical applications: Distributed filesystemsStrengths: Fast lookups, gooddistributed storage of dataWeaknesses: Very low-level APIDOCUMENT DATABASESSimilar to a content managementsystem, designed to store documents andindex the documents for quick accessExamples: CouchDB, MongoDbTypical applications: WebapplicationsStrengths: Tolerant of incompletedataWeaknesses: Query performance, nostandard query syntaxXML DATABASESSpecifically for XML content, using aquery language for XML documents,such as XqueryExamples: Exist, Oracle, MarkLogicTypical applications: PublishingStrengths: Mature searchtechnologies, Schema validationWeaknesses: No real binary solution,easier to re-write documents thanupdate themOBJECT STORESDesigned specifically to store andretrieve objects based on their associatedmetadataExamples: Oracle Coherence, db4o,ObjectStore, GemStone, PolarTypical applications: FinancesystemsStrengths: Matches OOdevelopment paradigm, low-latencyACID, mature technologyWeaknesses: Limited querying orbatch-update optionsADVANTAGES OF NOSQLDATABASESl Supports BigDatal Elastic scalingl Fast key-value accessl Schema migration withoutdowntimel Easier maintainability,administration and operations ofDatabasel No single point of failure<strong>October</strong> <strong>2012</strong> | informatics.nic.in | 31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!