Skip to content

Releases: vesoft-inc/nebula

Nebula Graph v1.0.0-RC4

02 Apr 11:52
d7422b6
Compare
Choose a tag to compare
Pre-release

!! Note:RC4 is not compatible with the Data inserted before commitID 43453a0 (2020.02.06) due to the change of the underlying data structure.

New features

  • Support Index to make searches of related data more efficient. An index on a property/properties combination can be created with CREATE INDEX. DROP INDEX is to drop an index #1776. REBUILD INDEX is to reindex the data #1566.

  • Support LOOKUP ON to query on index #1705. See #1738 for the performance of Storage Engine when inserting data with an index.

  • Introduces account management and access control #1842, #1873. All users may perform only the operations permitted to them. Roles provided by Nebula Graph and their privileges please refer to #1929. Add --enable_authorize=true to nebula-graphd.conf and restart the services to enable authentication.

  • Support TTL to remove items after a certain amount of time automatically #1584#422, #1934.

  • Enhance DELETE VERTEX to support deleting a batch of vertices. And supports hash() and uuid() functions for VertexID #1317, #1759.

  • Introduces Job Manager, to manage the jobs that take a long time of Storage Engine. At present, it supports flush and compact operations. SUBMIT JOB is to submit a job, STOP JOB stops the running jobs,SHOW JOB shows the details info of a job, RECOVER JOB is to put back the failed job to the queue #1424.

  • Support BIDIRECT for GO query to traverse along with both ingoing and outgoing directions #1740, #1752.

  • Support Reservoir Sampling, set enable_reservoir_sampling to TRUE is to turn on the sampling. Max_edge_returned_per_vertex in nebula-storage.conf is to configure the number of returned edges #1746, #1915.

  • Support more character sets and collations. SHOW CHARSET and SHOW COLLATION statement show all available character sets and collations. It can be configured when creating the space. The default CHARSET is utf8, and the corresponding COLLATE is utf8_bin #1709.

OLAP Interface

Tools

  • Support Deploying Nebula Graph on Kubernetes with Helm #1473
  • Introduce Nebula Stats Exporter (for Prometheus) to collect database metrics and expose metrics to Prometheus. And Grafana has integrated for metrics Visualization and Alerting.

Change

  • RC4 is not compatible with the Data inserted before commitID 43453a0 (2020.02.06) due to the change of the underlying data structure.
  • DOC move to repo vesoft-inc/nebula-doc
  • For Nebula Python Client, is_async is not supported when creating ConnectionPool. Async client will be introduced later.
  • _src in REVERSELY and BIDIRECT statements represent the queried node instead of the src of the edge. While _dst refers to the other connected nodes. e.g. GO FROM <vid> OVER <edgetype> YIELD edgetype._src returns the vid. #1740

Nebula Graph v1.0.0-RC3

07 Feb 02:59
48569fa
Compare
Choose a tag to compare
Pre-release

Query engine

  • Support fetching all props of a given vertex #1486
  • Support DELETE EDGE to delete the given edge #1063
  • Add IF EXISTS to conditionally drop a tag/edgetype only if it exists. #1505
  • Add IF NOT EXISTS to conditionally create a space/tag/edge only if it does not exist #1379
  • Export graphd metrics #1451

Storage

  • Add scan edge/vertex interface to retrieve data from storage for OLAP, #1381
  • Support heartbeat_interval_secs option to config heartbeat interval between storage/graph and meta #1540
  • Pushdown filter to minimize data transfer and improve query performance #947
  • Support local conf mode, using local conf rather than config in meta server #1411
  • Add timeout for storage/meta clients, the default value is 60s and configured by meta_client_timeout_ms option #1399
  • Support creating a snapshot for the whole cluster #1199 #1372
  • Both support reading from leader/follow and support only read from the leader #1363
  • Add check step for each balance task during the balancing process. #1378

Build

  • Simplify the build process, support most of Linux Kernel 2.6.32+ system #1332
    Index
  • Support create an index, get a list of all indexes in the space and drop an index #1459 #1360

Tools

  • dump_tools, an off-line data dumping tool that can be used to dump or count data with specified conditions. #1479 #1554
  • Spark Writer adopts async client,add Hash and UUID support,support load data into the same schema from different data source #1405 #1512. It also supports configuring Spark partition #1412.

UI

  • Nebula Graph Studio is the graphical user interface for working with Nebula. Query, visualize nebula and import CSV data to Nebula. Visualize and explore graph data via the interface; an editor with syntax highlighting feature enables users to design queries fast and view query results in a structured manner; support data import via GUI. Here's the repo of this tool (including documentation and deployment files): https://github.com/vesoft-inc/nebula-web-docker

Nebula Graph Release v1.0.0-RC2

02 Dec 02:27
Compare
Choose a tag to compare
Pre-release

Query Engine

  • Support GROUP BY to group items that have the same values,often used with aggregate functions (COUNT, MAX, MIN, SUM, AVG, etc.) to group the result-set by one or more property field. #749
  • UPDATE CONFIGS supports expression #1273
  • Support changing log severity level and verbose level from console #1273
  • Support IF... RETURN... to return the result if a specified condition is true #1233 #1246
  • String properties could have unlimited length #1103
  • Support GO FROM ... REVERSELY to implement reverse query #1349
  • When insert vertices and edges, users can specify properties order instead of following the schema defined order #1219

Storage

  • Support SHOW PARTS to fetch the partition information of current space #1086
  • Support BALANCE STOP to stop load balance process #1238
  • Support triggering the compaction and flush manually #677 #1240
  • Change BlockBasedTable default block cache size from 4MB to 1024MB #1248
  • Add max_edge_returned_per_vertex gflags option to limit the return size of supper vertex #1221
  • Add cache for vertex #1294 #1268
  • Upgrade dependencies folly and fbthrift  #1161

Tools

  • Enhance CSV Importer, user can import CSV using docker image. See Nebula Importer for more details.

Client

Changed/Removed

  • Remove commands ADD/REMOVE HOSTS, the hosts could be discovered automatically #1172  

Coming soon

  • See RoadMap for the features coming soon

Nebula Graph v1.0.0-rc1

05 Nov 02:22
Compare
Choose a tag to compare
Pre-release

nGQL

  • Support LIMIT to limit the number of items returned from a result set. (#750)
  • Support YIELD in Pipe Syntax to designate return type. (#745)
  • Support ORDER BY  used to sort the records in the result set. (#537)
  • Support udf_is_in to check if a value matches any value in a given value set. (#1096)
  • Support DELETE VERTEX to delete the vertex and its associated in and out edges. (#868)
  • Support UUID() to generate the global unique identifiers. (#958, #961, #1031)
  • Support Logic Symbols XOR, ORAND and NOT. (#858)
  • Support TIMESTAMP data type. (#843)
  • Add more functions for String data type, such as upper(), trim(), lower(), substr(). (#841)
  • Support type casting in logic comparison. (#964)
  • Add leader information for SHOW HOSTS statement. (#918)
  • Support SHOW CONFIGS statement to show configuration options of the specific service [meta/storage/graph], GET CONFIGS to get the option value and UPDATE CONFIGS to update the option value. (#504)
  • Support FIND PATH statement to find the shortest path and full path. (#847)
  • Enhance GO statement to support graph traversal over multiple edge types. (#699)
  • Simplify the build process. (#1047, #948, #1083)

Storage

  • Support PUT/GET interface in storage engine. (#977)
  • Add Leader balance. (#731, #881)
  • Support HTTP interface to monitor performance metrics (such as QPS, Latency AVG/ P99/ P999, etc.) of each storage server. (#872, #1136)
  • Support scaling out/in for storage. (#421, #444, #795, #881, #998)
  • Support retry for Meta client, three times by default. (#814)

Tools

  • Add Golang Importer and support loading data from CSV file concurrently.

Change

  • Change the configuration template of storaged

Others

  • Split metad, storaged and graphd into three images. Add Dockerfiles to build images. (#923)
  • Add Golang client support and move clients to separate repositories, check vesoft-inc/nebula-go and vesoft-inc/nebula-java for details.

Nebula Graph v1.0.0-beta

14 Aug 15:34
Compare
Choose a tag to compare
Pre-release

Storage Engine

  • Support cluster deployment
  • Add raft and support scheduling Raft leader
  • Support HBase in storage engines
  • Support importing data from HDFS

nGQL

  • Support comment syntax
  • Support creating space with default options, showing space and dropping space
  • Support describing and listing tags and edge types
  • Support DISTINCT statement to return only distinct values
  • Support UNION, INTERSECT and MINUS
  • Support FETCH statement to get the given vertex's tag properties
  • Support variable/pipe reference in WHERE and YIELD
  • Support inserting multiple tags or edges
  • Support arithmetic and logical computation in YIELD and WHERE
  • Support ORDER BY statement to sort the result set
  • Support CRUD hosts

Docs

  • Add User Manual
  • Add Home Page

Tools

  • Java importer - To load data from CSV file
  • package_build - To support multiple Linux release
  • A perf tool for storage service to implement the stress test
  • Console supports keyword auto-completion

Changed

  • $$[tag].prop is changed to $$.tag.prop
  • Refactor nebula.service script to start/stop service

Nebula Graph v0.1.0

14 May 10:00
Compare
Choose a tag to compare
Nebula Graph v0.1.0 Pre-release
Pre-release

This is the first release of Nebula Graph, a brand new, fast and distributed graph database.

Available Features

  • Physical data isolation with Graph Space
  • Strongly typed schema support
  • Vertices and edges insertion
  • Graph traversal(the GO statement)
  • Variable definition and reference
  • Piping query result between statements
  • Client API in C++, Golang and Java

Features Coming Soon

  • Raft support
  • Query based on secondary index(the LOOKUP statement)
  • Sub-graph retrieval(the MATCH statement)
  • User defined function call
  • User management

Try Out

A Docker image is available for trial purpose. You can get it by following the guide here.