Skip to main content

ChronoGraph: A Versioned TinkerPop Graph Database

  • Conference paper
  • First Online:

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 814))

Abstract

Database content versioning is an established concept in modern SQL databases, which also became part of the SQL standard in 2011. It is used in business applications to support features such as traceability of changes, auditing, historical data analysis and trend analysis. However, versioning capabilities have barely been considered outside of the relational context so far. In particular in the emerging graph technologies, these aspects are being neglected by database vendors. This paper presents ChronoGraph (This work was partially funded by the research project “txtureSA” (FWF-Project P 29022).), the first full-featured TinkerPop-compliant graph database that provides support for transparent system-time content versioning and analysis. This paper offers two key contributions: We present the concepts and architecture of ChronoGraph as a new addition to the state of the art in graph databases, and we also provide our implementation as an open-source project. In order to demonstrate the feasibility of our proposed solution, we compare it with existing, non-versioned graph databases in a controlled experiment.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://neo4j.com/.

  2. 2.

    http://titan.thinkaurelius.com/.

  3. 3.

    http://orientdb.com/.

  4. 4.

    https://tinkerpop.apache.org/.

  5. 5.

    http://tinyurl.com/chronograph-github.

  6. 6.

    http://tinyurl.com/chronodb-github.

  7. 7.

    All circles in Fig. 4 represent serialized vertex records or edge records.

  8. 8.

    We do not support multi-valued properties directly as intended by TinkerPop. However, we do support regular properties of List or Set types.

  9. 9.

    The Graph Computer is the entry point to the Online Analytics Processing (OLAP) API. Support for this feature may be added in future versions of ChronoGraph.

  10. 10.

    Transaction support is an optional feature in TinkerPop 3.

  11. 11.

    Vertices that have been deleted by transaction t1 while being modified concurrently by transaction t2 do not disappear from the graph; they remain as Ghosts.

  12. 12.

    Half Edges refer to the situation where an edge is only traversable and visible in one direction, i.e. the out-vertex lists the edge as outgoing, but the in-vertex does not list it as incoming, or vice versa.

  13. 13.

    Basically Available, Soft State, Eventual Consistency.

  14. 14.

    https://www.w3.org/TR/sparql11-query/.

  15. 15.

    www.txture.io.

References

  1. Barbieri, D.F., Braga, D., Ceri, S., Valle, E.D., Grossniklaus, M.: C-SPARQL: a continuous query language for RDF data streams. Int. J. Seman. Comput. 4(1), 3–25 (2010)

    Article  Google Scholar 

  2. Becker, B., Gschwind, S., Ohler, T., Seeger, B., Widmayer, P.: An asymptotically optimal multiversion B-Tree. VLDB J. 5(4), 264–275 (1996)

    Article  Google Scholar 

  3. Castelltort, A., Laurent, A.: Representing history in graph-oriented NoSQL databases: a versioning system. In: Eighth International Conference on Digital Information Management (ICDIM 2013), Islamabad, Pakistan, 10–12 September 2013, pp. 228–234 (2013)

    Google Scholar 

  4. Ciglan, M., Averbuch, A., Hluchy, L.: Benchmarking traversal operations over graph databases. In: 2012 IEEE 28th International Conference on Data Engineering Workshops (ICDEW), pp. 186–189. IEEE (2012)

    Google Scholar 

  5. Easton, M.C.: Key-sequence data sets on indelible storage. IBM J. Res. Dev. 30(3), 230–241 (1986)

    Article  Google Scholar 

  6. Farwick, M., Trojer, T., Breu, M., Ginther, S., Kleinlercher, J., Doblander, A.: A case study on textual enterprise architecture modeling. In: 2013 17th IEEE International Enterprise Distributed Object Computing Conference Workshops (EDOCW), Vancouver, BC, pp. 305–309. IEEE (2013)

    Google Scholar 

  7. Felber, P., Pasin, M., et al.: On the support of versioning in distributed key-value stores. In: IEEE SRDS 2014, Nara, Japan, 6–9 October 2014, pp. 95–104 (2014)

    Google Scholar 

  8. Haeusler, M.: Scalable versioning for key-value stores. In: DATA 2016 - Proceedings of 5th International Conference on Data Management Technologies and Applications, Lisbon, Portugal, 24–26 July 2016, pp. 79–86 (2016)

    Google Scholar 

  9. Haeusler, M., Breu, R.: Sustainable management of versioned data. In: Proceedings of the 24th PhD Mini-Symposium. Budapest University of Technology and Economics (2017)

    Google Scholar 

  10. Haeusler, M., Nowakowski, E., Farwick, M., Breu, R., Kessler, J., Trojer, T.: ChronoGraph - versioning support for OLTP TinkerPop graphs. In: Proceedings of the 6th International Conference on Data Science, Technology and Applications - Volume 1: DATA, pp. 87–97. INSTICC, SciTePress (2017)

    Google Scholar 

  11. Han, W., Miao, Y., Li, K., Wu, M., Yang, F., Zhou, L., Prabhakaran, V., Chen, W., Chen, E.: Chronos: a graph engine for temporal graph analysis. In: Proceedings of the Ninth European Conference on Computer Systems, p. 1. ACM (2014)

    Google Scholar 

  12. Hart, M., Jesse, S.: Oracle Database 10G High Availability with RAC, Flashback & Data Guard, 1st edn. McGraw-Hill Inc., New York (2004)

    Google Scholar 

  13. ISO. SQL Standard 2011 (ISO/IEC 9075:2011) (2011)

    Google Scholar 

  14. Jensen, C.S., et al.: The consensus glossary of temporal database concepts — February 1998 version. In: Etzion, O., Jajodia, S., Sripada, S. (eds.) Temporal Databases: Research and Practice. LNCS, vol. 1399, pp. 367–405. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053710

    Chapter  Google Scholar 

  15. Lomet, D., Barga, R., Mokbel, M., Shegalov, G.: Transaction time support inside a database engine. In: Proceedings of the 22nd ICDE, p. 35, April 2006

    Google Scholar 

  16. Lomet, D., Hong, M., Nehme, R., Zhang, R.: Transaction time indexing with version compression. Proc. VLDB Endow. 1(1), 870–881 (2008)

    Article  Google Scholar 

  17. Lomet, D., Salzberg, B.: Access methods for multiversion data. SIGMOD Rec. 18(2), 315–324 (1989)

    Article  Google Scholar 

  18. McGregor, A.: Graph stream algorithms: a survey. SIGMOD Rec. 43(1), 9–20 (2014)

    Article  MathSciNet  Google Scholar 

  19. Nascimento, M.A., Dunham, M.H., Elmasri, R.: M-IVTT: an index for bitemporal databases. In: Wagner, R.R., Thoma, H. (eds.) DEXA 1996. LNCS, vol. 1134, pp. 779–790. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0034730

    Chapter  Google Scholar 

  20. Patiño Martínez, M., Sancho, D., Jiménez Peris, R., Brondino, I., Vianello, V., Dhamane, R.: Snapshot isolation for Neo4j. In: Advances in Database Technology (EDBT). OpenProceedings.org (2016)

    Google Scholar 

  21. Pigné, Y., Dutot, A., Guinand, F., Olivier, D.: GraphStream: a tool for bridging the gap between complex systems and dynamic graphs. In: Emergent Properties in Natural and Artificial Complex Systems. Satellite Conference within the 4th European Conference on Complex Systems (ECCS 2007), volume abs/0803.2 (2008)

    Google Scholar 

  22. Ramaswamy, S.: Efficient indexing for constraint and temporal databases. In: Afrati, F., Kolaitis, P. (eds.) ICDT 1997. LNCS, vol. 1186, pp. 419–431. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-62222-5_61

    Chapter  Google Scholar 

  23. Rodriguez, M.A., Neubauer, P.: The graph traversal pattern. In: Graph Data Management: Techniques and Applications, pp. 29–46 (2011)

    Google Scholar 

  24. Salzberg, B.: File Structures: An Analytic Approach. Prentice-Hall Inc., Upper Saddle River (1988)

    Google Scholar 

  25. Saracco, C., Nicola, M., Gandhi, L.: A matter of time: temporal data management in DB2 10. IBM developerWorks (2012)

    Google Scholar 

  26. Semertzidis, K., Pitoura, E.: Durable graph pattern queries on historical graphs. In: Proceedings of the IEEE ICDE (2016)

    Google Scholar 

  27. Semertzidis, K., Pitoura, E.: Time traveling in graphs using a graph database. In: Proceedings of the Workshops of the (EDBT/ICDT) (2016)

    Google Scholar 

  28. Snodgrass, R.T.: Temporal databases. Computer 19, 35–42 (1986)

    Article  Google Scholar 

  29. Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. Softw. Syst. Model. 13(1), 239–272 (2014)

    Article  Google Scholar 

  30. Tanase, I., Xia, Y., et al.: A highly efficient runtime and graph library for large scale graph analytics. In: Proceedings of Workshop on GRAph Data Management Experiences and Systems, GRADES 2014, pp. 10:1–10:6. ACM, New York (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Haeusler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Haeusler, M., Trojer, T., Kessler, J., Farwick, M., Nowakowski, E., Breu, R. (2018). ChronoGraph: A Versioned TinkerPop Graph Database. In: Filipe, J., Bernardino, J., Quix, C. (eds) Data Management Technologies and Applications. DATA 2017. Communications in Computer and Information Science, vol 814. Springer, Cham. https://doi.org/10.1007/978-3-319-94809-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-94809-6_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-94808-9

  • Online ISBN: 978-3-319-94809-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics