Graph Databases NEW OPPORTUNITIES for CONNECTED DATA

Total Page:16

File Type:pdf, Size:1020Kb

Graph Databases NEW OPPORTUNITIES for CONNECTED DATA 2nd Edition Compliments of Ian Robinson, Graph Jim Webber & Emil Eifrem Databases NEW OPPORTUNITIES FOR CONNECTED DATA Download now at: bit.ly/dl-neo4j neo4j.com SECOND EDITION Graph Databases Ian Robinson, Jim Webber & Emil Eifrem Graph Databases by Ian Robinson, Jim Webber, and Emil Eifrem Copyright © 2015 Neo Technology, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safaribooksonline.com). For more information, contact our corporate/ institutional sales department: 800-998-9938 or [email protected]. Editor: Marie Beaugureau Interior Designer: David Futato Production Editor: Kristen Brown Cover Designer: Ellie Volckhausen Proofreader: Christina Edwards Illustrator: Rebecca Demarest Indexer: WordCo Indexing Services June 2013: First Edition June 2015: Second Edition Revision History for the Second Edition 2015-05-04: First Release See http://oreilly.com/catalog/errata.csp?isbn=9781491930892 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Graph Databases, the cover image of an European octopus, and related trade dress are trademarks of O’Reilly Media, Inc. While the publisher and the authors have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the authors disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights. 978-1-491-93200-1 [LSI] Table of Contents Foreword. vii Preface. xi 1. Introduction. 1 What Is a Graph? 1 A High-Level View of the Graph Space 4 Graph Databases 5 Graph Compute Engines 7 The Power of Graph Databases 8 Performance 8 Flexibility 9 Agility 9 Summary 10 2. Options for Storing Connected Data. 11 Relational Databases Lack Relationships 11 NOSQL Databases Also Lack Relationships 15 Graph Databases Embrace Relationships 18 Summary 24 3. Data Modeling with Graphs. 25 Models and Goals 25 The Labeled Property Graph Model 26 Querying Graphs: An Introduction to Cypher 27 Cypher Philosophy 28 MATCH 30 RETURN 30 iii Other Cypher Clauses 31 A Comparison of Relational and Graph Modeling 32 Relational Modeling in a Systems Management Domain 33 Graph Modeling in a Systems Management Domain 38 Testing the Model 39 Cross-Domain Models 41 Creating the Shakespeare Graph 45 Beginning a Query 46 Declaring Information Patterns to Find 48 Constraining Matches 49 Processing Results 50 Query Chaining 51 Common Modeling Pitfalls 52 Email Provenance Problem Domain 52 A Sensible First Iteration? 52 Second Time’s the Charm 55 Evolving the Domain 58 Identifying Nodes and Relationships 63 Avoiding Anti-Patterns 63 Summary 64 4. Building a Graph Database Application. 65 Data Modeling 65 Describe the Model in Terms of the Application’s Needs 66 Nodes for Things, Relationships for Structure 67 Fine-Grained versus Generic Relationships 67 Model Facts as Nodes 68 Represent Complex Value Types as Nodes 71 Time 72 Iterative and Incremental Development 74 Application Architecture 76 Embedded versus Server 76 Clustering 81 Load Balancing 82 Testing 85 Test-Driven Data Model Development 85 Performance Testing 91 Capacity Planning 95 Optimization Criteria 95 Performance 96 Redundancy 98 Load 98 iv | Table of Contents Importing and Bulk Loading Data 99 Initial Import 99 Batch Import 100 Summary 104 5. Graphs in the Real World. 105 Why Organizations Choose Graph Databases 105 Common Use Cases 106 Social 106 Recommendations 107 Geo 108 Master Data Management 109 Network and Data Center Management 109 Authorization and Access Control (Communications) 110 Real-World Examples 111 Social Recommendations (Professional Social Network) 111 Authorization and Access Control 123 Geospatial and Logistics 132 Summary 147 6. Graph Database Internals. 149 Native Graph Processing 149 Native Graph Storage 152 Programmatic APIs 158 Kernel API 158 Core API 159 Traversal Framework 160 Nonfunctional Characteristics 162 Transactions 162 Recoverability 163 Availability 164 Scale 166 Summary 170 7. Predictive Analysis with Graph Theory. 171 Depth- and Breadth-First Search 171 Path-Finding with Dijkstra’s Algorithm 173 The A* Algorithm 181 Graph Theory and Predictive Modeling 182 Triadic Closures 182 Structural Balance 184 Local Bridges 188 Table of Contents | v Summary 190 A. NOSQL Overview. 193 Index. 211 vi | Table of Contents Foreword Graphs Are Everywhere, or the Birth of Graph Databases as We Know Them It was 1999 and everyone worked 23-hour days. At least it felt that way. It seemed like each day brought another story about a crazy idea that just got millions of dollars in funding. All our competitors had hundreds of engineers, and we were a 20-ish person development team. As if that was not enough, 10 of our engineers spent the majority of their time just fighting the relational database. It took us a while to figure out why. As we drilled deeper into the persistence layer of our enterprise content management application, we realized that our software was managing not just a lot of individual, isolated, and discrete data items, but also the connections between them. And while we could easily fit the discrete data in relational tables, the connected data was more challenging to store and tremendously slow to query. Out of pure desperation, my two Neo cofounders, Johan and Peter, and I started experimenting with other models for working with data, particularly those that were centered around graphs. We were blown away by the idea that it might be possible to replace the tabular SQL semantic with a graph-centric model that would be much easier for developers to work with when navigating connected data. We sensed that, armed with a graph data model, our development team might not waste half its time fighting the database. Surely, we said to ourselves, we can’t be unique here. Graph theory has been around for nearly 300 years and is well known for its wide applicability across a number of diverse mathematical problems. Surely, there must be databases out there that embrace graphs! vii Well, we AltaVistad1 around the young Web and couldn’t find any. After a few months of surveying, we (naively) set out to build, from scratch, a database that worked natively with graphs. Our vision was to keep all the proven features from the relational database (transactions, ACID, triggers, etc.) but use a data model for the 21st century. Project Neo was born, and with it graph databases as we know them today. The first decade of the new millennium has seen several world-changing new busi‐ nesses spring to life, including Google, Facebook, and Twitter. And there is a com‐ mon thread among them: they put connected data—graphs—at the center of their business. It’s 15 years later and graphs are everywhere. Facebook, for example, was founded on the idea that while there’s value in discrete information about people—their names, what they do, etc.—there’s even more value in the relationships between them. Facebook founder Mark Zuckerberg built an empire on the insight to capture these relationships in the social graph. Similarly, Google’s Larry Page and Sergey Brin figured out how to store and process not just discrete web documents, but how those web documents are connected. Goo‐ gle captured the web graph, and it made them arguably the most impactful company of the previous decade. Today, graphs have been successfully adopted outside the web giants. One of the big‐ gest logistics companies in the world uses a graph database in real time to route phys‐ ical parcels; a major airline is leveraging graphs for its media content metadata; and a top-tier financial services firm has rewritten its entire entitlements infrastructure on Neo4j. Virtually unknown a few years ago, graph databases are now used in industries as diverse as healthcare, retail, oil and gas, media, gaming, and beyond, with every indication of accelerating their already explosive pace. These ideas deserve a new breed of tools: general-purpose database management technologies that embrace connected data and enable graph thinking, which are the kind of tools I wish had been available off the shelf when we were fighting the rela‐ tional database back in 1999. 1 For the younger readers, it may come as a shock that there was a time in the history of mankind when Google didn’t exist. Back then, dinosaurs ruled the earth and search engines with names like AltaVista, Lycos, and Excite were used, primarily to find ecommerce portals for pet food on the Internet. viii | Foreword I hope this book will serve as a great introduction to this wonderful emerging world of graph technologies, and I hope it will inspire you to start using a graph database in your next project so that you too can unlock the extraordinary power of graphs. Good luck! —Emil Eifrem Cofounder of Neo4j and CEO of Neo Technology Menlo Park, California May 2013 Foreword | ix Preface Graph databases address one of the great macroscopic business trends of today: lever‐ aging complex and dynamic relationships in highly connected data to generate insight and competitive advantage. Whether we want to understand relationships between customers, elements in a telephone or data center network, entertainment producers and consumers, or genes and proteins, the ability to understand and ana‐ lyze vast graphs of highly connected data will be key in determining which companies outperform their competitors over the coming decade.
Recommended publications
  • Graph-Based Reasoning in Collaborative Knowledge Management for Industrial Maintenance Bernard Kamsu-Foguem, Daniel Noyes
    Graph-based reasoning in collaborative knowledge management for industrial maintenance Bernard Kamsu-Foguem, Daniel Noyes To cite this version: Bernard Kamsu-Foguem, Daniel Noyes. Graph-based reasoning in collaborative knowledge manage- ment for industrial maintenance. Computers in Industry, Elsevier, 2013, Vol. 64, pp. 998-1013. 10.1016/j.compind.2013.06.013. hal-00881052 HAL Id: hal-00881052 https://hal.archives-ouvertes.fr/hal-00881052 Submitted on 7 Nov 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Open Archive Toulouse Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited version published in: http://oatao.univ-toulouse.fr/ Eprints ID: 9587 To link to this article: doi.org/10.1016/j.compind.2013.06.013 http://www.sciencedirect.com/science/article/pii/S0166361513001279 To cite this version: Kamsu Foguem, Bernard and Noyes, Daniel Graph-based reasoning in collaborative knowledge management for industrial
    [Show full text]
  • Graph Database for Collaborative Communities Rania Soussi, Marie-Aude Aufaure, Hajer Baazaoui
    Graph Database for Collaborative Communities Rania Soussi, Marie-Aude Aufaure, Hajer Baazaoui To cite this version: Rania Soussi, Marie-Aude Aufaure, Hajer Baazaoui. Graph Database for Collaborative Communities. Community-Built Databases, Springer, pp.205-234, 2011. hal-00708222 HAL Id: hal-00708222 https://hal.archives-ouvertes.fr/hal-00708222 Submitted on 14 Jun 2012 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Graph Database For collaborative Communities 1, 2 1 Rania Soussi , Marie-Aude Aufaure , Hajer Baazaoui2 1Ecole Centrale Paris, Applied Mathematics & Systems Laboratory (MAS), SAP Business Objects Academic Chair in Business Intelligence 2Riadi-GDL Laboratory, ENSI – Manouba University, Tunis Abstract Data manipulated in an enterprise context are structured data as well as un- structured data such as emails, documents, social networks, etc. Graphs are a natural way of representing and modeling such data in a unified manner (Structured, semi-structured and unstructured ones). The main advantage of such a structure relies in the dynamic aspect and the capability to represent relations, even multiple ones, between objects. Recent database research work shows a growing interest in the definition of graph models and languages to allow a natural way of handling data appearing.
    [Show full text]
  • Property Graph Vs RDF Triple Store: a Comparison on Glycan Substructure Search
    RESEARCH ARTICLE Property Graph vs RDF Triple Store: A Comparison on Glycan Substructure Search Davide Alocci1,2, Julien Mariethoz1, Oliver Horlacher1,2, Jerven T. Bolleman3, Matthew P. Campbell4, Frederique Lisacek1,2* 1 Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva, 1211, Switzerland, 2 Computer Science Department, University of Geneva, Geneva, 1227, Switzerland, 3 Swiss-Prot Group, SIB Swiss Institute of Bioinformatics, Geneva, 1211, Switzerland, 4 Department of Chemistry and Biomolecular Sciences, Macquarie University, Sydney, Australia * [email protected] Abstract Resource description framework (RDF) and Property Graph databases are emerging tech- nologies that are used for storing graph-structured data. We compare these technologies OPEN ACCESS through a molecular biology use case: glycan substructure search. Glycans are branched Citation: Alocci D, Mariethoz J, Horlacher O, tree-like molecules composed of building blocks linked together by chemical bonds. The Bolleman JT, Campbell MP, Lisacek F (2015) molecular structure of a glycan can be encoded into a direct acyclic graph where each node Property Graph vs RDF Triple Store: A Comparison on Glycan Substructure Search. PLoS ONE 10(12): represents a building block and each edge serves as a chemical linkage between two build- e0144578. doi:10.1371/journal.pone.0144578 ing blocks. In this context, Graph databases are possible software solutions for storing gly- Editor: Manuela Helmer-Citterich, University of can structures and Graph query languages, such as SPARQL and Cypher, can be used to Rome Tor Vergata, ITALY perform a substructure search. Glycan substructure searching is an important feature for Received: July 16, 2015 querying structure and experimental glycan databases and retrieving biologically meaning- ful data.
    [Show full text]
  • Love and Death in Felicia Hemans's Records of Woman
    Ghent University Faculty of Arts and Philosophy Love and death in Felicia Hemans’s Records of Woman Supervisor: Dissertation submitted in partial fulfiment Prof. Dr. Marysa Demoor of the requirements for the degree of “Master in de Taal- en Letterkunde: Engels” by Fiorina Di Rosa 2008-2009 Di Rosa 2 Di Rosa 3 Acknowledgements First of all, I would like to thank my supervisor, Prof. Dr. Marysa Demoor, not only for her guidance, insights and interesting remarks on my work, but also for her enthusiastic way of teaching Victorian poetry that made me more curious about certain aspects of this era. During the course English Literature: Older Period, without which I would never have had the inspiration for this paper and the fascination for the Victorian era, my interest in this period grew stronger. I am also grateful to Dr. Marianne Van Remoortel for her constructive criticism. She has supported me throughout this paper and provided me with new points of view about certain elements. Furthermore, I am also indebted to my parents, who gave me the opportunity to broaden my field of interest. They have consistently supported me, even at times when they hardly had the time to think of themselves. No one could have done a better job at encouraging me when I needed it. Finally, I would like to thank my friends, whom I could always rely on, in particular those who were so kind as to read my dissertation and give me tips that allowed me to improve my writing. Di Rosa 4 Contents Acknowledgements .................................................................................................................... 3 Contents ....................................................................................................................................
    [Show full text]
  • Exploring the Components of Dynamic Modeling Techniques
    Old Dominion University ODU Digital Commons Computational Modeling & Simulation Computational Modeling & Simulation Engineering Theses & Dissertations Engineering Spring 2012 Exploring the Components of Dynamic Modeling Techniques Charles Daniel Turnitsa Old Dominion University Follow this and additional works at: https://digitalcommons.odu.edu/msve_etds Part of the Computer Engineering Commons, and the Computer Sciences Commons Recommended Citation Turnitsa, Charles D.. "Exploring the Components of Dynamic Modeling Techniques" (2012). Doctor of Philosophy (PhD), Dissertation, Computational Modeling & Simulation Engineering, Old Dominion University, DOI: 10.25777/99hf-vx67 https://digitalcommons.odu.edu/msve_etds/38 This Dissertation is brought to you for free and open access by the Computational Modeling & Simulation Engineering at ODU Digital Commons. It has been accepted for inclusion in Computational Modeling & Simulation Engineering Theses & Dissertations by an authorized administrator of ODU Digital Commons. For more information, please contact [email protected]. EXPLORING THE COMPONENTS OF DYNAMIC MODELING TECHNIQUES by Charles Daniel Turnitsa B.S. December 1991, Christopher Newport University M.S. May 2006, Old Dominion University A Dissertation Submitted to the Faculty of Old Dominion University in Partial Fulfillment of the Requirement for the Degree of DOCTOR OF PHILOSOPHY MODELING AND SIMULATION OLD DOMINION UNIVERSITY May 2012 Approved b, Andreas Tolk (Director) Frederic D. MctCefizie (Member) Patrick T. Hester (Member) Robert H. Kewley, Jr. (Member) / UMI Number: 3511005 All rights reserved INFORMATION TO ALL USERS The quality of this reproduction is dependent on the quality of the copy submitted. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion.
    [Show full text]
  • Application of Graph Databases for Static Code Analysis of Web-Applications
    Application of Graph Databases for Static Code Analysis of Web-Applications Daniil Sadyrin [0000-0001-5002-3639], Andrey Dergachev [0000-0002-1754-7120], Ivan Loginov [0000-0002-6254-6098], Iurii Korenkov [0000-0002-8948-2776], and Aglaya Ilina [0000-0003-1866-7914] ITMO University, Kronverkskiy prospekt, 49, St. Petersburg, 197101, Russia [email protected], [email protected], [email protected], [email protected], [email protected] Abstract. Graph databases offer a very flexible data model. We present the approach of static code analysis using graph databases. The main stage of the analysis algorithm is the construction of ASG (Abstract Source Graph), which represents relationships between AST (Abstract Syntax Tree) nodes. The ASG is saved to a graph database (like Neo4j) and queries to the database are made to get code properties for analysis. The approach is applied to detect and exploit Object Injection vulnerability in PHP web-applications. This vulnerability occurs when unsanitized user data enters PHP unserialize function. Successful exploitation of this vulnerability means building of “object chain”: a nested object, in the process of deserializing of it, a sequence of methods is being called leading to dangerous function call. In time of deserializing, some “magic” PHP methods (__wakeup or __destruct) are called on the object. To create the “object chain”, it’s necessary to analyze methods of classes declared in web-application, and find sequence of methods called from “magic” methods. The main idea of author’s approach is to save relationships between methods and functions in graph database and use queries to the database on Cypher language to find appropriate method calls.
    [Show full text]
  • Downloaded at the Address: Predicates in the Ontology
    Ontology-Supported and Ontology-Driven Conceptual Navigation on the World Wide Web Michel Crampes and Sylvie Ranwez Laboratoire de Génie Informatique et d’Ingénierie de Production (LGI2P) EERIE-EMA, Parc Scientifique Georges Besse 30 000 NIMES (FRANCE) Tel: (33) 4 66 38 7000 E-mail: {Michel.Crampes, Sylvie Ranwez}@site-eerie.ema.fr ABSTRACT It is accepted that there is no ideal solution to a complex This paper presents the principles of ontology-supported problem and a coherent paradigm may present limits and ontology-driven conceptual navigation. Conceptual when considering the complexity and the variety of the navigation realizes the independence between resources users' needs. Let’s recall some of the traditional criticisms and links to facilitate interoperability and reusability. An about hypertext. The readers get lost in hyperspace. The engine builds dynamic links, assembles resources under links are predefined by the authors and the author's an argumentative scheme and allows optimization with a intention does not necessary match the readers' intentions. possible constraint, such as the user’s available time. There may be other interesting links to other resources Among several strategies, two are discussed in detail with that are not given. The narrative construction which is the examples of applications. On the one hand, conceptual result of link following may present argumentative specifications for linking and assembling are embedded in pitfalls. the resource meta-description with the support of the ontology of the domain to facilitate meta-communication. As regards the IR paradigm, there are other criticisms. Resources are like agents looking for conceptual The search engines leave the readers with a list of acquaintances with intention.
    [Show full text]
  • Database Software Market: Billy Fitzsimmons +1 312 364 5112
    Equity Research Technology, Media, & Communications | Enterprise and Cloud Infrastructure March 22, 2019 Industry Report Jason Ader +1 617 235 7519 [email protected] Database Software Market: Billy Fitzsimmons +1 312 364 5112 The Long-Awaited Shake-up [email protected] Naji +1 212 245 6508 [email protected] Please refer to important disclosures on pages 70 and 71. Analyst certification is on page 70. William Blair or an affiliate does and seeks to do business with companies covered in its research reports. As a result, investors should be aware that the firm may have a conflict of interest that could affect the objectivity of this report. This report is not intended to provide personal investment advice. The opinions and recommendations here- in do not take into account individual client circumstances, objectives, or needs and are not intended as recommen- dations of particular securities, financial instruments, or strategies to particular clients. The recipient of this report must make its own independent decisions regarding any securities or financial instruments mentioned herein. William Blair Contents Key Findings ......................................................................................................................3 Introduction .......................................................................................................................5 Database Market History ...................................................................................................7 Market Definitions
    [Show full text]
  • Argumentation Graphs with Constraint-Based Reasoning for Collaborative Expertise
    Open Archive Toulouse Archive Ouverte OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible This is an author’s version published in: http://oatao.univ-toulouse.fr/21334 To cite this version: Doumbouya, Mamadou Bilo and Kamsu-Foguem, Bernard and Kenfack, Hugues and Foguem, Clovis Argumentation graphs with constraint-based reasoning for collaborative expertise. (2018) Future Generation Computer Systems, 81. 16-29. ISSN 0167-739X Any correspondence concerning this service should be sent to the repository administrator: [email protected] Argumentation graphs with constraint-based reasoning for collaborative expertise Mamadou Bilo Doumbouya a,b , Bernard Kamsu-Foguem a,*, Hugues Kenfack b, Clovis Foguem c,d a Université de Toulouse, Laboratoire de Génie de Production (LGP), EA 1905, ENIT-INPT, 47 Avenue d'Azereix, BP 1629, 65016, Tarbes Cedex, France b Université de Toulouse, Faculté de droit, 2 rue du Doyen Gabriel Marty, 31042 Toulouse cedex 9, France c Université de Bourgogne, Centre des Sciences du Goût et de l'Alimentation (CSGA), UMR 6265 CNRS, UMR 1324 INRA, 9 E Boulevard Jeanne d'Arc, 21000 Dijon, France d Auban Moët Hospital, 137 rue de l’hôpital, 51200 Epernay, France h i g h l i g h t s • Reasoning underlying the remote collaborative processes in complex decision making. • Abstract argumentation framework with the directed graphs to represent propositions • Conceptual graphs for ontological knowledge modelling and formal visual reasoning. • Competencies and information sources for the weighting of shared advices/opinions. • Constraints checking for conflicts detection according to medical–legal obligations.
    [Show full text]
  • Nomad-2017-T72r86.Pdf
    nomad 2017 nomad 2017 Chaos The Department of Comparative Literature’s Journal of Undergraduate Writing University of Oregon The University of Oregon is an equal-opportunity, affirmative-action institution committed to cultural diversity and compliance with the Americans with Disabilities Act. This publication will be made available in accessible formats upon request. MC0917_092du_E40770 EDITORIAL BOARD EDITOR Bess R. H. Myers EDITORIAL BOARD Professor Kenneth Calhoon Martha Bannikov Devina Sindhu MENTORS TO THE UNDERGRADUATE WRITERS Maxine Anderson Rachel Branson Dr. Katy Brundan Professor Kenneth Calhoon Dr. Zach Cheney Palita Chunsaengchan Dr. Rachel Eccleston Dr. Andréa Gilroy Dr. Anna Kovalchuk Maya Larson Nadège LeJeune Jason Lester Robin Okumu Justine Parkin Tera Reid-Olds Devina Sindhu Ying Xiong SPECIAL THANKS To Cynthia Stockwell, Laura White, and the Duck Store for their continued support of this program COVER ART Untitled ©2017 Helena Richardson CONTENTS vii Editor’s Comments LAUREN ALLEN 9 Courting Chaos: The Ambivalence of Knowledge in the Relationship Between Frankenstein and his Creature SAM BEEKER 19 Sylvia Plath’s Linguistic “Magic Mirror”: The Chaos of Textual Subject Formation STEVE CHADWICK 31 Clearly Chaos: Perspectives Distorted by Glass in Zamyatin’s We and Francis’ “Part for the Whole” PATRICK DUNHAM 41 Chaotic Realms of Baudrillardian Identity in the Digital Age NICOLE HALL 53 Structures of Control: The Stigmatization of Mental Illness as Represented in One Flew Over the Cuckoo’s Nest and Theorized in Discipline
    [Show full text]
  • GRAPH DATABASE THEORY Comparing Graph and Relational Data Models
    GRAPH DATABASE THEORY Comparing Graph and Relational Data Models Sridhar Ramachandran LambdaZen © 2015 Contents Introduction .................................................................................................................................................. 3 Relational Data Model .............................................................................................................................. 3 Graph databases ....................................................................................................................................... 3 Graph Schemas ............................................................................................................................................. 4 Selecting vertex labels .............................................................................................................................. 4 Examples of label selection ....................................................................................................................... 4 Drawing a graph schema ........................................................................................................................... 6 Summary ................................................................................................................................................... 7 Converting ER models to graph schemas...................................................................................................... 9 ER models and diagrams ..........................................................................................................................
    [Show full text]
  • Weaver: a High-Performance, Transactional Graph Database Based on Refinable Timestamps
    Weaver: A High-Performance, Transactional Graph Database Based on Refinable Timestamps Ayush Dubey Greg D. Hill Robert Escriva Cornell University Stanford University Cornell University Emin Gun¨ Sirer Cornell University ABSTRACT may erroneously conclude that n7 is reachable from n1, even Graph databases have become a common infrastructure com- though no such path ever existed. ponent. Yet existing systems either operate on offline snap- Providing strongly consistent queries is particularly chal- shots, provide weak consistency guarantees, or use expensive lenging for graph databases because of the unique charac- concurrency control techniques that limit performance. teristics of typical graph queries. Queries such as traversals In this paper, we introduce a new distributed graph data- often read a large portion of the graph, and consequently base, called Weaver, which enables efficient, transactional take a long time to execute. For instance, the average degree graph analyses as well as strictly serializable ACID transac- of separation in the Facebook social network is 3.5 [8], which tions on dynamic graphs. The key insight that allows Weaver implies that a breadth-first traversal that starts at a random to combine strict serializability with horizontal scalability vertex and traverses 4 hops will likely read all 1.59 billion and high performance is a novel request ordering mecha- users. On the other hand, typical key-value and relational nism called refinable timestamps. This technique couples queries are much smaller; the NewOrder transaction in the coarse-grained vector timestamps with a fine-grained timeline TPC-C benchmark [7], which comprises 45% of the frequency oracle to pay the overhead of strong consistency only when distribution, consists of 26 reads and writes on average [21].
    [Show full text]