Having multiple databases in amazon neptune - amazon-web-services

In mysql we can create multiple databases and then we create different different tables in those database. e.g.
mysql> create database demo;
mysql> use demo;
mysql> create table test_demo (id int);
This allows us to create multiple tables under different different databases which provides virtual seggregation.
I am looking for similar stuff in amazon neptune. Is it possible to create different databases in amazon neptune and then to build the graph in those database which are independent from each other? If it is possible then how ?
Note: I don't want to create the separate cluster for my each graph hence above question.

At present, Neptune is a single-tenant database service. This means that a single Neptune cluster can only host a single logical database.
If you're looking to use a single cluster to host data for multiple contexts/users, you would need to do this within the application and use different aspects of the data model to denote these different contexts. For example, if you have a Person node label in your graph, you could use separate prefixes to denote which Person nodes relate to different users: User1.Person, User2.Person, ..., UserX.Person. Similar for edges and property keys.

Related

How are cross database joins performed in superset?

How are cross database joins performed in superset? For example, are the 2 datasources pulled into a pandas dataframe? or a sqlite / postgres db? then joined in memory? or do you have to provide a database instance for superset to perform operations like these?
Superset provides the possibility of creating Virtual Datasets with custom SQL queries, so you need to have your datasources in tables in a database to perform the joins and create charts using the Virtual Datasets.
If I understand the question correctly, I believe the SuperSet is an opensource equivalent to the ADO.Net DataSet from Microsoft. If so, then the selected data from both DB's are pulled into memory (data tables) using separate connections (because each connectionstring is going to be different) and then the operations are performed on the fly, in memory.
In that scenario, no external database would be required.

Restrict access to a table in SQL Lab in Superset

I have database with many tables. Users have full access to this database and tables to create various charts and dashboards. They use SQL Lab extensively to write custom queries.
However I added a sensitive data in a separate table that needs to be accessed only by few set of users. How can I achieve?
I tried ROW-LEVEL-SECURITY feature.
However, this affects only to Virtual Tables created by Superset. I want to restrict during direct SQL Lab access also.
Possible Solution:
Create ACL at database level and create a seperate connection in Superset.
Cons - This requires a duplicate connection to same database twice.
Ideal solution:
To restrict SQL Lab access to specific tables at superset level. e.g Superset should check User roles and ACLs and decide upon a table can be queried or not.
Is this possible?
Maybe consider implement proper access control to your data with Ranger and from superset impersonate login user.

Create database kind of thing in Druid

I am using druid to store data for creating dashboard over superset. Now, I want to use the same cluster to store data for other project which is not completely different. But we want to segregate datasources of both the projects.
Is there a way to create database/keyspace sort of thing to segregate datasources of two different project in druid?
Multiple way to work with this use case.
Easiest one create multiple datasources into superset. Based on the same connection to druid.
Then create roles to provide access to this datasources. Then end user will have 1 or multiple roles. Each role providing data from druid but from different perspective. Every user will be able to create his own dash based on this dataset if allowed by role.
Other way is to user row security level. Each row has a specific tag. Each user is configured to have access to 1 or many tags. This approch allow you to have the same dash for all users
More ressources here => https://superset.apache.org/docs/security

Best SymmetricDBS architecture for DC to DR replication

We would like to back up a SQL Server cluster at the DC site to another standalone SQL Server at the DR site. We would like to use SymmetricDS and we want all DB objects from the source to be mirrored to the DR (including new tables, triggers and stored procedures). Some tables do not have primary keys.
We would like to know the type of architecture best suited to our needs.
The configuration for SymmetricDS would be two nodes that sync with each other. You could use one node group and link them, like "primary pushes to primary". By using bi-directional, you can use your mirror database when needed, and it will capture changes to get the other one back in sync when it becomes available.
SymmetricDS will replicate tables and data, but it does not replicate triggers and stored procedures. Also, the table replication works for most common cases, but misses details like computed columns and defaults that call functions.

DynamoDB: multiple project on the DB

we'd like to use DynamoDB for several application (each with multiple tables). Is there any way how to group tables together (something like folders)? I tried to tag a tables, but when I created resource group I didn't see dynamoDB under resource types. Thx
Currently, there is no approach to organize the tables in AWS Console. In most of the cases, prefixes are used to keep the tables together in the list.
e.g:
prod_users
prod_tenants
stag_users
stag_tenants