Namespaces

For use-cases built around multiple, smaller graphs, thatDot Streaming Graph has native namespacing support. Compared with running multiple smaller standalone instances of Streaming Graph, namespaces offer a few advantages. System-level overhead and compilation caches are shared across all namespaces, reducing the overall resource footprint. Namespaces also provide a natural way to sandbox different use-cases, or to enable multi-tenancy. The backpressuring system can account for all namespaces, ensuring that one noisy neighbor doesn’t render the system inaccessible to other tenants. Additionally, namespaced graphs run within the same JVM and with the same persistor, yielding a reduced burden for deployment.

The default namespace is created when the graph is started and cannot be deleted. The default namespace is used for all API calls that do not specify a namespace. To use a different namespace, the namespace query parameter may be set on the API call. Namespace identifiers must be between 1 and 16 alphanumeric characters, must begin with a letter, and are case-insensitive. All ingest, graph algorithm, standing query, debug, and cypher query endpoints support the namespace parameter. Additionally, Streaming Graph exposes a namespace management API for creating, deleting, and listing namespaces.