October 13, 2017 | Written by: Josh Mintz
Categorized: Data Analytics | Products
Share this post:
We are announcing the retirement of the IBM Graph service on November 27th, 2017. This service is being replaced by Compose for JanusGraph, see below for detailed steps on how to migrate to our new service. The graph database technology at the core of IBM Graph, Titan, has evolved to JanusGraph, which is governed by the Linux Foundation. We are excited to bring this technology, as a production-ready, managed service, to the IBM Cloud.
Here’s what you need to know:
End of Marketing Date: November 27th, 2017
As of November 27th, 2017, new IBM Graph instances cannot be provisioned. However, existing instances will continue to be supported.
End of Support Date: April 24th, 2018
- For a period of 148 days after the End of Marketing Date throughApril 24th, 2018, all existing instances will continue to be available on the Services dashboard in the Bluemix console. All existing instances will also continue to be supported by IBM Graph
- Any instance still provisioned as of the End of Support Date will be deleted. Please extract data that is still desired as soon as possible
- Please remember to delete your IBM Graph service instances before the End of Support Date.
Migration: All IBM Graph users can transition to Compose for JanusGraph available in the IBM Bluemix catalog
Any program that makes calls to IBM Graph must adopt the following changes:
- The JanusGraph service uses a different endpoint than the IBM Graph service. Users will need to update the service endpoint they’re sending requests to, including the authentication.
- The JanusGraph service no longer provides the following endpoints: /schema, /gremlin, /bulkload, /graphs, /index, /vertices, or /edges.
If you’re using any of these commands, you must change them to send the corresponding gremlin for completing these actions.
- /schema (modelling): See http://docs.janusgraph.org/latest/schema.htmlfor the Gremlin equivalent modelling
- /schema (indexing) and /index: See http://docs.janusgraph.org/latest/indexes.htmlfor the Gremlin equivelent indexing
- /graphs: Graphs are managed in an internal graph which should only be queried. Writing values to this graph will impact the availability of your graphs.
- list all graphs: janusConfigurationGraph.traversal().V().values(“graph.graphname”);
- truncate a graph: def graph = ConfiguredGraphFactory.open(graph_name); graph.close(); JanusGraphCleanup.clear(graph); (where graph_name is the name of your graph).
- /gremlin, /vertices, or /edges: Send gremlin commands as shown in this documentation https://help.compose.com/v2.1/docs/janusgraph-creating-and-accessing-graphs
- /bulkload: Not currently supported – Users can send gremlin queries for adding the data into JanusGraph using the addVertex() and addEdge() gremlin tasks for each element that needs to be added.
- The JanusGraph service no longer provides a graph-specific URL for sending gremlin queries (e.g, https://service_endpoint/service_instance_id/graph_name/gremlin). Users must update their gremlin queries to explicitly open the graph using ConfiguredGraphFactory.open(“graph_name”) and send their gremlin query to the JanusGraph base URI. Reference: https://help.compose.com/v2.1/docs/janusgraph-creating-and-accessing-graphs
- The JanusGraph service does not currently support mixed indices. You will need to convert them into composite or vertex centric indexes. This would be a change to your indexes and schema when you initialize your graph: http://docs.janusgraph.org/latest/indexes.html.
For users who have their complete data set locally and tools to upload that data set:
- Adapt your tool as described in the previous section.
- Stand up a new instance of Compose JanusGraph and run your tool to import the data.
- You may need to vertically and horizontally scale your JanusGraph Engines temporarily to import your data. This is currently not available in the Service Management Console. Contact Bluemix Support to perform this action.
- You may need to vertically scale your JanusGraph Storage (backend nodes) for optimal performance. You may do this on service management console by selecting “Scale Resources”.
If you don’t have complete copy of your dataset locally, please submit ticket with Bluemix support to get a copy of your data.
*This version represents a revised timeline of the IBM Graph Deprecation.
As always, we’re here to help! Reach out to us in the support forums or on Twitter.