microsoft / GraphView

GraphView is a DLL library that enables users to use SQL Server or Azure SQL Database to efficiently manage graphs.
Other
530 stars 142 forks source link

Support Azure SQL Elastic Tools #1

Open galvesribeiro opened 8 years ago

galvesribeiro commented 8 years ago

Awesome work Guys!

I would like to know if GraphView will ever support Azure SQL Elastic Pool/Tools so we can apply sharding and multi-tenancy (maybe using RLS?) to the GraphView.

Thanks!

liangjeffchen commented 8 years ago

A short answer is: we already have. GraphView does not create a new type of databases. A graph database in GraphView is a regular SQL DB. You create any number of Azure SQL DBs and add them to an elastic pool. An application connects to an individual DB and executes graph operations through GraphView. A DB experiencing a high volume of graph workloads will consume more resources, which is controlled by the elastic pool.

As for sharding, GraphView connects to an Azure SQL Database instance, which does not scale out. Hence, you have to do sharding manually.

As for the elastic database jobs service that runs T-SQL scripts across all DBs in the pool, our view is that this is mainly for DB administration scripts, scripts that are unrelated to graphs. It is possible that you want to run same graph operations across all DBs. If there is a strong demand on this scenario, we will support this. Before that, the current hack is to intercept the T-SQL scripts GraphView generates before it sends to the SQL DB, and then to submit such T-SQL scripts through the elastic database job service manually.