Skip to content

What is a document database and vector database#3104

Open
aishwaripahwa12 wants to merge 4 commits into
stardustfrom
docuemnt-database-vector-databse-guide-for-developers
Open

What is a document database and vector database#3104
aishwaripahwa12 wants to merge 4 commits into
stardustfrom
docuemnt-database-vector-databse-guide-for-developers

Conversation

@aishwaripahwa12

Copy link
Copy Markdown
Contributor

Latest SEO blogs

@appwrite

appwrite Bot commented Jul 15, 2026

Copy link
Copy Markdown

Appwrite Website

Project ID: 69d7efb00023389e8d27

Sites (1)
Site Status Logs Preview QR
 website
69d7f2670014e24571ca
Queued Queued View Logs Preview URL QR Code

Website (appwrite/website)

Project ID: 684969cb000a2f6c0a02

Sites (1)
Site Status Logs Preview QR
 website
68496a17000f03d62013
Queued Queued View Logs Preview URL QR Code


Tip

JWT tokens let functions act on behalf of users while preserving their permissions

@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds two new SEO-focused blog posts — one on document databases and one on vector databases — along with their cover images and cache entries.

  • Both posts are marked unlisted: true, have valid frontmatter, and reference the author slug aishwari which exists in the repo.
  • All internal /blog/post/... and /docs/... links in both articles were verified to resolve to existing routes in the repository.
  • The .optimize-cache.json entries for both images are present (extension differences from the committed .avif files are intentional per project convention).

Confidence Score: 5/5

Two new blog posts adding purely additive content; no code paths, APIs, or application logic are touched.

Both posts are static markdoc files with no logic. All internal links resolve to existing routes, author slugs are valid, cover images and cache entries are present, and the articles are marked unlisted so they won't surface prematurely in the blog index.

No files require special attention.

Important Files Changed

Filename Overview
src/routes/blog/post/what-is-a-document-database-an-expert-guide-for-developers/+page.markdoc New blog post explaining document databases; all internal links verified to exist, author slug valid, frontmatter well-formed.
src/routes/blog/post/what-is-a-vector-database-an-ai-developer-guide/+page.markdoc New blog post explaining vector databases; all internal links verified to exist, frontmatter well-formed.
.optimize-cache.json Two new cache entries added for the new cover images; both image files have corresponding entries (extension differences between cache and committed files are intentional per project convention).
static/images/blog/what-is-a-document-database-an-expert-guide-for-developers/cover.avif Cover image for the document database blog post; referenced correctly in frontmatter.
static/images/blog/what-is-a-vector-database-an-ai-developer-guide/cover.avif Cover image for the vector database blog post; referenced correctly in frontmatter.

Reviews (4): Last reviewed commit: "Merge branch 'stardust' into docuemnt-da..." | Re-trigger Greptile

@adityaoberai
adityaoberai changed the base branch from main to stardust July 20, 2026 12:49

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this blog supposed to be added here?

@adityaoberai adityaoberai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to look at all the pieces of content not relevant to Init

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this blog supposed to be here?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, these non related blogs are not going to merged into main immediately and any blogs meant for Init should be kept on a separate PR

- question: When should you use a document database?
answer: Use a document database when your data is nested, varies between records, or changes frequently. It is commonly used for user profiles, product catalogs, content management systems, real-time apps, and AI applications.
---
# What is a document database? An expert guide for developers

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Repeated title

Suggested change
# What is a document database? An expert guide for developers

Comment on lines +24 to +26
Most database tutorials start with tables, rows, and columns. But the data you actually work with in application code rarely looks like a table. It looks like a nested object: a user with an address, a list of orders, and a set of preferences, all in one place. A **document database** stores that object as-is, without flattening it across five normalized tables.

If you have ever spent an afternoon writing a migration just to add one optional field, you already understand the cost this model tries to remove. This guide explains what a document database is, how it stores data, how it differs from a relational database, and when it is the right choice.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're mentioning what a document database is before we actually describe it. Also, this says NoSQL dbs are easy and convenient but we're not getting into any real problems either. Let's rethink the intro.

* [MongoDB](https://www.mongodb.com/docs/manual/) is the most widely used document database, known for its flexible querying and mature tooling.
* [Amazon DynamoDB](https://docs.aws.amazon.com/dynamodb/) is a managed key-value and document store built for predictable low-latency access at scale.
* [Apache CouchDB](https://docs.couchdb.org/) focuses on offline-first replication and sync.
* [Appwrite Databases](/docs/products/databases) offers the document model with built-in permissions, queries, and realtime updates as part of a backend platform.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not yet, and if we are talking about DocumentsDB, we need to mention it explicitly


## How Appwrite implements the document model

[Appwrite Databases](/docs/products/databases) is a document database that stores data in collections of JSON-like documents. It keeps the flexibility of the document model while adding the pieces most projects end up needing anyway.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not currently

Comment on lines +124 to +140
## How Appwrite implements the document model

[Appwrite Databases](/docs/products/databases) is a document database that stores data in collections of JSON-like documents. It keeps the flexibility of the document model while adding the pieces most projects end up needing anyway.

* [Queries](/docs/products/databases/queries) let you filter, sort, and paginate documents without writing raw query syntax. For a walkthrough, see [understand Appwrite queries](/blog/post/understand-data-queries).
* [Relationships](/docs/products/databases/relationships) give you first-class one-to-many and many-to-many links between collections.
* [Permissions](/docs/products/databases/permissions) are enforced at the document level, so access control is part of the data model rather than a separate layer.
* **Realtime updates** push changes to connected clients as documents change, which fits chat, dashboards, and collaborative apps.

Appwrite is also flexible about its storage engine. It originally shipped with MariaDB and, since version 1.9, supports MongoDB as the underlying database, while your application code talks to the same Databases API regardless. If you want to connect an external engine instead, see [integrate SQL, NoSQL, vector, graph, or any database into your Appwrite project](/blog/post/integrate-sql-nosql-vector-graph-or-any-database-into-your-appwrite-project).

## Getting started with Appwrite Databases

A document database is the right choice when your data is flexible, nested, or still evolving, and when iteration speed matters as much as structure. It is not a universal replacement for relational databases, but for the majority of modern app and AI workloads, the document model removes friction without giving up much in return.

If you want the flexibility of the document model with permissions, queries, relationships, and realtime built in, [Appwrite Databases](/docs/products/databases) is designed for exactly that kind of fast, iterative development. Start with the [databases quick start](/docs/products/databases/quick-start), or read one of the guides below to go deeper.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be fixed for DocumentsDB if we're keeping it for Init and if not, we need to entirely fix this because we're not NoSQL yet.

Also, let's make this one section.

Since version 1.9, Appwrite also supports MongoDB as its underlying database engine, which brings native vector search within reach for teams that want to keep embeddings and operational data in one place. See [choosing the right database for AI applications: when to use MongoDB](/blog/post/choosing-the-right-database-for-ai-applications-when-to-use-mongodb).

## Getting started with vector search on Appwrite

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're not waiting for Init, we should talk about our function templates for vector search (check the Integrations catalog on the site)

If we are, this should be about VectorsDB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants