NoSQL
Bachelor seminar on NotonlySQL databases
In a nutshell
- get to know a specific NoSQL system
- in theory and
- in practice
- learn about and perform database benchmarking (using the Yahoo! Cloud Serving Benchmark)
- evaluate system in a Cloud environment (Amazon EC2, $100 per student)
- maximum number of students: 6
- requirements: DBS I and DBS II
Organizational information
- contact: Johannes Lorey
- Monday, 11:00 - 12:30 (exceptions will be announced)
- room A-1.1
- Wiki (internal)
- SVN (internal)
- Schedule and Material
Theoretical part
- choose a specific NoSQL system and gather information about it (see below; you can also suggest another system - just send me an email with a link to it)
- describe the architecture and implementation of the system
- discuss differences between the system and traditional relational databases
- discuss differences between the system and other NoSQL databases
- elaborate on ACID compliancy
- list sample applications
- discuss scalability
Hands-on part
- download and install the NoSQL database
- download the Yahoo! Cloud Serving Benchmark (YCSB)
- add a connector to the YCSB for the database system
- extend com.yahoo.ycsb.DB
- implement read, scan, insert, update, delete methods
- benchmark the NoSQL system
- we will use virtual machines on Amazon EC2 for this
Grading process
- 3 LP
- preliminary and final presentation
- implementation and benchmarking of YCSB extension
- 8-10 pages of documentation (incl. benchmarking results) as PDF file
Schedule and Materials
| Date | Event | Slides |
|---|---|---|
| 11.04.11 |
| |
| 15.04.11, 23:59 CEST |
| n.a. |
| 17.04.11, 20:00 CEST |
| n.a. |
| 18.04.11 |
| |
| 25.04.11 |
| n.a. |
| 02.05.11 |
| |
| 09.05.11 |
| n.a. |
| 16.05.11 |
| n.a. |
| 23.05.11 |
| |
| 30.05.11 |
| n.a. |
| 06.06.11 |
| |
| 13.06.11 |
| n.a. |
| 20.06.11 |
| n.a. |
| 27.06.11 |
| |
| 04.07.11 |
| |
| 11.07.11 |
| n.a. |
| 18.07.11 |
| |
| 12.08.11, 23:59 CEST |
|
NoSQL systems
- (Apache Cassandra)
- Cassandra: a decentralized structured storage system
- Cassandra: Principles and Application
- (Apache HBase)
- Tokyo/Kyoto Cabinet
- Amazon SimpleDB
- Redis
- Redis, from the Ground Up
- At the forge: Redis
- riak
- riak - Control your data, don't let it control you.
- riak Core: building distributed applications without shared state
- CouchDB
- Beginning CouchDB
- At the forge: CouchDB
- Terrastore
- (MongoDB)
- The Definitive Guide to MongoDB
- Scaling MongoDB
- neo4j
- Analyzing and adapting graph algorithms for large persistent graphs
- A Comparison of a Graph Database and a Relational Database
- OrientDB
- OrientDB - The database for the Web
- OrientDB - A NoSQL Database for the Internet Age
- HyperGraphDB
- InfoGrid
- The InfoGrid Graph Database
- Model-Driven Development of Semantic Mashup Applications with the Open-Source InfoGrid Internet Graph Database
* Note that systems enclosed in parentheses will probably not be covered as YCSB connectors to these systems already exist, thereby significantly reducing the effort necessary in the context of this seminar.
Related literature in our group library
- Edlich, Friedland, Hampe, Brauer: NoSQL - Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken, Hanser Fachbuchverlag, 2010.
- Chodorow, Dirolf: MongoDB - The Definitive Guide, O'Reilly, 2010.
- Anderson, Lehnardt, Slater: CouchDB - The Definitive Guide, O'Reilly, 2010.
check our group library site for rental status