I'm investigating some possibilities around an app that would deal with personal data for a large number of people, where it is important that users can't see data without authorisation. My first thought was to put everything into one TDB and select data for individual users via SPARQL, hiding the SPARQL endpoint behind an 'outer' API layer that would manage authentication etc. - a 'classic' database backed web-app approach.
One other possibility might be to have a separate TDB per person, which could then allow a SPARQL endpoint for each TDB to be exposed to the outside world (with authentication of some sort). But there could be a requirement for a large number of TDBs. I'm just wondering what architectural or server-resource limits there might be if trying to run an instance of Joseki or Fuseki with a very large number of different services, each with their own URL and their own instance TDB store? The other alternative is to have each person's data in a separate file and just query that using SELECT FROM. Data volume per person might be small enough to make that do-able. Thanks for any insight on this! Bill
