Evaluation of a suitable database for an
online-inventory-lending
platform

Wendelin Peleska

Online

platform

sharekules

Inventory for physical items

sharekules

Share items with friends

sharekules

Which database for sharekules?

Requirements

  • Free and Open Source
  • JSON support
  • Possibility for a flexible data schema

Databases

PostgreSQL

MongoDB

Neo4j

Implementation

NodeJS

21 Db Methods

21 Db Methods

21 Db Methods

Interface

Backend

Generate test scenarios

NodeJS
generator

script

JSON

  • Random realistic data
  • Random realistic scenarios

Test scenario

  1. Register users (2 - 20 times)
  2. Create friendships between users
  3. Create items
  4. Get all items
  5. Borrow items
  6. Return items

Run penetrations tests

NodeJS
scenario

runner

JSON

  • Run scenarios parallel
  • Count max. scenarios

Run performance tests

NodeJS
scenario

runner

JSON

  • Run 1 / 10 / 21 scenarios parallel
  • Measure time duration

Results

Number of maximum parallel scenarios

Results

Time to run 21 scenarios 

Results

PostgreSQL

MongoDB

Neo4j

1.

2.

3.

Thank

you

Media sources

  • PostgreSQL logo
    • https://de.wikipedia.org/wiki/PostgreSQL
  • MongoDB logo ​Neo4j logo
    • https://digdata.io/
    • ​https://neo4j.com/
  • ​Database icon
    • http://www.free-icons-download.net/database-icon-61942/
  • Graduation hat
    • https://de.wikipedia.org/wiki/Datei:Graduation_hat.svg
Made with Slides.com