We have received various inquiries on high-end metadata stores. I will here go through some salient questions. The requested features include:
- Scaling to trillions of triples
- Running on clusters of commodity servers
- Running in federated environments, possibly over wide area networks
- Built-in inference
- Transactions
- Security
- Support for extra triple level metadata, such as security attributes
Q: What is the storage cost per triple? answer
Q: What is the cost to insert a triple? answer
Q: What is the cost to delete a triple? (For the insertion itself, as well as for updating any indices) answer
Q: What is the cost to search on a given property? answer
Q: What data types are supported? answer
Q: What inferencing is supported? answer
Q: Is the inferencing dynamic or is an extra step required before inferencing can be used? answer
Q: Do you support full text search? answer
Q: What programming interfaces are supported? Do you support standard SPARQL protocol? answer
Q: How can data be partitioned across multiple servers? answer
Q: How many triples can a single server handle? answer
Q: What is the performance impact of going from the billion to the trillion triples? answer
Q: Do you support additional metadata for triples, such as timestamps, security tags etc? answer
Q: Should we use RDF for our large metadata store? What are the alternatives? answer
Q: How multithreaded is Virtuoso? answer
Q: Can multiple servers run off a single shared disk database? answer
Q: Can Virtuoso run on a SAN? answer
Q: How does Virtuoso join across partitions? answer
Q: Does Virtuoso support federated triple stores? If there are multiple SPARQL end points, can Virtuoso be used to do queries joining between these? answer
Q: How many servers can a cluster contain? answer
Q: How do I reconfigure a cluster, adding and removing machines, etc? answer
Q: How will Virtuoso handle regional clusters? answer
Q: Is there a mechanism for terminating long running queries? answer
Q: Can the user be asynchronously notified when a long running query terminates? answer
Q: How many concurrent queries can Virtuoso handle? answer
Q: What is the relative performance of SPARQL queries vs. native relational queries answer
Q: Does Virtuoso support property tables? answer
Q: What performance metrics does Virtuoso offer? answer
Q: What support do you provide for concurrency/multithreading operation? Is your interface thread-safe? answer
Q: What level of ACID properties are supported? answer
Q: Do you provide the ability to atomically add a set of triples, where either all are added or none are added? answer
Q: Do you provide the ability to add a set of triples, respecting the isolation property (so concurrent accessors either see none of the triple values, or all of them)? answer
Q: What is the time to start a database, create/open a graph? answer
Q: What sort of security features are built into Virtuoso? answer