Releases: vesoft-inc/nebula-graph
Nebula Graph v2.5.1
bug fix:
-
Fixed the performance reduction problems caused by the sessions will update at the next upload period when use space. #1355
-
Fixed the performance problems of k8s caused by processing logic of the remote address in connection requests. vesoft-inc/nebula-common#615
download:
Nebula Graph v2.5.0
feature
- Support management of session. #280
- Support terminate the slow queries, know issue: there is a delay in querying and terminating the query due to the implementation. #1152
- Enhance the ability to extract the indices from expressions for
Lookup
statement. #1188 - Supports configuring machine memory watermarks to alleviate OOM issues to some extent. #1067
- Support filter the edges in
FindPath
statement. #1091 - Support return structure of a graph without properties in
Subgraph
statement. #1134 - Improve the usage of
timestamp
function. vesoft-inc/nebula-common#515 - Support for querying the version of each service. #944
- Index and TTL can be supported together. #382
- Support the creation of full-text indexes on specified properties. #460
- Support make comment when create space or schema. #895
- Support for full-text index rebuild. #1123
bug fix
- Fixed multiple statement execution problems caused by permissions. #1165
- Fixed unwinding causing no results. #1018
- Fixed crash problems caused by aggregation functions in some scenarios. #1015
- Fixed index matching problems with OR expressions. #1005
- Fixed case sensitivity of functions. #927
- Fixed issue where query index creation information was not checked for Tag/Edge type. #933
- Fixed a bug in the Substring function. vesoft-inc/nebula-common#491
- Fixed meta not returning leader change correctly. #423
- Fixed an issue with 'LIMIT', 'ORDER', 'GROUP' statements using variables. #1314
- Fixed issue with db_dump tool printing VID of int type. vesoft-inc/nebula-storage#533
- Fixed the issue that FAILE is still displayed after the Balance task is recovered. vesoft-inc/nebula-storage#528
enhancement
- The Listener interface is optimized to support full data acquisition. #465,#484
- The leader table of the meta is reorganized. #439
- Add a DiskManager to check disk capacity. #461
- Improve heartbeat of raft to avoid leader change. #438
- Support concurrently go/fetch/lookup in storage. #503
- Enhanced for the
EXISTS
function to theMAP
. #973 - Enforce the use of aggregate functions, such as COUNT(v)+AVG(v). #968
change
- A little bit grammar change of Subgraph
# Add the WITH PROP keyword to the output property
GET SUBGRAPH WITH PROP FROM <vids>
# The original syntax will only output the graph structure without properties
GET SUBGRAPH FROM <vids>
- we must use the symbol
$-.
in ‘ORDER BY’. But in earlier versions, there is no need. Example:
Before:
(root@nebula) [basketballplayer]> LOOKUP ON player \
-> YIELD player.age As playerage \
-> | GROUP BY $-.playerage \
-> YIELD $-.playerage as age, count(*) AS number \
-> | ORDER BY number DESC, age DESC;
From v2.5.0
(czp@nebula) [basketballplayer]> LOOKUP ON player \
-> YIELD player.age As playerage \
-> | GROUP BY $-.playerage \
-> YIELD $-.playerage as age, count(*) AS number \
-> | ORDER BY $-.number DESC, $-.age DESC;
Nebula Graph v2.0.1
Improvements
- Optimize the performance of
StorageClient
vesoft-inc/nebula-common#468 - HTTP
GetFlags
interface adds support for Unsigned Integers vesoft-inc/nebula-common#469 - Add check for Raft Listener and Storage Service IP/Port conflicts #875, vesoft-inc/nebula-common#470
Bugfix
- Fix the issue that the
GO
statement fails to yield the source vertex properties #859 - Fix the issue that the services may fail to start when the
logs
directory does not exist #873 vesoft-inc/nebula-storage#403 - Fix the issue that
FIND SHORTEST PATH xxx UPTO N STEPS
return N+1 steps' path when N is an odd number.#912 - Fix the issue when taking the output of a query as the input of the
DELETE
statement,SementicError
is returned #917 - Fix the issue that the return value of the aggregation function is inconsistence with
openCypher
if no item is found #901 vesoft-inc/nebula-common#480 - Fix the issue that
GetNeighborsIter()
may return partial results in cluster mode. #922 - Fix the issue that illegal filtering of aggregate functions in the
MATCH ... WHERE
clause makesgraphd
crash. #919 - Fix
SemanticError
problem when seeking by negative vid #932 - Fix the issue that the
TAG/EDGE
specification does not work inSHOW CREATE TAG/EDGE INDEX
clauses #933 vesoft-inc/nebula-storage#426 - Fix the issue that
REBUILD INDEX
returns succeed even if failed sometimes. vesoft-inc/nebula-storage#405 - Fix the issue that the indexes of newly inserted data may fail to update during the rebuilding index process. vesoft-inc/nebula-storage#408
- Fix the issue that using
NULL
insubstr()
orsubstring()
makesgraphd
crash vesoft-inc/nebula-common#491
Nebula Graph v2.0 GA
New Features
vertexID
supports bothInteger
andString
.- New data types:
- NULL: the property can be set to
NULL
.NOT NULL
constraint is also supported - Composite types: LIST, SET, and MAP(Cannot be set as property types)
- Temporal types: DATE and DATETIME.
- FIXED_STRING: a fixed size
String
- NULL: the property can be set to
- Full-text indexes are supported to do prefix, wildcard, regex, and fuzzy search on a string property.
- Explain & Profile outputs the execution plan of an nGQL statement and execution profile.
- Subgraph to retrieve vertices and edges reachable from the start vertices.
- Support to collect statistics of the graph space.
- OpenCypher compatibility
- Partially support the
MATCH
clause - Support
RETURN
,WITH
,UNWIND
,LIMIT
&SKIP
clauses
- Partially support the
- More built-in functions
- Predicate functions
- Scalar functions
- List functions
- Aggregating functions
- Mathematical functions
- String functions
- Temporal functions
Improvements
- Optimize the performance of inserting, updating, and deleting data with indexes.
LOOKUP ON
filtering data supportsOR
andAND
operators.FIND PATH
supports finding paths with or without regard to direction, and also supports excluding cycles in paths.SHOW HOSTS graph/meta/storage
supports to retrieve the basic information of graphd/metad/storaged hosts.
Changelog
- The data type of
vertexID
must be specified when creating a graph space. FETCH PROP ON
returns a composite object if not specify the result set.- Changed the default port numbers of
metad
,graphd
, andstoraged
. - Refactor metrics counters.
Nebula-graph Console
Supports local commands mode. :set csv
outputs the query results to the console and the specified CSV file. For more information, please refer to https://github.com/vesoft-inc/nebula-console.
Clients
Support connection pool and load balance.
- cpp client https://github.com/vesoft-inc/nebula-cpp
- java client https://github.com/vesoft-inc/nebula-java
- python client https://github.com/vesoft-inc/nebula-python
- go client https://github.com/vesoft-inc/nebula-go
Nebula Graph Studio
With Studio, you can create a graph schema, load data, execute nGQL statements, and explore graphs in one stop. For more information, please refer to https://github.com/vesoft-inc/nebula-web-docker.
Known Issues
Nebula Graph Release v2.0.0-RC1
New Features
- Add
Integer
vertexID support #496 vesoft-inc/nebula-common#351, vesoft-inc/nebula-storage#246, vesoft-inc/nebula-docs#264 FIND PATH
supports to find paths with or without regard to direction #464, and also supports to exclude cycles in paths #461.SHOW HOSTS graph/meta/storage
supports to retrieve the basic information of graphd/metad/storaged hosts. #437 vesoft-inc/nebula-common#325 vesoft-inc/nebula-storage#223BALANCE DATA RESET PLAN
supports resetting the last failed plan vesoft-inc/nebula-common#342 vesoft-inc/nebula-storage#232.- Enhance
MATCH
clause support, for more information please visit Match doc. - Add path manipulation support vesoft-inc/nebula-common#306, vesoft-inc/nebula-common#358
Changelog
- Changed the default port numbers of
metad
,graphd
,storaged
. #474, vesoft-inc/nebula-storage#239
Nebula Graph v2.0.0-beta
Nebula Graph
Note: Schema & data are not compatible with 1.0 yet. Still working on the compatibility.
Compatibility with more nGQL 1.x queries
DESCRIBE TAG/EDGE INDEX
is to obtain information about the index.REBUILD TAG/EDGE INDEX
is to rebuild an index.SHOW TAG/EDGE INDEXES
is to list the created indexes.SHOW TAG/EDGE INDEXES STATUS
is to return the created index status.
New Features
- full-text search, allows users to write queries that match terms anywhere within the indexed string properties.
LOOKUP ON TAG/EDGE
is to get all vertices of a tag or edges of an edge type.SUBMIT JOB STATS
&SHOW STATS
is to get all vertices and edges in the current space.- Support more openCypher Clauses.
- Partially supported
MATCH
clause RETURN
&DISTINCT
LIMIT
&SKIP
- Partially supported
- Add more built-in functions
- Predicate functions
- Scalar functions
- List functions
- Aggregating functions
- Mathematical functions
- String functions
- Temporal functions
Clients
Nebula Graph Studio
- Compatible with Nebula Graph 2.x,refer to Studio.
Tools
- Go Importer: Compatible with Nebula Graph 2.x, refer to Nebula Importer.
Nebula Graph v2.0.0-alpha
Nebula Graph
Note: Schema & data are not compatible with 1.0 yet. Still working on the compatibility.
New Features
- Support String vertex ID
- New data types
NULL
, the property for vertices or edges can be set toNULL
.NOT NULL
constraint is supported to ensure the property values are not NULL.- Composite types: list, set and map(Cannot be stored as properties).
- Temporal types like
DATE
andDATETIME
.
- New Functions
size()
returns the number of items in a listtime()
returns the current Timedate()
ordatetime()
Returns the current Date or DateTimeid()
returns the id of a vertextags()
andlabels()
return the tags of the vertexcollect()
, an aggregation function, returns a list containing the values returned by an expressioncollect_set()
, aggregation function, returns a set containing the values returned by an expressionproperties()
returns a map containing all the properties of a vertex or an edgetype()
returns the edge type of an edgesrc()
returns the src id of an edgedst()
returns the dst id of an edgerank()
returns the rank of an edge
- New Operators
IN
checks if a specified value matches any value in a list.CONTAINS
performs a case-sensitive match regardless of location within a string.STARTS WITH
performs a case-sensitive match for the beginning of a string.ENDS WITH
performs a case-sensitive match for the ending of a string.
- Explain & Profile.
EXPLAIN
displays the execution plan of a nGQL statement without executing the statement. PROFILE executes the statement, then outputs the execution plan as well as the execution profile. - Subgraph.
GET SUBGRAPH
statement retrieves information of vertices and edges reachable from the start vertices over the specified edges to the maximum number of hops. - Partially supported
MATCH
statement. - A
DELETE
statement can have an input from the pipeline|
.
Features different from 1.0
CREATE SPACE
supports specifying the type of vertex ID. The typefixed_string
(int64
will be supported in the next release).- Simplify
UPDATE/UPSERT
statement. UPSERT ... SET
the unspecified properties will be set to the default value when inserting a new vertex/edge. If no default value is set, they will be set toNULL
. If theNOT NULL
constraint is set on the property, an error will return.$-
in the pipeline statement is not equal to$-.id
anymore.- The expression specified in the default value will be computed when the data inserted instead of schema defined.
Upcoming Soon (Work in process)
DESCRIBE TAG/EDGE INDEX
REBUILD TAG/EDGE INDEX
SHOW TAG/EDGE INDEXES
SHOW TAG/EDGE INDEX STATUS
FETCH PROP ON
multiple tags- Compatible with 1.0 Integer vertex ID
- Support more OpenCypher statements
- Backup & Restore
- Fulltext search
Console
- Nebula-console supports local commands now. For example,
:set csv
outputs the query results to the console and the specified CSV file. For more information, please refer to nebula-console.
Clients
- Java
- Python
- Golang
Clients support connection pooling and load balancing. For more information, please refer to nebula-clients.
Studio
- Not Compatible with Nebula Graph 2.0 yet (Working in progress).
Document
- Please refer to https://github.com/vesoft-inc/nebula-docs/tree/master/docs_2.0.