Skip to main content

Frequently Asked Questions

ApertureDB manages media, feature vectors, and associated metadata through a common query interface. These questions cover application development, deployment, and administration.

Getting Started​

Q: What technical workloads use ApertureDB?

A: Workloads include annotation management, nearest-neighbor search, dataset selection, and retrieval for training or inference. Retail applications, for example, associate media with labels and search for similar objects.

Q: What does ApertureDB manage in a multimodal application?

A: ApertureDB stores media, metadata, graph connections, and feature vectors. Applications can combine property filters, graph traversal, and similarity search in one query, with image and video processing during ingestion or retrieval.

Q: What support does the ApertureData team provide?

A: Support covers installation, configuration, schema design, ingestion, queries, and integrations with application tools. Contact the team through your support channel or support@aperturedata.io for the scope and arrangements that apply to your deployment.

Q: What does ApertureDB add when files already reside in a cloud bucket?

A: Object storage addresses files by their location. ApertureDB adds searches across metadata, labels, embeddings, and graph relationships. It associates the searchable information with the media and supports image or video processing when data is retrieved.

Q: How does vector search relate to the rest of the database?

A: Descriptors hold feature vectors used for similarity search. Graph connections associate them with images, documents, or other source objects. Queries can combine vector similarity with metadata filters and return the connected data.

Q: How long does onboarding take?

A: The work depends on deployment, schema design, data organization, and ingestion requirements. An existing hosted instance avoids provisioning a local server. A private deployment also requires infrastructure and registry access appropriate to the selected package.

Q: How is ApertureDB priced?

A: Subscription terms depend on database instances, storage tier, and support level. Contact ApertureData for current pricing and evaluation options.

Application Development​

Q: How do applications connect to ApertureDB?

A: Applications send JSON queries through the Python or C++ clients, or through the REST API. The Python package is available from PyPI. Requests can add, modify, or retrieve data and its metadata.

Q: How long does ingestion take?

A: Ingestion time depends on data organization, media encoding, and available resources. Reported customer workloads include approximately 8 million images with metadata in under 3 hours, 5 million descriptors in 2.5 hours, and 5 million segmentation polygons in 0.5 hours. These are results from specific workloads, rather than throughput guarantees.

Q: What scale has been reported on a single machine?

A: A reported biotech workload contained more than 1.3 billion entities and 300 million images. Capacity depends on object sizes, query workload, and the resources allocated to the instance.

Q: Which ML tools can use ApertureDB?

A: Integrations include PyTorch, REST-based applications, Label Studio, Amazon S3, and Voxel51, alongside the ApertureDB Web UI. These tools use the database for data selection, labeling, training, or visualization.

Q: How do applications retrieve large datasets in batches?

A: The batching API lets workers retrieve portions of a large result set. Dataset loaders for frameworks such as PyTorch use it to fetch batches of images or videos during training.

Q: Can operational and analytical queries run concurrently?

A: The server supports concurrent workloads. Queries that access the same data can affect one another's latency, particularly when writes are involved.

Q: Which settings affect query performance as data grows?

A: Index selection determines which filters and sort operations can use an index. The query workload and resources allocated to the database also affect performance; index configuration should reflect the application's queries.

ApertureDB Deployment​

Q: What components are deployed?

A: Deployment packages select the database and supporting container images, including the Web UI and monitoring components. The package determines storage, networking, and service configuration. Compose, Helm, and OpenTofu options are described in the deployment guides. The Python client is installed separately through pip.

Q: Can ApertureDB run in AWS or GCP?

A: Yes. ApertureDB can run in AWS or GCP, with deployment and storage settings provided by the selected package.

Q: How do updates work?

A: The deployment package defines the update procedure. Back up the database and review the release notes before replacing images. Coordinate managed-instance updates with the operator; availability during rollout depends on the deployment.

Q: Can a team maintain its own Kubernetes manifests?

A: Yes. Custom manifests must provide the database's required persistent storage, compute resources, networking, and service configuration.

Q: How can a deployment be monitored?

A: GetStatus checks connectivity and reports the server version. GetMetrics returns database metrics. The deployment guides describe the Prometheus and Grafana components included in each package.

Security and Compliance​

Q: How does authentication and access control work?

A: ApertureDB supports password and token authentication, encrypted client connections, and role-based access control. Users and roles can be managed through the Web UI or API.

Q: Does an ApertureDB instance in a customer VPC communicate with the ApertureData team?

A: No, it does not.

Q: What infrastructure access does support require?

A: Debugging can require access to the VM running ApertureDB. Data stored in a customer's VPC remains there rather than being transferred to ApertureData's cloud account. For hosted instances, customers can manage their own logins and passwords and choose encrypted cloud disks.

Q: Which open-source technologies does ApertureDB use?

A: Components include OpenCV, Faiss, LMDB, and ffmpeg. OpenSSL supports encrypted client connections, and Prometheus and Grafana provide monitoring.