key-valueurl-shortenercolumn-orienteddocument-orientednosql

Which NoSQL database should I use for a URL shortener?


I'm working on a project for uni, that is building a URL shortener. I've studied the different types of NoSQL databases, but I can't figure out which is better for my purpose and why.

I can choose between a key/value db, document-oriented, column-oriented or graph. I'm sure the graph one is not good for my goal.

Do you have any suggestions please?


Solution

  • For a URL shortener, you'll not need a document store --- the data is too simple.

    You'll not need a column store --- columns are for sorting and searching multiple attributes, like finding all Wongs in Hong Kong.

    You'll not need a graph DB --- there's no graph.

    You want a key/value DB. Some that you'll want to look at are the old standard MemCache, Redis, Aerospike, DynamoDB in EC2.

    An example of a URL shortener, written in Node, for AerospikeDB, can be found in this github repo - it's just a single file - and the technique can be applied to other key-value systems. https://github.com/aerospike/url-shortener-nodejs