Releases: vesoft-inc/nebula
Releases · vesoft-inc/nebula
Nebula Graph v3.0.1
bugfix
- Fix the bug that it maybe take a long time for storage online after
ADD HOSTS
. #3950 - Fix the crash of graph service when clients lower than v2.6 connect to Nebula service. #3942
- Fix the crash of upgrading when there is no tag in SPACE. #3920
- Fix the crash of graph service when pattern is
MATCH <node>, <node>, <path>
. #3915
download
Nebula Graph v3.0.0
Nebula Graph v3.0.0 only supports upgrading from v2.x release (the lowest version is v2.0.0 GA). If you want to upgrade from v1 to v3, you should first upgrade from v1 to v2, see details. And Nebula Graph v3.0.0 don‘t support the most ecosystem tools of v2.x, please upgrade the ecosystem tools.
feature
- Support backup and restore. #3469 vesoft-inc/nebula-agent#1 vesoft-inc/nebula-br#22
- Support openCypher queries with multiple
MATCH
statements. #3519 #3318 - Support Standalone Nebula Graph. #3310
- Support key value separation for the storage engine. #3281
- Support topN push down for
LOOKUP
. #3499 - Support vertex without tag. #3316 #3335 #3328 #3286
- Support parameterized queries. #3379
- Support queries without specifying VIDs but a
LIMIT
clause must be used to restrict the number of results. #3320 #3329 #3262 - Support duration. #3338
- Support most UTF-8 encoded characters of 1 to 4 bytes in Schema. #3380 #3440
- Support
DESCRIBE USER
. #3300
enhancement
- Refactor cluster management. #3343
- Add log monitor to check free bytes of log disks, change log level when space is almost full. #3576
- Support any string for tag names in apostrophe. #3424
- Support that the storage service sends partition disk paths to the meta. #3369 #3416
- Add constraints on invalid password attempts. #3573 #3629
- Support
DELETE
in TOSS. #3374 - Support to use logrotate. #3541
- Support more metrics. #3446 #3605 #3590
- Enhancement datetime parser. #3179
- Remove read lock in meta service to reduce the side effect of read-write locks. #3256
- Refactor storage indexes to solve the coupling problem between services. #3196
- Support specifying the floating point accuracy of the round() function. #3178
- Support https for ES client. #3150
- Move version info outside of heartbeat. #3378
- Support empty list, set, map. #3302
- Support specifying s2 region coverage parameters when creating a geo index. #3396
- Add version info for
SHOW HOSTS
. #3702
bugfix
- Fix the bug that memory isn’t released when a default value is used and no value is specified in nGQL. #3666
- Fix the bug that the function
coalesce()
cannot be used. #3653 - Fix the bug that using multiple
INSERT
on an indexed tag will lead to incorrectLOOKUP
results. #3627 - Fix the crash when the expression exceeds the depth. #3606
- Disable the aggregate function in
YIELD
clause andWHERE
clauses of nGQL. #3597 - Fix the crash when using the aggregate function in
UNWILD
andWHERE
clauses. #3397 #3355 - Fix the bug that the tag index is rebuilt with an old schema version value. #3332
- Fix the bug that the query results will still contain the expired edges if we use
GO...REVERSELY
. #3536 - Fix the memory estimation error info in CentOS 6.0. #3534
- Fix the crash when the
LOOKUP
statement contains a filter that consists of a logical And expression and an IN expression with only one element. #3525 - Fix the bug that metad progress is suspended under high load. #3482
- Fix the unwinding subgraph crash. #3506
- Fix the
DROP SPACE
crash when rebuilding an index. #3406 - Fix the bug of reading memory stats under cgroup v2. #3419
- Fix the bug that
DROP TAG INDEX
deletes the edge index with same name unexpectedly, and vice versa for the deletion of the tag index. #3413 - Fix the bug that edges are not shown after a graph space is cloned. #3351
- Fix the index existence check problem. #3315
- Fix a bug that running the
ALTER
statement to query the type property may lead to a null pointer obtained by the graph service. #3325 - Optimize the raft to make the system more stable. #3172 #3435 #3358 #3322 #3031
- Cancel memory check when the ratio is greater than 1.0. #3289
- Fix building with ninja error. #3195
- Fix the bug that creating tag and edge with same name at the same time may be both succeed. #3735
- Fix the bug that failed to create full-text index for the same tag or edge internal id in different SPACE. #3747
- Fix variable inconsistency in
YIELD
clause andGO
statement. #3430 - Fix the crash when schema version is greater than 256. #3893
incompatible
Nebula Graph v3.0.0 does not support the most ecosystem tools of v2.x, please upgrade the ecosystem tools.
- The storage services added in the configuration files cannot be read or written directly. The configuration files only register the storage services into the meta services. You must run the
ADD HOSTS
command to read and write data on storage servers. #3343 - Disable ZONE and GROUP. #3776 #3825 #3330
- Disable
BALANCE DATA
. #3756 - Modify the default session timeout from 0 to 28800 seconds, limit the value between 1 and 604800 seconds. #3357 #3807
- Add
SHOW LOCAL SESSIONS
andSHOW LOCAL QUERIES
commands, and deprecateSHOW ALL QUERIES
. #3488 - A tag is not required for a vertex.
DELETE VERTEX
only deletes the vertices, and does not delete the related outgoing and incoming edges of the vertices. At this time, there will be dangling edges by default. #3316 #3335 #3328 #3286 - Disable the
YIELD
clause to return custom variables. #3271 - The
YIELD
clause is required in theFETCH
,FIND PATH
,LOOKUP
,GET SUBGRAPH
andGO
statements. #3056 #3139 #2957 - Add non-reserved keywords:
s2_max_level
,s2_max_cells
. #3396 - It is required to specify a tag to query properties of a vertex in a
MATCH
statement. For example, fromreturn v.name
to returnv.player.name
. #3255
download
Nebula Graph v2.6.2
bugfix
- Fixed the bug that memory not released when default value was used when no value was specified in nGQL. #3806
- Fixed the bug of reading memory stats under cgroup v2. #3792
- Fixed the bug that failed to create full-text index for the same tag or edge internal id in different SPACE. #3793
download:
Nebula Graph v2.6.1
bugfix
- Fixed the bug that the nebula connection will be interrupted if the
YIELD
clause inLOOKUP
contains aggregate function. #3245
download:
Nebula Graph v2.6.0
feature
- Support TOSS. #2525
- Support ZONE. #2604
- Support Geo Spatial. #2954 #2979 #3043
- Support crypto in transportation. #2584
- Support return query result as JSON format. #2824
- Support to clone space meta. #2763
- Support lookup index scan using IN expression as filter. #2906
- Integration Breakpad. #2536
- Support copying the local folder of metad to remote. #2532
- Support
DELETE TAG
. #2520 - Support concat function. #2540
- Support
SHOW META LEADER
. #2542
enhancement
- Optimize the computation of index scan limit pushdown. #2905 #2823 #2796
- Optimize the calculation of sampling and limit pushdown at each step of the go statement. #2904 #2853 #2831
- Better yield data format. #2555 #2572 #2779 #2895 #2944
- Enable prefix bloom filter by default to improve performance. #2860
- Support server to verify client version to make sure the connection reliability(client version start from v2.6.0). #2965
- Optimize flow control when pulling the entire partition. #2557
SHOW JOBS
only show space related. #2872- Grant job permission for all roles except GUEST. #2928
- Improve memory watermark detection. #2885
- Support to kill the slow queries of storage. #2534
bugfix
- Fixed the bug that clean part rocksdb data when raftpart::reset. #2522
- Fixed the bug which insert mismatched date time type. #2527
- Fixed the bug that setting millisecond failed but microsecond worked. #2781
- Fixed the meta service crash when inserting too much data in batches(millions lines). #2813
- Fixed the crash that getting edge when no edge schema exist in space. #2571
- Fixed the bug for that GO with WHERE clause expression eval when prop data type is fixed_string. #2762
- Fixed the bug when find all path. #2773
- Fixed the bug that users without roles have the permission to find all roles of SPACE. #2778
- Fixed the bug of case expression. #2819
- Fixed the infinite loop when use time(). #2820
- Fixed the bug while task node shutdown, this job will display "running" forever. #2843
- Fixed the bug insert statements may cause inconsistent attribute values between replicas in the case of multiple replicas. #2862
- Fixed the bug that space not right when submit job after USE. #3010
- Fixed the bug that getting attribute error of thrift struct when column is not nullable. #3011
- Fixed the bug that graphd is always running even if meta is not ready. #3048
- Fixed the bug that dangling edge will return a null vertex when use
FIND PATH WITH PROP
. #3008 - Fixed the crash when YIELD DISTINCT map value. #3051
- Fixed the bug that the service still starts with a wrong ip/host. #3057
- Fixed the bug that alter the same property in one statement. #3036
- Fixed the bug that the multi-step filtering on edge is invalid. #3144
download:
Nebula Graph v1.2.1
New Features
YIELD
clause supportsDISTINCT
#2368- Add
lookup_concurrently
option.LOOKUP
supports traversing all partitions concurrently, which improves the performance significantly #2417 LOOKUP
clause supportsDISTINCT
.LOOKUP ON
supports returning srcid and dstid of an edge #2415
Bugfix
- Fix the issue that
YIELD -1*1
may result in an overflow #2411 - Fix the issue that leader election may be unstable when RPC times out #2419
- Fix UnaryExpression bug which causes
storaged
crash #2412 - Fix the issue
LIMIT
andOFFSET
do not return the expected result #2428 - Fix the issue that partial results may return after the leader change. #2465
- Fix the issue that executing
FETCH PROP ON *
may lead tographd
crash after altering schema. #2461
Changelog
- Remove option
check_leader
. Metaclient always gets the meta info from the leader server. https://github.com/vesoft-inc/nebula/pull/2403,https://github.com/vesoft-inc/nebula/pull/2423
Nebula Graph v1.2.0
New Features
FIND PATH
support to find paths with or without regard to direction. And also support to exclude loops in paths. #2398- Add ARM64 support to Nebula Graph. #2392
- Add
auto_remove_invalid_space
option to indicate whether to remove data from a deleted graph space when restarting the services. #2375 #196
Improvements
- Improve the
DELETE
edges performance. #2404
Bugfix
Nebula Graph V1.1.0
Improvements
- Remove the lock inside
FunctionManager
for better performance. #2273 - Improve property-fetching performance by refactoring
VertexHolder::getDefaultProp
.#2249 - Optimize
GO
statement performance by adoptingunordered_map::reserve
andvector::reserve
, and removing storage query lock. #2268 - Reduce the unnecessary creation of snapshots and optimize performance. #2287 #2318
- Support configuring the prefix bloom filter for RocksDB. The prefix blooms can optimize
QueryEdgeProps
andQueryVertexProps
performance, as well as reduce memory usage. #2274 - Support configuring
compaction_thread_limiter
andrate_limiter
options of RocksDB. #2251 - Support obtaining RocksDB statistics through web service. #2262 #2243
- Support more dynamically configurable options of RocksDB, such as
max_open_files
,memtable_huge_page_size
. #2291 FETCH PROP ON
supports fetching multiple tag properties on multiple vertexes. The previous command’s output can be passed toFETCH PROP ON
as its input in the pipeline statement ("|").FETCH PROP ON *
supports getting the properties of multiple vertices. #2222 #117- Add a warning message for a partially successful query. #2290
- Raft lease is always valid when
replica_factor
is set to1
. #2276
Bugfixes
- Fix the leader election failure that may occur during the balancing process. #2232
- Fix the issue that there may be more than one election request after the RAFT election failed. #2305
- Fix the issue that the logging of the original service can't be recorded to the log file when the service was started multiple times. #2278 #2289
- Fix the issue that StorageClient
scanVertex
andscanEdge
interfaces failed to return the results afterenable_multi_versions
is set totrue
. #2312 - Fix the issue that
USE SPACE
andFIND PATH
statements cannot work together in a query. #2303 - Fix the issue that snapshots may be triggered unexpectedly. #2316
- Fix the issue that
storaged
may crash when a vertex with related edges and index is deleted. #2335 - Fix the issue that after
ALTER TAG/EDGE ADD <props>
,LOOKUP ON
the newly added properties may makegraphd
crash. #2341 - Fix the stale data problem when using LRUCache. #2267
- Fix the bug that meta service cannot be stopped in some cases. #2240
- Fix the issue that
MetaClientTest.HeartbeatTest
may be hung if the target port has already been used. #2296 - Fix the bug when stopping
metad
before the initialization ofjob manager
,metad
may crash. #2332 - Fix the bug that multiple indexes can exist for the same property set. #1695
Changelog
- Forbid range access for string-property indexes. For
LOOKUP ON xxx WHERE xxx
, if there are string properties in the WHERE clause, the exact-match index would be used to look up records. #2283 #2277 - Forbid
OR
andXOR
conditions inLOOKUP ON
statement. #2283 - The pipe (
|
) operation has deduped the input. #2292 - The default value for
rocksdb_disable_wal
option has been changed tofalse
. #2236
Nebula Graph v1.0.1
New Features
- Support
uuid()
inFIND PATH
statement #2209. - Support disabling block cache of rocksdb by setting
rocksdb_block_cache
ofstoraged.conf
to less than or equal to0
#2177 - Adopt
folly::SingletonThreadLocal
in meta client to avoid multi-threads mitigating lock contention onlocalCacheLock_
, which improves the performance significantly. #2165 Storage
supports different compression algorithms of rocksdb and setting different compressions for different levels. #2179
Bugfix
- Fix the issue that compaction filter does not work when calls manual compaction #2184
- Fix the issue that
Leader
sendsSnapshot
in some cases #2150 - Fix the issue when
UPSERT/UPDATE
the new prop of existing data after adding a new prop of tag/edgetype, an error return #2186 - Fix the issue that
GO m ... n
returns an error whenm
is set to0
#2202 - Fix the issue when combining
GO n STEPS
and|
pipe statement,an incomplete result is returned in some cases #2203
V1.0.0 GA
Basic Features
- Online DDL & DML. Support updating schemas and data without stopping or affecting your ongoing operations.
- Graph traversal.
GO
statement supports forward/reverse and bidirectional graph traversal.GO minHops TO maxHops
is supported to get variable hops relationships. - Aggregate. Support aggregation functions such as
GROUP BY
,ORDER BY
, andLIMIT
. - Composite query. Support composite clauses:
UNION
,UNION DISTINCT
,INTERSECT
, andMINUS
. - PIPE statements. The result yielded from the previous statement could be piped to the next statement as input.
- Use defined variables. Support user-defined variables to pass the result of a query to another.
- Index. Both the single-property index and composite index are supported to make searches of related data more efficient.
LOOKUP ON
statement is to query on the index.
Advanced Features
- Privilege Management. Support user authentication and role-based access control. Nebula Graph can easily integrate with third-party authentication systems. There are five built-in roles in Nebula Graph:
GOD
,ADMIN
,DBA
,USER
, andGUEST
. Each role has its corresponding privileges. - Support Reservoir Sampling, which will retrieve k elements randomly for the sampling of the supernode at the complexity of
O(n)
. - Cluster snapshot. Support creating snapshots for the cluster as an online backup strategy.
- TTL. Support TTL to expire items after a certain amount of time automatically.
- Operation & Maintenance
- Scale in/out. Support online scale in/out and load balance for storage
HOSTS
clause to manage storage hostsCONFIGS
clause to manage configuration options
- Job Manager & Scheduler. A tool for job managing and scheduling. Currently,
COMPACT
andFLUSH
jobs are supported. - Graph Algorithms. Support finding the full path and the shortest path between vertices.
- Provide OLAP interfaces to integrate with third-party graph analytics platforms.
- Support multiple character sets and collations. The default
CHARSET
andCOLLATE
areutf8
andutf8_bin
.
Clients
- Java Client. Support source code building and downloading from the MVN repository, see Java Client for more details.
- Python Client. Support source code building and installation with pip, see Python Client for more details.
- Golang Client. Install the client with the command
go get -u -v github.com/vesoft-inc/nebula-go
,see Go Client for more details.
Nebula Graph Studio
A graphical user interface for working with Nebula Graph. Support querying, designing schema, data loading, and graph exploring. See Nebula Graph Studio for more details.
Tools
- Data Import
- Nebula-Importer is used to import data from the CSV file.
- Spark Writer, a Spark-based distributed data import tool that converts data from multiple data resources into the Nebula Graph.
- Data Export
- Dump Tool. A single-machine off-line data dumping tool to dump or count data with specified conditions.
- Monitoring
- Nebula Stats Exporter (for Prometheus), is to collect database metrics and expose metrics to Prometheus. And Grafana has integrated for metrics Visualization and Alerting.