<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Operations on Qdrant - Vector Search Engine</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/</link><description>Recent content in Operations on Qdrant - Vector Search Engine</description><generator>Hugo</generator><language>en-us</language><managingEditor>info@qdrant.tech (Andrey Vasnetsov)</managingEditor><webMaster>info@qdrant.tech (Andrey Vasnetsov)</webMaster><atom:link href="https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/index.xml" rel="self" type="application/rss+xml"/><item><title>Capacity Planning</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/capacity-planning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/capacity-planning/</guid><description>&lt;h1 id="capacity-planning">Capacity Planning&lt;/h1>
&lt;p>When setting up your cluster, you&amp;rsquo;ll need to figure out the right balance of &lt;strong>RAM&lt;/strong> and &lt;strong>disk storage&lt;/strong>. The best setup depends on a few things:&lt;/p>
&lt;ul>
&lt;li>How many vectors you have and their dimensions.&lt;/li>
&lt;li>The amount of payload data you&amp;rsquo;re using and their indexes.&lt;/li>
&lt;li>What data you want to store in memory versus on disk.&lt;/li>
&lt;li>Your cluster&amp;rsquo;s replication settings.&lt;/li>
&lt;li>Whether you&amp;rsquo;re using quantization and how you’ve set it up.&lt;/li>
&lt;/ul>
&lt;h2 id="calculating-ram-size">Calculating RAM size&lt;/h2>
&lt;p>You should store frequently accessed data in RAM for faster retrieval. If you want to keep all vectors in memory for optimal performance, you can use this rough formula for estimation:&lt;/p></description></item><item><title>Installation</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/installation/</guid><description>&lt;h1 id="installation-requirements">Installation requirements&lt;/h1>
&lt;p>The following sections describe the requirements for deploying Qdrant.&lt;/p>
&lt;h2 id="cpu-and-memory">CPU and memory&lt;/h2>
&lt;p>The preferred size of your CPU and RAM depends on:&lt;/p>
&lt;ul>
&lt;li>Number of vectors&lt;/li>
&lt;li>Vector dimensions&lt;/li>
&lt;li>&lt;a href="https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/manage-data/payload/">Payloads&lt;/a> and their indexes&lt;/li>
&lt;li>Storage&lt;/li>
&lt;li>Replication&lt;/li>
&lt;li>How you configure quantization&lt;/li>
&lt;/ul>
&lt;p>Our &lt;a href="https://cloud.qdrant.io/calculator" target="_blank" rel="noopener nofollow">Cloud Pricing Calculator&lt;/a> can help you estimate required resources without payload or index data.&lt;/p>
&lt;h3 id="supported-cpu-architectures">Supported CPU architectures:&lt;/h3>
&lt;p>&lt;strong>64-bit system:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>x86_64/amd64&lt;/li>
&lt;li>AArch64/arm64&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>32-bit system:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Not supported&lt;/li>
&lt;/ul>
&lt;h3 id="storage">Storage&lt;/h3>
&lt;p>For persistent storage, Qdrant requires block-level access to storage devices with a &lt;a href="https://www.quobyte.com/storage-explained/posix-filesystem/" target="_blank" rel="noopener nofollow">POSIX-compatible file system&lt;/a>. Network systems such as &lt;a href="https://en.wikipedia.org/wiki/ISCSI" target="_blank" rel="noopener nofollow">iSCSI&lt;/a> that provide block-level access are also acceptable.
Qdrant won&amp;rsquo;t work with &lt;a href="https://en.wikipedia.org/wiki/File_system#Network_file_systems" target="_blank" rel="noopener nofollow">Network file systems&lt;/a> such as NFS, or &lt;a href="https://en.wikipedia.org/wiki/Object_storage" target="_blank" rel="noopener nofollow">Object storage&lt;/a> systems such as S3.&lt;/p></description></item><item><title>Upgrades</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/upgrades/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/upgrades/</guid><description>&lt;h1 id="upgrading-qdrant">Upgrading Qdrant&lt;/h1>
&lt;p>If you are several versions behind, multiple updates might be required to reach the latest version. When upgrading Qdrant, upgrade to the latest patch version of each intermediate minor version first. For example, if you are running version 1.15 and want to upgrade to 1.17, you must first upgrade all cluster nodes to 1.16.3 before upgrading to 1.17. A Qdrant node with version 1.17 will be compatible with a node with version 1.16, but not with a node with version 1.15. If you run a single node cluster, you also can not skip versions to ensure that all data migrations are properly applied. Qdrant Cloud does this automatically for you.&lt;/p></description></item><item><title>Snapshots</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/snapshots/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/snapshots/</guid><description>&lt;h1 id="snapshots">Snapshots&lt;/h1>
&lt;p>&lt;em>Available as of v0.8.4&lt;/em>&lt;/p>
&lt;p>Snapshots are &lt;code>tar&lt;/code> archive files that contain data and configuration of a specific collection on a specific node at a specific time. In a distributed setup, when you have multiple nodes in your cluster, you must create snapshots for each node separately when dealing with a single collection.&lt;/p>
&lt;p>This feature can be used to archive data or easily replicate an existing deployment. For disaster recovery, Qdrant Cloud users may prefer to use &lt;a href="https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/cloud/backups/">Backups&lt;/a> instead, which are physical disk-level copies of your data.&lt;/p></description></item><item><title>Usage Statistics</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/usage-statistics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/usage-statistics/</guid><description>&lt;h1 id="usage-statistics">Usage statistics&lt;/h1>
&lt;p>The Qdrant open-source container image collects anonymized usage statistics from users in order to improve the engine by default. You can &lt;a href="#deactivate-telemetry">deactivate&lt;/a> at any time, and any data that has already been collected can be &lt;a href="#request-information-deletion">deleted on request&lt;/a>.&lt;/p>
&lt;p>Deactivating this will not affect your ability to monitor the Qdrant database yourself by accessing the &lt;code>/metrics&lt;/code> or &lt;code>/telemetry&lt;/code> endpoints of your database. It will just stop sending independent, anonymized usage statistics to the Qdrant team.&lt;/p></description></item><item><title>Monitoring &amp; Telemetry</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/monitoring/</guid><description>&lt;h1 id="monitoring--telemetry">Monitoring &amp;amp; Telemetry&lt;/h1>
&lt;p>Qdrant exposes its metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format" target="_blank" rel="noopener nofollow">Prometheus&lt;/a>/&lt;a href="https://github.com/OpenObservability/OpenMetrics" target="_blank" rel="noopener nofollow">OpenMetrics&lt;/a> format, so you can integrate them easily
with the compatible tools and monitor Qdrant with your own monitoring system. You can
use the &lt;code>/metrics&lt;/code> endpoint and configure it as a scrape target.&lt;/p>
&lt;p>Metrics endpoint: &lt;a href="http://localhost:6333/metrics" target="_blank" rel="noopener nofollow">http://localhost:6333/metrics&lt;/a>&lt;/p>
&lt;p>The integration with Qdrant is easy to
&lt;a href="https://prometheus.io/docs/prometheus/latest/getting_started/#configure-prometheus-to-monitor-the-sample-targets" target="_blank" rel="noopener nofollow">configure&lt;/a>
with Prometheus and Grafana.&lt;/p>
&lt;h2 id="metrics">Metrics&lt;/h2>
&lt;p>Qdrant exposes various metrics in Prometheus/OpenMetrics format, commonly used together with Grafana for monitoring.&lt;/p></description></item><item><title>Security</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/security/</guid><description>&lt;h1 id="security">Security&lt;/h1>
&lt;p>Qdrant supports various security features to help you secure your instance. Most
of these must to be explicitly configured to make your instance production
ready. Please read the following section carefully.&lt;/p>
&lt;h2 id="secure-your-instance">Secure Your Instance&lt;/h2>
&lt;aside role="alert">Custom deployments are &lt;b>not&lt;/b> secure by default and are &lt;b>not&lt;/b> production ready. Qdrant Cloud deployments are always secure and production ready.&lt;/aside>
&lt;p>By default, all self-deployed Qdrant instances are not secure. They are open to
all network interfaces and do not have any kind of authentication configured. They
may be open to everybody on the internet without any restrictions. You must
therefore take security measures to make your instance production-ready.
Please read through this section carefully for instructions on how to secure
your instance.&lt;/p></description></item><item><title>Troubleshooting</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/common-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/common-errors/</guid><description>&lt;h1 id="solving-common-errors">Solving common errors&lt;/h1>
&lt;h2 id="too-many-files-open-os-error-24">Too many files open (OS error 24)&lt;/h2>
&lt;p>Each collection segment needs some files to be open. At some point you may encounter the following errors in your server log:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Error: Too many files open (OS error 24)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In such a case you may need to increase the limit of the open files. It might be done, for example, while you launch the Docker container:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker run --ulimit &lt;span class="nv">nofile&lt;/span>&lt;span class="o">=&lt;/span>10000:10000 qdrant/qdrant:latest
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The command above will set both soft and hard limits to &lt;code>10000&lt;/code>.&lt;/p></description></item><item><title>Configuration</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/configuration/</guid><description>&lt;h1 id="configuration">Configuration&lt;/h1>
&lt;p>Qdrant ships with sensible defaults for collection and network settings that are suitable for most use cases. You can view these defaults in the &lt;a href="https://github.com/qdrant/qdrant/blob/master/config/config.yaml" target="_blank" rel="noopener nofollow">Qdrant source&lt;/a>. If you need to customize the settings, you can do so using configuration files and environment variables.&lt;/p>
&lt;aside role="status">
 Qdrant Cloud does not allow modifying the Qdrant configuration.
&lt;/aside>
&lt;h2 id="configuration-files">Configuration Files&lt;/h2>
&lt;p>To customize Qdrant, you can mount your configuration file in any of the following locations. This guide uses &lt;code>.yaml&lt;/code> files, but Qdrant also supports other formats such as &lt;code>.toml&lt;/code>, &lt;code>.json&lt;/code>, and &lt;code>.ini&lt;/code>.&lt;/p></description></item><item><title>Administration</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/administration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/administration/</guid><description>&lt;h1 id="administration">Administration&lt;/h1>
&lt;p>Qdrant exposes administration tools which enable to modify at runtime the behavior of a qdrant instance without changing its configuration manually.&lt;/p>
&lt;h2 id="recovery-mode">Recovery mode&lt;/h2>
&lt;p>&lt;em>Available as of v1.2.0&lt;/em>&lt;/p>
&lt;p>Recovery mode can help in situations where Qdrant fails to start repeatedly.
When starting in recovery mode, Qdrant only loads collection metadata to prevent
going out of memory. This allows you to resolve out of memory situations, for
example, by deleting a collection. After resolving Qdrant can be restarted
normally to continue operation.&lt;/p></description></item><item><title>Distributed Deployment</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/distributed_deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/distributed_deployment/</guid><description>&lt;h1 id="distributed-deployment">Distributed deployment&lt;/h1>
&lt;p>Since version v0.8.0 Qdrant supports a distributed deployment mode.
In this mode, multiple Qdrant services communicate with each other to distribute the data across the peers to extend the storage capabilities and increase stability.&lt;/p>
&lt;h2 id="how-many-qdrant-nodes-should-i-run">How many Qdrant nodes should I run?&lt;/h2>
&lt;p>The ideal number of Qdrant nodes depends on how much you value cost-saving, resilience, and performance/scalability in relation to each other.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Prioritizing cost-saving&lt;/strong>: If cost is most important to you, run a single Qdrant node. This is not recommended for production environments. Drawbacks:&lt;/p></description></item><item><title>Running with GPU</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/running-with-gpu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/running-with-gpu/</guid><description>&lt;h1 id="running-qdrant-with-gpu-support">Running Qdrant with GPU Support&lt;/h1>
&lt;p>Starting from version v1.13.0, Qdrant offers support for GPU acceleration.&lt;/p>
&lt;p>However, GPU support is not included in the default Qdrant binary due to additional dependencies and libraries. Instead, you will need to use dedicated Docker images with GPU support (&lt;a href="#nvidia-gpus">NVIDIA&lt;/a>, &lt;a href="#amd-gpus">AMD&lt;/a>).&lt;/p>
&lt;h2 id="configuration">Configuration&lt;/h2>
&lt;p>Qdrant includes a number of configuration options to control GPU usage. The following options are available:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">gpu&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Enable GPU indexing.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">indexing&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Force half precision for `f32` values while indexing.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># `f16` conversion will take place &lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># only inside GPU memory and won&amp;#39;t affect storage type.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">force_half_precision&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Used vulkan &amp;#34;groups&amp;#34; of GPU. &lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># In other words, how many parallel points can be indexed by GPU.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Optimal value might depend on the GPU model.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Proportional, but doesn&amp;#39;t necessary equal&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># to the physical number of warps.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Do not change this value unless you know what you are doing.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Default: 512&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">groups_count&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">512&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Filter for GPU devices by hardware name. Case insensitive.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Comma-separated list of substrings to match &lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># against the gpu device name.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Example: &amp;#34;nvidia&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Default: &amp;#34;&amp;#34; - all devices are accepted.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">device_filter&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># List of explicit GPU devices to use.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># If host has multiple GPUs, this option allows to select specific devices&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># by their index in the list of found devices.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># If `device_filter` is set, indexes are applied after filtering.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># By default, all devices are accepted.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">devices&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">null&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># How many parallel indexing processes are allowed to run.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Default: 1&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">parallel_indexes&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">1&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Allow to use integrated GPUs.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Default: false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">allow_integrated&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Allow to use emulated GPUs like LLVMpipe. Useful for CI.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Default: false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">allow_emulated&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>It is not recommended to change these options unless you are familiar with the Qdrant internals and the Vulkan API.&lt;/p></description></item><item><title>Optimize Performance</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/optimize/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/optimize/</guid><description>&lt;h1 id="optimizing-qdrant-performance-three-scenarios">Optimizing Qdrant Performance: Three Scenarios&lt;/h1>
&lt;p>Different use cases require different balances between memory usage, search speed, and precision. Qdrant is designed to be flexible and customizable so you can tune it to your specific needs.&lt;/p>
&lt;p>This guide will walk you three main optimization strategies:&lt;/p>
&lt;ul>
&lt;li>High Speed Search &amp;amp; Low Memory Usage&lt;/li>
&lt;li>High Precision &amp;amp; Low Memory Usage&lt;/li>
&lt;li>High Precision &amp;amp; High Speed Search&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/docs/tradeoff.png" alt="qdrant resource tradeoffs">&lt;/p>
&lt;h2 id="1-high-speed-search-with-low-memory-usage">1. High-Speed Search with Low Memory Usage&lt;/h2>
&lt;p>To achieve high search speed with minimal memory usage, you can store vectors on disk while minimizing the number of disk reads. Vector quantization is a technique that compresses vectors, allowing more of them to be stored in memory, thus reducing the need to read from disk.&lt;/p></description></item><item><title>Optimizer</title><link>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/optimizer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>info@qdrant.tech (Andrey Vasnetsov)</author><guid>https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/operations/optimizer/</guid><description>&lt;h1 id="optimizer">Optimizer&lt;/h1>
&lt;p>It is much more efficient to apply changes in batches than perform each change individually, as many other databases do. Qdrant here is no exception. Since Qdrant operates with data structures that are not always easy to change, it is sometimes necessary to rebuild those structures completely.&lt;/p>
&lt;p>Storage optimization in Qdrant occurs at the segment level (see &lt;a href="https://deploy-preview-2256--condescending-goldwasser-91acf0.netlify.app/documentation/manage-data/storage/">storage&lt;/a>).
In this case, the segment to be optimized remains readable for the time of the rebuild.&lt;/p></description></item></channel></rss>