mrkeyoor.com_
Tue 10 Nov 23:48 UTC
Dataevaluationupdated 01 Nov 2026

lancedb review

Evaluate LanceDB if you want retrieval inside your application process; budget separately for validating your SDK and storage path. LanceDB Embedded runs in your application's process and can store data on local disk or in object storage. Our run on October 3, 2026, at commit 3d8c9e2 did not establish that an application workload works: dependency installation completed, but build and test commands timed out.

+25stars / 7d
Verdict

Evaluate LanceDB for embedded retrieval, then validate the exact SDK and storage path with representative application data. Our October 3, 2026, run at commit 3d8c9e2 completed installation but left build and tests unfinished at their time limits. The test tail supplies a concrete Python linking problem to investigate; it does not establish that published SDKs are unusable or that application queries fail. Choose an alternative according to its documented deployment model and your acceptance results.

We ran it

Lab card: what happened when we ran lancedbScreenshot of lancedb (lancedb.com/docs)
Install✓ · 55s881 packages
Build✗ timed out · 900s
Tests✗ timed out · 900sran, no count parsed
Repo790 files~241,047 lines of source · 22.2 MB · 18 CI workflows

Answers from our run

Does lancedb build from source?

Dependencies installed in 55 seconds (881 packages), and the build failed. We cloned commit 3d8c9e2 into a clean Debian container with 3 CPUs and no project-specific setup.

Do lancedb's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Who should not use lancedb?

Contributors who need this recorded source checkout to build successfully in the supplied sandbox without further investigation.

What are the alternatives to lancedb?

Qdrant, Chroma. Evaluate LanceDB for embedded retrieval, then validate the exact SDK and storage path with representative application data.

Setup2/5Source-evaluation scope: installation completed, but build and tests each timed out at 900 seconds. Published SDK setup was not tested.
Docs4/5The supplied README links a quickstart and Python, TypeScript, Rust and REST references. Instruction accuracy and completeness were not execution-tested.
Community5/5Narrow participation scope: the supplied release lists multiple contributors, and issue 4062 links a completed fix. This rating does not establish adoption or support responsiveness.
Maturity3/5The README documents several interfaces and retrieval modes, but v0.37.1 explicitly includes a breaking Rust change and our source checks remained unfinished.

Discussed on

  1. hnShow HN: Lance – Alternative to Parquet for ML data85 points
  2. hnBuilding an E2E Encrypted Chat Application with LanceDB and Libsodium27 points
  3. hnGPU-Accelerated Indexing in LanceDB19 points
  4. hnShow HN: LanceDB is an embedded vector database with a native JavaScript API10 points
  5. hnLanceDB – Developer-friendly, serverless vector database for AI applications9 points

Who it’s for

Developers evaluating embedded vector and full-text retrieval alongside metadata and multimodal data.
Teams whose data flow already uses Arrow, Pandas, Polars or DuckDB and who want to investigate LanceDB's documented integrations.
Contributors prepared to investigate native linking requirements before relying on source checks.
Teams able to test the exact SDK version and deployment mode they intend to use.

Who it’s NOT for

Contributors who need this recorded source checkout to build successfully in the supplied sandbox without further investigation.
Buyers seeking measured retrieval latency, recall, concurrency or production reliability from this review. Our run establishes none of those.
Teams assuming a successful dependency installation validates ingestion, querying or a cloud deployment.
Applications that cannot accommodate the documented breaking Rust API change in v0.37.1 without an upgrade review.

Setup reality

Our sandbox run on October 3, 2026, used commit 3d8c9e2, image lab-rust:1, 3 CPUs and 12 GB RAM. Installation completed in 55 seconds with exit code 0; the stored dependency count is 881. The harness recorded both build and test commands as timed out after 900 seconds each, with exit code 124.

The build tail is empty, so it supplies no compiler diagnosis. Separately, the test tail reports a missing -lpython3.11 library while linking embeddings_parallel_test. That diagnostic does not change the command-level timeout outcome or establish why the build command stopped.

The record contains no parsed test totals and no audit result. Passing, failing and skipped test counts, advisory totals and scan coverage are unknown. We did not validate published SDK installation, ingestion, search, cloud connectivity or deployment.

Should you evaluate LanceDB?

Start with LanceDB when keeping retrieval in the application process fits your design. Its current README describes embedded storage on local disk or object storage, plus vector similarity search, full-text search and SQL. Those are documented capabilities, not performance results from our sandbox. The supplied evidence does not establish the README's speed or scale claims through independent benchmarks.

The practical next step is a small acceptance check using your intended SDK, schema and storage location. Verify that representative data can be written, searched and reopened. If production will use a remote service, include that connection in the evaluation rather than treating a local result as evidence about remote behavior.

What our recorded run established

Our run took place on October 3, 2026, at commit 3d8c9e2. In our lab-rust:1 sandbox, dependency installation completed in 55 seconds. The stored dependency count is 881. Both build and test commands timed out after 900 seconds with exit code 124.

The harness stores command outcomes separately: success status, elapsed time, exit code and whether the command timed out. It also retains available log tails and parsed test results. Here, the overall stored status is build_failed, while the individual build and test records explicitly identify timeouts. Neither command completed successfully.

The build log tail is empty. The test log tail reports rust-lld: error: unable to find library -lpython3.11 and says it could not compile the embeddings_parallel_test target. This is a compilation diagnostic within the unfinished test command, not a failed test assertion. The tail also says other jobs were still running. We cannot assign that same linker diagnosis to the build command from an empty tail.

No parsed test totals are attached. There is no basis for reporting a pass rate or counting failed or skipped tests. There is also no audit result or recorded scan coverage. Installation success does not demonstrate working queries, a deployed CLI or a production workload.

The MrKeyoor testing methodology explains the publisher's command-level reporting and its limits. That page is provenance context; its later revision does not establish which methodology version governed this October 3 run. This correction uses the stored run and includes no new execution.

Separate SDK evaluation from source-build readiness

The README links a local quickstart and Python, TypeScript and Rust SDK references. Those are reasonable entry points for application evaluation, but our Rust source run did not test their published packages.

For contributors, investigate the Python library requirement shown in the test tail before repeating the source checks. The evidence does not identify a verified installation command or prove that resolving that requirement would make the remaining build and tests pass.

For application teams, keep local and remote acceptance checks separate. The v0.37.1 release notes contain remote-specific fixes, including error reporting for HTTP2 merge streams and logging when storage options are ignored while opening a remote table. Those notes justify checking the chosen connection mode; they do not prove a current defect in every SDK or deployment.

Read the JSON issue as a resolved report

Issue 4062 reports a TypeScript JSON-column insertion error and is marked closed as completed through pull request 4064. Its linked commit describes preserving JSON field metadata when adding data. The earlier report therefore cannot support a blanket warning that TypeScript JSON inserts remain broken today.

The useful acceptance check is narrower: exercise JSON insertion and retrieval on the exact package version you plan to ship. The supplied issue extract does not identify the first published package containing the fix, and our sandbox did not test JSON behavior.

The v0.37.1 release notes also mark the Rust add_columns builder change as breaking. Check that release when upgrading affected Rust code; the measured commit is a separate source snapshot, not evidence that our run tested the v0.37.1 release artifact.

Which alternative fits the deployment boundary?

Qdrant Server uses a client-server architecture, while Qdrant Edge runs inside the application process. Consider Server when you want an explicit service boundary; consider Edge separately when evaluating local operation. Describing all of Qdrant as server-only would hide a relevant option. Its supplied README supports these deployment roles, but our run provides no comparative performance result.

Chroma documents an in-memory client and a client-server mode. Consider it as another retrieval candidate when its collection and document API matches your application. The extract does not establish that it is faster, easier or more compatible than LanceDB.

These are alternative retrieval systems, not prerequisites or add-ons that LanceDB needs to operate. Evaluate each against the same application requirements before choosing a replacement.

How to read the retained ratings

These editorial ratings use a five-point rubric: 1 means severe documented barriers in the assessed scope; 2 means substantial unresolved friction; 3 means useful evidence with material limits; 4 means broad documented provision with verification gaps; 5 means strong directly visible evidence for the narrowly stated dimension. An unknown dimension would remain unassessed rather than receive a midpoint. The ratings do not measure adoption, security or production performance.

Setup ease is 2 for source evaluation because installation completed but both later commands timed out. Documentation is 4 for the visible quickstart and language-reference coverage, without claiming that we executed those instructions. Community is 5 only for visible participation in the supplied release and issue records: the release lists multiple contributors, and issue 4062 has a linked completed fix. It does not rate user numbers or support response times. Maturity is 3 because the documented API breadth sits alongside an explicitly breaking release change and an inconclusive source run.

Alternatives

ProjectWhat it isPick it when
Qdrant gh↗A vector database with a client-server product and an in-process Edge variant.Evaluate Qdrant Server when retrieval should live behind a service boundary; evaluate Qdrant Edge separately for local operation.
Chroma gh↗An AI data infrastructure project documenting an in-memory client and client-server operation.Evaluate Chroma when its collection and document API fits your retrieval application; verify persistence and deployment behavior in your own acceptance checks.

What people are saying

  1. [github-trending] lancedb/lancedb

Sources

  1. LanceDB README
  2. LanceDB v0.37.1 release
  3. Issue 4062: TypeScript JSON column inserts
  4. Issue 4063: JSON field helper
  5. LanceDB Claude Code marketplace

More data reviews

rerun · telegraf · rocksdb · redash · akshare · DB-GPT · the whole board →