Gecaj / FileUpload

App for storing files, tagging them with custom tags and searching them by these tags.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FileUpload

App for storing files, tagging them with custom tags and searching them by these tags.

Requirements:

Testing instructions:

Database choice:

I was thinking about using relational or non-relational database. Although I’ve never worked with non-relational databases I searched a little and decided that using Document NoSQL database would be a good choice for solving this problem. Performance of querying data in SQL databases is slower than in NoSQL databases, because Data in relational databases is typically normalized, so queries for a single object or entity requires joining data from multiple tables. Regarding this task - storing Files with Tags in relational database would require many-to-many relationship and querying such data would require traversing across lot of rows – number of files multiplied by number of tags for each and then looping through tags contained in IN and NOT IN clauses. Document database like MongoDB on the other hand can store this tag data in single column and perform optimized text queries which searches text for occurrences of some words or restricts to not contain occurrence of other words.

About

App for storing files, tagging them with custom tags and searching them by these tags.


Languages

Language:Java 100.0%