docs: add the OSS and Enterprise and connection pages

basics/offerings explains the two offerings and holds the comparison the
assembled site generates from the pages' availability. basics/connect
shows local, object storage and Enterprise connections with the existing
tested connection snippets. Both follow the landing page in Getting
Started.
This commit is contained in:
Brendan Clement
2026-10-08 15:59:35 -07:00
parent 03e573f442
commit f228295c34
3 changed files with 139 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
---
title: "Connect to LanceDB"
sidebarTitle: "Connect"
description: "Connect to an embedded database in a local directory or in object storage, or to a LanceDB Enterprise deployment."
icon: plug
keywords: ["connect", "uri", "embedded", "object storage", "s3", "enterprise", "db://"]
---
import {
PyConnect,
PyConnectAsync,
PyConnectEnterpriseQuickstart,
PyConnectObjectStorage,
PyConnectObjectStorageAsync,
RsConnect,
TsConnect,
TsConnectEnterpriseQuickstart,
TsConnectObjectStorage,
} from '/snippets/connection.mdx';
The URI you pass to `connect` decides where the work runs. The same Python,
TypeScript and Rust SDKs open all three kinds;
[OSS and Enterprise](/basics/offerings) describes how the two offerings differ.
| URI | Where queries run |
| --- | --- |
| A local path, such as `./data` | OSS: in your process |
| `s3://`, `gs://` or `az://` | OSS: in your process, reading object storage |
| `db://` | Enterprise: on the deployment |
## A local directory {#local}
Embedded in your application, LanceDB reads and writes the tables in a
directory on disk.
<CodeGroup>
<CodeBlock filename="Python (sync)" language="Python" icon="python">
{PyConnect}
</CodeBlock>
<CodeBlock filename="Python (async)" language="Python" icon="python">
{PyConnectAsync}
</CodeBlock>
<CodeBlock filename="TypeScript" language="TypeScript" icon="square-js">
{TsConnect}
</CodeBlock>
<CodeBlock filename="Rust" language="Rust" icon="rust">
{ "use lancedb::connect;\n" }
{ "\n" }
{RsConnect}
</CodeBlock>
</CodeGroup>
## Object storage {#object-storage}
With an object storage URI the library is still embedded: your process runs
every query and reads and writes the bucket directly, with the credentials from
its environment or its storage options. [Configuring storage](/deployment/storage)
covers credentials, endpoints and provider options.
<CodeGroup>
<CodeBlock filename="Python (sync)" language="Python" icon="python">
{PyConnectObjectStorage}
</CodeBlock>
<CodeBlock filename="Python (async)" language="Python" icon="python">
{PyConnectObjectStorageAsync}
</CodeBlock>
<CodeBlock filename="TypeScript" language="TypeScript" icon="square-js">
{TsConnectObjectStorage}
</CodeBlock>
</CodeGroup>
In Rust, pass the same URI to `connect`.
## LanceDB Enterprise {#enterprise}
A `db://` URI connects to a deployment, which runs each operation for you. Get
the database URI, API key, region and endpoint from the deployment's
administrator, and pass the endpoint as `host_override`. Keep the API key in a
secret manager or the environment rather than in source.
<CodeGroup>
<CodeBlock filename="Python" language="Python" icon="python">
{ "import lancedb\n\n" }
{PyConnectEnterpriseQuickstart}
</CodeBlock>
<CodeBlock filename="TypeScript" language="TypeScript" icon="square-js">
{ "import * as lancedb from \"@lancedb/lancedb\";\n\n" }
{TsConnectEnterpriseQuickstart}
</CodeBlock>
</CodeGroup>
In Rust, the connection builder takes the same settings through `api_key`,
`region` and `host_override`. To use OAuth instead of an API key, see
[Authentication](/enterprise/authentication); for every connection option, see
[Database](/management/database#deployment).
+36
View File
@@ -0,0 +1,36 @@
---
title: "OSS and Enterprise"
sidebarTitle: "OSS and Enterprise"
description: "LanceDB OSS and LanceDB Enterprise: what each one is, and which features each one has."
icon: compass
keywords: ["oss", "enterprise", "embedded", "deployment", "availability", "comparison"]
---
LanceDB comes in two forms. Both use the same SDKs and the same
[Lance](/basics/lance) tables, and this documentation covers both.
- **LanceDB OSS** is a library. It runs inside your process and works on tables
in a local directory or in object storage, with nothing else running on your
behalf.
- **LanceDB Enterprise** is a database service. A `db://` connection sends each
operation to a deployment, which runs it.
[Connect to LanceDB](/basics/connect) shows how to start with either.
## How a page says where it applies {#labels}
A page that declares its availability opens with a label.
<Badge color="green">OSS</Badge> and <Badge color="red">Enterprise</Badge> name
the offerings it applies to, and **varies** marks one where it depends on the
version or configuration; the sentence after the label says how. A page that
applies to one offering only also shows that offering's tag in the sidebar.
Every page stays in the same navigation, whichever offering you use.
## Feature availability {#availability}
These are the pages that declare where they apply.
{/* availability-comparison */}
[LanceDB Enterprise](/enterprise) describes what a deployment adds and how the
two differ in operation, such as scale, caching and maintenance.
+2
View File
@@ -253,6 +253,8 @@
"group": "Getting Started",
"pages": [
"index",
"basics/offerings",
"basics/connect",
"quickstart",
"architecture",
"basics/sdk",