- Improved Distributed System Performance
- User Access Control and Other Security
- Other Major Additions
- Specification Changes
- Upgrading to v2.0
There are several new or improved features included in TigerGraph version 2.0:
Improved Distributed System Performance
Streamlined Cluster Setup and Management
- Run one installation script to set up your local cluster for distributed graph storage, for extremely large graphs.
- Graph partitioning is automatic. See TigerGraph Platform Installation Guide
Run one command to configure replica machines for HA (high availability). Replicas are active, providing both load balancing and automatic failover.
See Configuring a High Availability Cluster
- Note: Some Trial versions of TigerGraph may have the Distributed mode disabled.
Faster Distributed Queries
- New query processing mode optimized for parallel processing across the distributed graph.
- Users can choose the processing mode for each query, to optimize speed.
Load Multiple Data Sets Concurrently
- Multiple loading jobs can run concurrently, improving speed by several times.
Concurrency on a single machine and also across a cluster.
See GSQL Language Reference Part 1 - Defining Graphs and Loading Data
User Access Control and Other Security
Link your TigerGraph system to your Single Sign-On environment.
See the Single Sign-On section of the TigerGraph System Administrators Guide
User Directory Service
Use your LDAP or Active Directory service to manage TigerGraph user credentials.
See the LDAP Authentication section of the TigerGraph System Administrators Guide
Encryption for Data-at-Rest and Data-in-Motion
For added security, users can configure their TigerGraph system to encrypt data when it is stored on disk (data-at-rest) or when it is being transmitted to or from the TigerGraph system (data-in-motion).
See the Encrypting Data At Rest and Using Encrypted Connections sections of the TigerGraph System Administrators Guide
Other Major Additions
One TigerGraph instance can manage multiple graphs, each with its own set of user privileges.
MultiGraph is offered as an add-on service. MultiGraph enables several use cases:
- Multiple Tenancy : completely separate data sets with separate sets of users.
- Overlapping graph schemas for shared data : Allow some data to reside in more than one graph: real-time sharing.
- Fine-grained access control: Two graphs with the same data can have two different sets of queries and access privileges.
Browser-Based Admin Portal
- Monitor the performance and operational status of each machine in your cluster from the new TigerGraph Admin Portal.
- See the TigerGraph Admin Portal section of the TigerGraph System Administrators Guide
Unified Loading Job Syntax
- The syntax for defining and running loading jobs has been slightly modified, to offer new capabilties, such as concurrent loading, selective filing loading, and job management, and to use the same syntax for all loading types (online, offline, concurrent).
- For backward compatibility, the previous syntax is still supported.
GSQL Language Reference Part 1 - Defining Graphs and Loading Data
For convenience, this section lists changes from v1.1 → v1.2, and separately from v1.2 → v2.0.
Graph and User Management
- CHANGED : The "architect" role is renamed "designer". The "public" role is renamed "observer".
- NEW : Queries can construct FILE objects, and pass the FILE objects as parameters, for enhanced flexibility for writing data to files.
- NEW : PRINT to a FILE object or FILE.println
- NEW : Unified syntax for loading jobs
- NEW : Commands to manage loading jobs: SHOW LOADING STATUS, ABORT/RESUME LOADING JOB.
- NEW : CREATE/SHOW/DROP GROUP commands, used for LDAP support.
- NEW : The heapAccum now has a pop() function
- NEW : Three new string functions: lower(), upper(), and trim()
- CHANGED : The + operator can be used to add two ListAccums, SetAccums, or MapAccums.The old semantics for (ListAccum + element) is dropped.
- CHANGED : In the SELECT statement, the LIMIT...OFFSET option may only be used when the ORDER BY clause is also used.
- NEW : Full log in support, including user-based and graph-based access control, LDAP, and Single Sign-On.
- NEW : Choose which graph to work with. See TigerGraph GraphStudio UI Guide for details.
Graph and User Management
NEW/ CHANGED : The MultiGraph service introduces changes to how graphs are managed, even when there is only a single graph.
- User roles are granted or revoked on a per-graph basis.
- A user can work with only one graph at a time. The user must set their working graph, either with the -g option for the GSQL command, or with the USE GRAPH statement. This requirement holds even when there is only a single graph in existence.
- The privileges of the admin and designer (architect) roles have been reduced. They can no longer CREATE or DROP a VERTEX/EDGE/GRAPH. However, they can CREATE and RUN a SCHEMA_CHANGE JOB, which accomplishes much the same thing.
- The admin and designer (architect) roles can no longer run DROP ALL or CLEAR GRAPH STORE.
- DROP GRAPH <gname> only drops vertex and edge types which are exclusive to that graph. It does not drop shared types.
- When a new user is created, previously the user began with the public (observer) role. Now, the new user has no role until assigned one.
NEW : Container type attributes (e.g., a LIST or SET) can be updated (assigned a new value) in a query. Previously, only simple type attributes could be updated. See the examples of Update statement in the Data Modification Statements chapter of the GSQL Language Reference Part 2 - Querying
- REMOVED : In the CREATE VERTEX schema definition statement, the WITH STATS = "outdegree" option is no longer supported. The "outdegree_by_edgetype" and "null" options are still available.
- REMOVED : The gsql -s option is dropped. A secret cannot be used in place of a password.
CHANGED : The default TCP/IP port numbers for GraphStudio and its related services have changed, to avoid the possibility of conflict with other services. These port numbers are not mandatory. As before, users can set the port number with
- GraphStudio (and other Nginx services): from 44240 to 14240
- GraphStudio.WebSocket.Port: from 44241 to 14241
- GraphStudio.Web.Private_port: from 44242 to 14242
- NEW : In the Map Data to Graph step, users can now load a constant value (string or numeric). The constant value can either be applied directly to an attribute, or it can be one input of a token function.
REST API output format for tuple type data is now consistent with standard JSON.
Upgrading to v2.0
Always refer to all the incremental Release Notes between your current version and your target version before undertaking an Upgrade. Pay attention to changes in features and compatibility of the data and application files. Release Notes and documentation are available at https://doc-archive.tigergraph.com. Contact email@example.com if you have any questions.
TigerGraph 2.0 is a major revision. Simple update (defined as installing the new software and making no other changes) is not supported. Most of the GSQL language features from 1.x are supported, so most queries and loading jobs will still work. The graph store has changed, so a 1.x gstore cannot be directly transferred to 2.0. Please contact firstname.lastname@example.org for assistance with migrating a 1.x system to 2.0.
Copyright © 2018 TigerGraph. All Rights Reserved.