[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-27。"],[[["\u003cp\u003eJanusGraph is a graph database designed for managing large datasets, utilizing nodes (vertices) and relationships (edges) to model data entities.\u003c/p\u003e\n"],["\u003cp\u003eThis document outlines how to deploy JanusGraph on Google Cloud, using Google Kubernetes Engine (GKE) for orchestration and Bigtable as the storage backend.\u003c/p\u003e\n"],["\u003cp\u003eGraph databases, such as JanusGraph, are suitable for modeling domains like social networks, financial transactions, and system networks, enabling the analysis of interconnected data.\u003c/p\u003e\n"],["\u003cp\u003eJanusGraph stores graph data in Bigtable as an adjacency list, with each row representing a vertex, and each column representing properties and relationships, ensuring efficient query execution.\u003c/p\u003e\n"],["\u003cp\u003eDeploying JanusGraph on GKE allows for scalable infrastructure by leveraging Elasticsearch for indexing and Bigtable for storage, facilitating the traversal of graph relationships.\u003c/p\u003e\n"]]],[],null,["# JanusGraph on GKE with Bigtable\n\nGraph databases can help you to discover insights by modeling your data entities\nand the relationships between them.\n[JanusGraph](http://janusgraph.org/)\nis a graph database that supports working with large amounts of data. This page\npresents concepts that can help you run JanusGraph on Google Cloud with\nGoogle Kubernetes Engine as the orchestration platform and Bigtable as the\nstorage backend.\n\nThe document is for system architects, database administrators, and DevOps\nprofessionals who are interested in running the JanusGraph graph database on\nGoogle Cloud using a Bigtable as the storage backend. It assumes\nthat you are familiar with\n[Google Kubernetes Engine (GKE)](/kubernetes-engine),\nKubernetes Pods,\n[Bigtable](/bigtable/docs/overview),\nand\n[Elasticsearch](https://www.elastic.co/elasticsearch/).\n\nOverview\n--------\n\nIn graph terminology, entities are known as *nodes* or *vertices* and\nrelationships are known as *edges*. In JanusGraph, both vertices and edges can\nhave additional associated data that is made available through properties.\n\nThe preceding illustration is an example of a property graph.\n\nGraph databases help you model a variety of domains and activities:\n\n- Social networks\n- Financial transactions (for fraud analysis)\n- Physical or virtual system networks\n\nWhen you create graph databases, you sometimes create millions or even billions\nof vertices and edges. When you use JanusGraph with Bigtable\nas the underlying storage layer, you can both execute fast queries (known as\n*graph traversals*) and scale your storage layer independently according to the\nsize and throughput that you need. JanusGraph also uses a pluggable indexing\nbackend to provide full-text indexing for vertex and edge properties.\n\nYou can deploy a scalable JanusGraph infrastructure on GKE, using\nElasticsearch as the indexing backend running in Pods in a StatefulSet, and\nusing Bigtable as the storage backend. When you're done, you can\ntraverse the relationships that exist in your graph data.\n\nThe following diagram shows how these elements fit together.\n\nThe prceeding diagram shows the JanusGraph deployment on GKE with\nElasticsearch andBigtable.\n\nJanusGraph data in Bigtable\n---------------------------\n\nGraph data is stored by JanusGraph as an adjacency list. Each row represents a\nvertex, any adjacent vertices (edges), and property metadata about the vertices\nand edges. The row key is the unique identifier for the vertex. Each\nrelationship between the vertex and another vertex and any properties that\nfurther define the relationship are stored as an edge or edge-property column.\nBoth the column qualifier and column value store data that defines the edge, in\naccordance with\n[Bigtable best practices](/bigtable/docs/schema-design#row-keys).\nEach vertex property is stored as a separate column, again using both the\ncolumn qualifier and the column value to define the property.\n\nThe following diagram shows this storage structure.\n\nThe diagram shows the logical storage structure for a small graph fragment with\nlogical details for two vertex rows. In the diagram, the two example rows\nrepresent two vertices. The first vertex is labeled with a single vertex\nproperty and is related to two other vertices by two separate edges. The second\nvertex holds columns containing two properties and one edge.\n\nThe following illustration of the vertex edge logical data model provides some\ndetail about the column qualifiers and values for an edge or edge-property\ncolumn.\n\nFor each adjacent vertex, a column stores the metadata about that edge. The\ncolumn qualifier contains metadata about the edge relationship and about the\nedge direction, and a pointer to the adjacent vertex. The column value contains\nthe edge label and any additional edge properties. Because traversals can be\nfollowed in either direction, edges are stored twice, once for each end of the\nedge relationship. Bidirectional edge storage significantly increases traversal\nperformance, but comes with some trade-offs due to the redundancy of additional\nstorage space and non-atomic edge mutations.\n\nThe following diagram is the logical data model of a vertex property column.\n\nThe previous illustration provides details about the column qualifiers and\nvalues for an edge column.\n\nEach vertex property is stored as a separate column. The column qualifier is a\nunique identifier for the property key. The column value contains both an\nidentifier for the property and the value of the property.\n\nJanusGraph also relies on Bigtable's lexicographical\nordering of rows and column qualifiers to enhance query performance.\n\nWhat's next\n-----------\n\n- Read more about [JanusGraph](http://janusgraph.org/) and [graph databases](https://wikipedia.org/wiki/Graph_database).\n- Learn about [Apache TinkerPop](http://tinkerpop.apache.org/) graph computing framework and explore the [Gremlin](http://tinkerpop.apache.org/gremlin.html) graph traversal language.\n- Learn more about how [JanusGraph stores data in Bigtable](https://docs.janusgraph.org/advanced-topics/data-model).\n- Dive deeper into graph use cases by deploying an [example JanusGraph application](https://cloud.google.com/blog/products/gcp/developing-a-janusgraph-backed-service-on-google-cloud-platform)."]]