# Guides

The Guides cover TinyStore one engine at a time, for when you know what you
need: how keys expire, how a job retries, how a search filters. Each engine
has an overview, then a page per feature, every example in TypeScript,
Python, Go and Rust. The [Handbook](https://tinyshed.org/tinystore/docs/handbook) explains the same
engines as parts of one application, and why they work as they do.

| Engine                                                          | For                                                                  | In the Handbook                                                                                               |
| --------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [SQL](https://tinyshed.org/tinystore/docs/guides/sql)           | your own SQLite databases: migrations, queries, transactions         | [Messages](https://tinyshed.org/tinystore/docs/handbook/chat/messages)                                        |
| [KV](https://tinyshed.org/tinystore/docs/guides/kv)             | values with expiry and versions; counters, rate limits, quotas, once | [Sessions and limits](https://tinyshed.org/tinystore/docs/handbook/chat/sessions-and-limits)                  |
| [Jobs](https://tinyshed.org/tinystore/docs/guides/jobs)         | work later or on a schedule, retried, with steps                     | [Replies in the background](https://tinyshed.org/tinystore/docs/handbook/chat/replies)                        |
| [Blobs](https://tinyshed.org/tinystore/docs/guides/blobs)       | files by path, written whole, checked when read                      | [Attachments](https://tinyshed.org/tinystore/docs/handbook/chat/attachments)                                  |
| [Search](https://tinyshed.org/tinystore/docs/guides/search)     | words in any language, typos, vectors, filters                       | [Finding old messages](https://tinyshed.org/tinystore/docs/handbook/chat/finding-old-messages)                |
| [Channels](https://tinyshed.org/tinystore/docs/guides/channels) | messages to whoever listens now                                      | [Live updates](https://tinyshed.org/tinystore/docs/handbook/chat/live-updates)                                |
| [Locks](https://tinyshed.org/tinystore/docs/guides/locks)       | one holder of a key at a time, with fences                           | [Live updates](https://tinyshed.org/tinystore/docs/handbook/chat/live-updates#one-summary-per-chat-at-a-time) |
| [Config](https://tinyshed.org/tinystore/docs/guides/config)     | settings from files and the environment, some changed live           | [Settings](https://tinyshed.org/tinystore/docs/handbook/chat/settings)                                        |
| [Records](https://tinyshed.org/tinystore/docs/guides/records)   | logs and events, kept and read back                                  | [What it is doing](https://tinyshed.org/tinystore/docs/handbook/chat/what-it-is-doing)                        |
| [Metrics](https://tinyshed.org/tinystore/docs/guides/metrics)   | counters, gauges, timers and histograms, read exactly                | [How fast it is](https://tinyshed.org/tinystore/docs/handbook/chat/how-fast-it-is)                            |
| [Backup](https://tinyshed.org/tinystore/docs/guides/backup)     | the whole store as one checked zip, taken while it runs              | [Keeping it](https://tinyshed.org/tinystore/docs/handbook/chat/keeping-it)                                    |

The [command line](https://tinyshed.org/tinystore/docs/guides/cli) has a guide of its own: serving a store,
reading it while it runs, backups and nodes.

Every engine opens from the store, which [Your first
store](https://tinyshed.org/tinystore/docs/handbook/start/first-store) opens in each language.
A program reaches the store in its own process, through a sidecar, a private
child or a server on another machine: [Connecting](https://tinyshed.org/tinystore/docs/guides/connecting) compares
the four.
