120 likes | 240 Views
Alterative DBs. Data management in a post transaction-management world. Easy to understand and use Solid formal underpinnings Fast Serves a broad class of application domains Scales in volume. What’s good with RDBMs?.
E N D
Alterative DBs Data management in a post transaction-management world
Easy to understand and use • Solid formal underpinnings • Fast • Serves a broad class of application domains • Scales in volume What’s good with RDBMs?
Not good for highly varying workload demands – unstable scalability demands • Inability to scale across many nodes • Inability to search for widely dispersed objects in an extremely large volume environment Not so good issues…
Large scale distribution • Scalability across many servers • No need for a global, unified schema • Soft ACID controls • Eventually consistent, soft integrity, durably on at least one node, atomic when necessary • Supports wide area replication General goals for alternative dbms
Move from a small number of nodes all unifying to a single global state to a large set of shared states • Many overlapping states with numerous, varying combinations • Web servers can choose their desired combination • Finding objects quickly from within a huge db is more important than finding sets of related objects Architectural change in requirements
No notion of tables • Objects are accessed via a key map • Widely distributed storage Amazon’s Dynamo
Uses thousands of servers with massive amounts of data • Used for web indexing and Google Earth • Each row has a key, a column key, and a timestamp • Each value in a row is an array of bytes Google’s Bigtable
Row:string, column:string, time:integer value(string) • Example: web page storage • The row name is a reversed URL so that subpages are co-located • The “contents” column contains the contents of the page • Multiple “anchor” columns contain text of anchors that reference the page • The contents column can have 3 time-stamped versions Bigtable…
Decentralized • No centralized schema • Three operations • Insert – (table, key, row) • Get – (table, key, column name) • Delete – (table, key, column name) Cassandra
Focuses on documents • Supports embedded documents (minimal joins) • High performance • Streaming writes that are not acknowledged • Replication for high availability • Data can be automatically partitioned and distributed • No schemas • Query language – create, read, update, delete (CRUD) MongoDB
Multimedia • Extreme volume • Broadly shared • Versioned • Mined, not searched • Limited security needs Future…