# OpenData ## Docs - [Introduction](https://opendata.dev/docs/index.md) - [OpenData: Architecture](https://opendata.dev/docs/overview/architecture.md) - [OpenData: Writing Data](https://opendata.dev/docs/overview/writing-data.md) - [OpenData: Reading Data](https://opendata.dev/docs/overview/reading-data.md) - [OpenData: Storage](https://opendata.dev/docs/overview/storage.md) - [OpenData: Deployment](https://opendata.dev/docs/overview/deployment.md) - [Timeseries](https://opendata.dev/docs/timeseries/index.md): A Prometheus-compatible metrics database on object storage. - [Timeseries Quickstart](https://opendata.dev/docs/timeseries/quickstart.md): Install Timeseries locally and query metrics in minutes - [Timeseries Storage Design](https://opendata.dev/docs/timeseries/storage-design.md): How Timeseries organizes data in time buckets on SlateDB - [Timeseries Configuration](https://opendata.dev/docs/timeseries/configuration.md): Configure scrape targets, storage backends, and retention for Timeseries - [Timeseries Stateless Ingest](https://opendata.dev/docs/timeseries/ingest.md): Durable OTLP ingest for Timeseries via an object-storage queue - [Timeseries: Getting to Production](https://opendata.dev/docs/timeseries/production.md): Deploy, monitor, and secure Timeseries on Kubernetes with S3 storage - [Timeseries Benchmarks](https://opendata.dev/docs/timeseries/benchmarks.md): Ingestion throughput, query latency, and cost for a single-node Timeseries deployment - [When to choose Timeseries](https://opendata.dev/docs/timeseries/comparisons.md): How OpenData Timeseries compares to Prometheus, Thanos, Mimir, VictoriaMetrics, GreptimeDB, and managed observability - [Instant query](https://opendata.dev/docs/api-reference/instant-query.md): Evaluate a PromQL expression at a single point in time. - [Range query](https://opendata.dev/docs/api-reference/range-query.md): Evaluate a PromQL expression over a range of time, returning a matrix of time series with regularly spaced samples. - [List series](https://opendata.dev/docs/api-reference/list-series.md): Return the list of label sets (unique metric identities) that match a set of series selectors. This is useful for discovering which time series exist for a given metric name or label combination. - [List label names](https://opendata.dev/docs/api-reference/list-label-names.md): Return the sorted list of all label names present in the database. Optionally filtered by series selectors and/or a time range. - [List label values](https://opendata.dev/docs/api-reference/list-label-values.md): Return the sorted list of known values for a given label name. Optionally filtered by series selectors and/or a time range. - [Remote write](https://opendata.dev/docs/api-reference/remote-write.md): Ingest time series data using the [Prometheus Remote Write 1.0](https://prometheus.io/docs/specs/prw/remote_write_spec/) protocol. - [Log](https://opendata.dev/docs/log/index.md): A key-oriented, objectstore-native log for routing events to addressable destinations - [Log Quickstart](https://opendata.dev/docs/log/quickstart.md): Install Log locally and append your first events in minutes - [Log Storage Design](https://opendata.dev/docs/log/storage-design.md): How Log maps streams to LSM keys with segment-based compaction - [Log: Getting to Production](https://opendata.dev/docs/log/production.md): Deploy, monitor, and secure Log on Kubernetes with S3 storage - [Log Benchmarks](https://opendata.dev/docs/log/benchmarks.md): Ingest throughput, poll latency, and cost for a single-node Log deployment - [When to choose Log](https://opendata.dev/docs/log/comparisons.md): How OpenData Log compares to Kafka, WarpStream and the Kafka-on-S3 systems, S2, and NATS JetStream - [Append records](https://opendata.dev/docs/api-reference/append-records.md): Append one or more records to the log. Each record has a key (used for partitioning scans) and a value (arbitrary bytes, both base64-encoded in JSON). - [Scan entries](https://opendata.dev/docs/api-reference/scan-entries.md): Scan log entries for a given key within an optional sequence range. - [List keys](https://opendata.dev/docs/api-reference/list-keys.md): List distinct keys present in the log within an optional segment range. - [List segments](https://opendata.dev/docs/api-reference/list-segments.md): List log segments whose start sequence falls within the given range. Segments are the physical storage units of the log. - [Count entries](https://opendata.dev/docs/api-reference/count-entries.md): Count the number of log entries for a given key within an optional sequence range. - [Vector](https://opendata.dev/docs/vector/index.md): ANN Vector and full-text search on object storage. - [Vector Quickstart](https://opendata.dev/docs/vector/quickstart.md): Install Vector locally and search your first documents in minutes - [Vector Data Model](https://opendata.dev/docs/vector/data-model.md): Collections, records, attributes, and vectors - [Vector Storage Design](https://opendata.dev/docs/vector/storage-design.md): How Vector indexes records to support efficient similarity search - [Vector: Getting to Production](https://opendata.dev/docs/vector/production.md): Deploy, monitor, and secure Vector on Kubernetes with S3 storage - [Vector Benchmarks](https://opendata.dev/docs/vector/benchmarks.md): Query latency, ingest throughput, and cost for OpenData Vector across standard ANN datasets - [When to choose Vector](https://opendata.dev/docs/vector/comparisons.md): How OpenData Vector compares to turbopuffer, Pinecone, Qdrant, Milvus, Weaviate, Chroma, LanceDB, and pgvector - [Upsert vectors](https://opendata.dev/docs/api-reference/upsert-vectors.md): Upsert one or more vectors into the collection. Each vector has a user-provided string ID (up to 64 bytes), a dense embedding in the `vector` attribute, and optional metadata attributes. - [Delete vectors by ID](https://opendata.dev/docs/api-reference/delete-vectors-by-id.md): Delete one or more vectors from the collection by their user-provided string IDs. IDs that do not exist are silently ignored. - [Search for nearest neighbors](https://opendata.dev/docs/api-reference/search-for-nearest-neighbors.md): Return the top `k` records for a query. Provide exactly one of `vector` (approximate nearest neighbor search) or `bm25` (full-text BM25 search over a text field); the two are mutually exclusive. Optionally filter results by metadata attributes using a filter expression. - [Get a vector by ID](https://opendata.dev/docs/api-reference/get-a-vector-by-id.md): Retrieve a single vector and its attributes by its user-provided ID. - [Buffer](https://opendata.dev/docs/buffer/index.md): An MIT-licensed, stateless buffer that turns object storage into a low-latency queue, replacing Kafka for many high throughput pipelines. - [Buffer Architecture](https://opendata.dev/docs/buffer/architecture.md): How Buffer works - [Buffer Configuration](https://opendata.dev/docs/buffer/configuration.md): Configure object storage, batching, and garbage collection for Buffer - [Buffer Integrations](https://opendata.dev/docs/buffer/integrations.md): First-party producer and consumer integrations for Buffer. - [Buffer Benchmarks](https://opendata.dev/docs/buffer/benchmarks.md): End-to-end latency, throughput, and cost for Buffer pipelines on object storage - [When to choose Buffer](https://opendata.dev/docs/buffer/comparisons.md): How OpenData Buffer compares to Kafka, WarpStream, Kinesis, SQS, and DIY object-storage staging ## OpenAPI Specs - [vector](https://opendata.dev/docs/openapi/vector.yaml) - [log](https://opendata.dev/docs/openapi/log.yaml) - [timeseries](https://opendata.dev/docs/openapi/timeseries.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.