|
|
|
|
|
by indogooner
3174 days ago
|
|
I don't know what is your current knowledge/experience with NoSQL databases but I would suggest start with the well known Bigtable paper [1]. Post that instead of reading more papers have a look at AOSA chapter on NoSQL [2]. You can then either go through Bigtable paper again to improve understanding if you feel so or jump to Dynamo paper[3]. To develop your understanding further I think it would be good to go through documentation and source-code of some opens source databases. This would help you connect the usage scenarios with the design choices you saw in the papers. After this it is upto you. The papers involve references to lot of distributed systems literature. If you are interested you can go through resources here [4]. If you want to go a more hands-on way, I would also recommend reading AWS DynamoDB best practices (you can read up Cassandra or CouchDB also) documentation [5] to see the practical consideration while using these systems. Then try to use it or any other NoSQL database in a side project and see whether they are good fit. The data modelling would involve thinking hard about use-cases and would also help you compare this to relational systems. [1] https://static.googleusercontent.com/media/research.google.c...
[2] http://www.aosabook.org/en/nosql.html
[3] http://www.allthingsdistributed.com/files/amazon-dynamo-sosp...
[4] https://github.com/aphyr/distsys-class
[5] http://docs.aws.amazon.com/amazondynamodb/latest/developergu... |
|