Factors influencing the database selection for B2C web applications.
Exploring NoSQL data modeling and expressiveness of query options.
Abstract
TBD
Activities
- Literature review – NoSql databases
- Exploring and documenting different types of NoSQL databases (DBs) including key-value, document-based, column-based, and graph-based data stores.
- A detailed classification of NoSQL DB systems within different categories and sub-categories.
- Documentation of benefits, features (including different query options), and shortcomings of these DBs. (Get feedback from DB chair)
2. Use-case scenario identification
- Identify concrete (but generic) use-case scenarios in the context of web applications for its implementation using different DBs.
- Initial thoughts – e-commerce; CRM; EAM-KPI catalog; SEBA master projects; common use-cases used by most of the DB systems;
- Capture requirements based on the usage scenarios for e.g. modelling graphs, analyzing text, etc.
3. Identify key constructs
- Primary key; Composite keys; Data types; Modeling 1:n, m:n relations; Joins; Normalization; Aggregation; Schema evolution; CRUD operations; Text search: Full text; regex; Indexing; Parameterized queries; Filters; Row and cell-level security; Transaction support; Social network operations; Scaling – sharding; Replication; ORM support …
4. Implementation
- For the identified use-case, demonstrate the implementation (source code) of the key constructs using different DBs.
|
Document-based |
Key-value |
Graph |
CRUD |
|
|
|
Filters |
|
|
|
Full text search
|
|
|
|
Indexing
|
|
|
|
- For properties related to query performance – link to existing benchmark studies
5. Lessons learnt
- For each DB system, create a separate chapter (web-pages) and document
- schema definition
- implementation details
- from initial setup to execution of queries
- of the identified constructs
- challenges
- developer-friendliness,
- ease-of-implementation
- web application friendliness (data formats - json) …
Roadmap

Note
This Master thesis is in collaboration with the Database Systems chair (Prof. Dr. Thomas Neumann).
Requirements
- Basic knowledge related to NoSql databases
- Practical experience developing web applications (SEBA Master course, Web application practical)