> For the complete documentation index, see [llms.txt](https://blog.gomchik.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.gomchik.com/books/seven-databases-in-seven-weeks/important-questions.md).

# Important questions

## What type of datastore is this ?

* relational
* key-value
* columnar
* document-oriented
* graph

## What was the driving force ?

* RDBMS databases arose in a world where **query flexibility** was more important than **flexible schemas**
* Column-oriented datastores were built to be well suited for **storing large amounts of data across several machines**, while **data relationships** took a backseat

## How do you talk to it ?

* command line interface
* script
* graphical interface

## What makes it unique ?

* querying on arbitrary fields
* **indexing** for rapid lookup
* some support **ad hoc queries**; For others, **queries must be planned**
* Is schema a **rigid framework** enforced by the database or **merely a set of guidelines** to be renegotiated at will

## How does it perform ?

* Does it support **sharding**
* What about **replication**?
* Does it distribute data **evenly using consistent hashing**, or does it **keep like data together** ?
* Is this database tuned for reading, writing, or some other operation ?
* How much control do you have over its tuning

## How does it scale ?

* Talking about scalability without the context of what you want to scale to is generally fruitless
* Whether each datastore is geared more for
* **horizontal scaling** (MongoDB, HBase, Riak),
* **vertical scaling** (Postgres, Neo4J, Redis),
* **something in between**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://blog.gomchik.com/books/seven-databases-in-seven-weeks/important-questions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
