Releases: vesoft-inc/nebula
Nebula Graph v1.0.0-RC4
!! 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
forGO
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
innebula-storage.conf
is to configure the number of returned edges #1746, #1915. -
Support more character sets and collations.
SHOW CHARSET
andSHOW COLLATION
statement show all available character sets and collations. It can be configured when creating the space. The defaultCHARSET
is utf8, and the correspondingCOLLATE
is utf8_bin #1709.
OLAP Interface
- Add Spark example for Nebula Graph.
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
inREVERSELY
andBIDIRECT
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
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 #1554Spark 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
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
andfbthrift
#1161
Tools
- Enhance
CSV Importer
, user can import CSV using docker image. See Nebula Importer for more details.
Client
- Add Python client, see Python Client for more details.
- For Golang client, see Go Client.
- For Java Client, see Java 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
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
,OR
,AND
andNOT
. (#858) - Support
TIMESTAMP
data type. (#843) - Add more functions for
String
data type, such asupper()
,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 andUPDATE 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
andgraphd
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
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
andMINUS
- Support
FETCH
statement to get the given vertex's tag properties - Support variable/pipe reference in
WHERE
andYIELD
- Support inserting multiple tags or edges
- Support arithmetic and logical computation in
YIELD
andWHERE
- 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
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.