RDBMS systems can scale vertically by dividing functionality and horizontally by dividing data, but face challenges to scalability from queries, integrity constraints, and consistency guarantees. Other data stores like BigTable, Dynamo, and Cassandra sacrifice consistency for availability and partition tolerance, following a BASE model of eventual consistency rather than ACID. They use different data models like key-value pairs and row-column structures and programming models to achieve horizontal scalability. The best choice depends on factors like the nature of the business and costs.
1 of 22
Downloaded 94 times
More Related Content
Scalability: Rdbms Vs Other Data Stores
1. RDBMS vs. Other Data Stores forScalabilityramki.g@directi.comTechTalk 2009, IIIT Hyderabad
2. ScalabilityIncrease Resources Increase Performance (Linearly)Performance?Latency, Capacity, ThroughputVertical Scalability (Scaling Up)Divide the functionalityHorizontal Scalability (Scaling Out)Divide the data
6. Transactions: AtomicityTransaction LevelEntire Logical operations is a transactionMultiple statementsStatement levelEach statement is either successful or not, no partial successMultiple recordsRecord LevelAll modifications to a record are successful or not
8. Transactions: Isolation LevelsSerializableA definite order of mutations/transactions is possible to arrive to state B from state ARepeatable ReadAny data read by a transaction will remain so till transaction is completeNon Repeatable Read aka Read CommittedTwo reads within a transaction may give different resultsDirty ReadA transaction might read data which might then be rolledback
12. CAP?Conjecture: Distributed systems cannot ensure all three of the following properties at onceConsistency The client perceives that a set of operations has occurred all at once.Availability Every operation must terminate in an intended response.Partition tolerance Operations will complete, even if individual components are unavailable.
13. ACID to BASEBasically Available - system seems to work all the timeSoft State - it doesn't have to be consistent all the timeEventually Consistent - becomes consistent at some later time
14. BASE: An ExampleBEGIN TransactionINSERT INTO ORDER( oid, timestamp, customer)FOREACH item IN itemList INSERT INTO ORDER_ITEM ( oid, item.id, item.quantity, item.unitprice) //UPDATE INVENTORY SET quantity=quantity- item.quantityWHERE item = item.idCOMMITEND TransactionAssume Each statement is queued for execution You will get COMMIT success
15. Alternate ImplementationsBigTable Google CPHbase Apache CP HyperTable Community - CPDynamo Amazon APSimpleDB Amazon - APVoldemort LinkedIn APCassandra Facebook APMemcacheDB - community CP/AP
17. Programming Models// Open the tableTable *T = OpenOrDie("/bigtable/web/webtable");// Write a new anchor and delete an old anchorRowMutation r1(T, "com.cnn.www");r1.Set("anchor:www.c-span.org", "CNN");r1.Delete("anchor:www.abc.com");Operation op;Apply(&op, &r1);