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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
All circles in Fig. 4 represent serialized vertex records or edge records.
- 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.
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.
Transaction support is an optional feature in TinkerPop 3.
- 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.
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.
Basically Available, Soft State, Eventual Consistency.
- 14.
- 15.
References
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)
Becker, B., Gschwind, S., Ohler, T., Seeger, B., Widmayer, P.: An asymptotically optimal multiversion B-Tree. VLDB J. 5(4), 264–275 (1996)
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)
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)
Easton, M.C.: Key-sequence data sets on indelible storage. IBM J. Res. Dev. 30(3), 230–241 (1986)
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)
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)
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)
Haeusler, M., Breu, R.: Sustainable management of versioned data. In: Proceedings of the 24th PhD Mini-Symposium. Budapest University of Technology and Economics (2017)
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)
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)
Hart, M., Jesse, S.: Oracle Database 10G High Availability with RAC, Flashback & Data Guard, 1st edn. McGraw-Hill Inc., New York (2004)
ISO. SQL Standard 2011 (ISO/IEC 9075:2011) (2011)
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
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
Lomet, D., Hong, M., Nehme, R., Zhang, R.: Transaction time indexing with version compression. Proc. VLDB Endow. 1(1), 870–881 (2008)
Lomet, D., Salzberg, B.: Access methods for multiversion data. SIGMOD Rec. 18(2), 315–324 (1989)
McGregor, A.: Graph stream algorithms: a survey. SIGMOD Rec. 43(1), 9–20 (2014)
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
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)
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)
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
Rodriguez, M.A., Neubauer, P.: The graph traversal pattern. In: Graph Data Management: Techniques and Applications, pp. 29–46 (2011)
Salzberg, B.: File Structures: An Analytic Approach. Prentice-Hall Inc., Upper Saddle River (1988)
Saracco, C., Nicola, M., Gandhi, L.: A matter of time: temporal data management in DB2 10. IBM developerWorks (2012)
Semertzidis, K., Pitoura, E.: Durable graph pattern queries on historical graphs. In: Proceedings of the IEEE ICDE (2016)
Semertzidis, K., Pitoura, E.: Time traveling in graphs using a graph database. In: Proceedings of the Workshops of the (EDBT/ICDT) (2016)
Snodgrass, R.T.: Temporal databases. Computer 19, 35–42 (1986)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
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)