/dbtest

project files to test different database:RDB, KV-DB, graph-DB, triple-DB

Primary LanguagePython

Database Query Test

Comprehensive database query test, with a focus on linked data and complex query.

Subjectives

RDB

  1. MySQL
  2. PostgreSQL
  3. Sqlite

KV-DB

  1. Redis
  2. Memcached
  3. leveldb
  4. Berkeley DB

DOC-DB

  1. MongoDB

graph-DB

  1. Neo4j
  2. OrientDB

triple-DB

  1. TDB
  2. Sesame

Test Cases

Case 1: KV Query

Query on a given key, for showing baseline performance. For DBMS, use SELECT on specified key, for Graph DB, use their own methods to access a specified node.

  • Sequential Reads
  • Random Reads
  • Sequential Writes
  • Random Writes

Dataset: kv-dataset-generator.py

Case 2: Linked Data Query

Query linked data, to find out the database support for relationships.

Dataset: linked-dataset-generator.py

Real World Data: Stanford Large Network Dataset Collection

Case 3: Path finding

Query graph connectivity.

Dataset: graph-dataset-generator.py

Case 4: Pattern Matching

Query sub-graph.

Dataset: graph-dataset-generator.py

Results

kv-query-yyyy-mm-dd-.csv ...

References

  1. Benchmarking Top NoSQL Databases, link
  2. Scalable SQL and NoSQL data stores, link
  3. Performance of graph query languages: comparison of cypher, gremlin and native access in Neo4j, link
  4. Survey of graph database performance on the HPC scalable graph analysis benchmark, link
  5. Survey of graph database models, link
  6. Graph Database Indexing Using Structured Graph Decomposition, link
  7. A comparison of a graph database and a relational database: a data provenance perspective, link
  8. Freebase: a collaboratively created graph database for structuring human knowledge, link
  9. Fast and practical indexing and querying of very large graphs, link ...