Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## Unreleased
- Bundle: Added outline in Markdown format, which got lost previously
- Inventory: Added general information about partitioned tables, storage,
replication, and views, and more specific information about the
`{CREATE,ALTER} [FOREIGN] TABLE [AS]` and `COPY {FROM,TO}` commands.
- Inventory: Added information about SQL data types and about how to import
example datasets using CrateDB Toolkit.

## v0.0.4 - 2025-05-16
- Outline: `cratedb-about outline` now understands `--url` option to use
Expand Down
2 changes: 2 additions & 0 deletions docs/backlog.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,5 @@
- Inventory: Revisit `notes` in `cratedb-outline.yaml` about
other resources that have not been expanded properly yet
https://github.com/crate/about/issues/24
- Inventory: Information about ddl/views, etc., `COPY FROM ...`,
and `ctk load table`, specifically about how to load data and import demo data
139 changes: 125 additions & 14 deletions src/cratedb_about/outline/cratedb-outline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -194,21 +194,41 @@ data:
description: How CrateDB copes with network-, disk-, or machine-failures.
parents: [ reference ]

# Concept guidelines
- title: "Guide: CrateDB sharding"
link: https://cratedb.com/docs/guide/_sources/performance/sharding.rst.txt
description: A best practice guide about sharding with CrateDB.
parents: [ guide ]
- title: "Guide: CrateDB query optimization"
link: https://cratedb.com/docs/guide/_sources/performance/optimization.rst.txt
description: Essential principles for optimizing queries in CrateDB while avoiding the most common pitfalls.
parents: [ guide ]
- title: "Guide: Design for scale"
link: https://cratedb.com/docs/guide/_sources/performance/scaling.rst.txt
# General information
- title: "CrateDB reference: Partitioned tables"
description: |
A partitioned table is a virtual table consisting of zero or more partitions.
A partition is similar to a regular single table and consists of one or more shards.
A table becomes a partitioned table by defining partition columns.
When a record with a new distinct combination of values for the configured partition
columns is inserted, a new partition is created and the document will be inserted into this partition.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Suggested change
columns is inserted, a new partition is created and the document will be inserted into this partition.
columns is inserted, a new partition is created, and the document is inserted into this new partition.

link: https://cratedb.com/docs/crate/reference/en/latest/_sources/general/ddl/partitioned-tables.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/general/ddl/partitioned-tables.html
parents: [ reference ]
- title: "CrateDB reference: Storage"
description: |
Critical design considerations to successfully scale CrateDB in large production
environments to ensure performance and reliability as workloads grow.
parents: [ guide ]
Data storage options can be tuned for each column similar to how indexing is defined.
Using the Column Store limits the values of TEXT columns to a maximal length of 32766 bytes.
Turning off the Column Store in conjunction of turning off indexing will remove the length limitation.
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/general/ddl/storage.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/general/ddl/storage.html
parents: [ reference ]
- title: "CrateDB reference: Replication"
description: |
You can configure CrateDB to replicate tables. When you configure replication, CrateDB will
try to ensure that every table shard has one or more copies available at all times.
This ensures data resiliency when individual cluster nodes go offline for maintenance.
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/general/ddl/replication.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/general/ddl/replication.html
parents: [ reference ]
- title: "CrateDB reference: Views"
description: |
Views are stored named queries which can be used in place of table names.
They’re resolved at runtime and can be used to simplify common queries.
Database views have special privilege properties.
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/general/ddl/views.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/general/ddl/views.html
parents: [ reference ]

# Data modeling
- title: "Data modeling: Sequences"
Expand All @@ -223,6 +243,22 @@ data:
`_seq_no` and `_primary_term`.
parents: [ reference ]

# Performance guidelines
- title: "Guide: CrateDB sharding"
link: https://cratedb.com/docs/guide/_sources/performance/sharding.rst.txt
description: A best practice guide about sharding with CrateDB.
parents: [ guide ]
- title: "Guide: CrateDB query optimization"
link: https://cratedb.com/docs/guide/_sources/performance/optimization.rst.txt
description: Essential principles for optimizing queries in CrateDB while avoiding the most common pitfalls.
parents: [ guide ]
- title: "Guide: Design for scale"
link: https://cratedb.com/docs/guide/_sources/performance/scaling.rst.txt
description: |
Critical design considerations to successfully scale CrateDB in large production
environments to ensure performance and reliability as workloads grow.
parents: [ guide ]

# Cloud docs
- title: "CrateDB Cloud"
link: https://cratedb.com/docs/cloud/en/latest/_sources/index.md.txt
Expand Down Expand Up @@ -342,6 +378,70 @@ data:
type: index
id: sql-syntax

# SQL: Commands
- title: "CrateDB SQL reference: CREATE TABLE"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/sql/statements/create-table.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/sql/statements/create-table.html
description: |
The `CREATE TABLE` command creates a new, initially empty table. The command accepts many important
parameters for commandeering CrateDB's special features, mostly `CLUSTERED` and `PARTITIONED BY`,
extended by exposing loads of options through its `WITH` modifier.
parents: [ sql-syntax ]
tags: [ sql ]
- title: "CrateDB SQL reference: CREATE TABLE AS"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/sql/statements/create-table-as.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/sql/statements/create-table-as.html
description: |
`CREATE TABLE AS` will create a new table and insert rows based on the specified query.
parents: [ sql-syntax ]
tags: [ sql ]
- title: "CrateDB SQL reference: ALTER TABLE"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/sql/statements/alter-table.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/sql/statements/alter-table.html
description: |
The `ALTER TABLE` command can be used to modify an existing table definition. It provides options
to add columns, modify constraints, enabling or disabling table parameters and allows to execute
a shard reroute allocation.
The REROUTE command provides various options to manually control the allocation of shards.
It allows the enforcement of explicit allocations, cancellations and the moving of shards
between nodes in a cluster, giving you the ability to re-balance the cluster state manually.
parents: [ sql-syntax ]
tags: [ sql ]
- title: "CrateDB SQL reference: COPY FROM"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/sql/statements/copy-from.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/sql/statements/copy-from.html
description: The `COPY FROM` command copies data from a URI to the specified table.
parents: [ sql-syntax ]
tags: [ sql ]
- title: "CrateDB SQL reference: COPY TO"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/sql/statements/copy-to.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/sql/statements/copy-to.html
description: |
The `COPY TO` command exports the contents of a table to one or more files
into a given directory with unique filenames.
parents: [ sql-syntax ]
tags: [ sql ]
- title: "CrateDB SQL reference: CREATE FOREIGN TABLE"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/sql/statements/create-foreign-table.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/sql/statements/create-foreign-table.html
description: |
`CREATE FOREIGN TABLE` is a DDL statement that creates a new foreign table.
A foreign table is a view onto data in a foreign system.
parents: [ sql-syntax ]
tags: [ sql ]

# SQL: Data types
- title: "CrateDB SQL reference: Data types"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/general/ddl/data-types.rst.txt
html: https://cratedb.com/docs/crate/reference/en/latest/general/ddl/data-types.html
description: |
Data can be stored in different formats. CrateDB has different types that can be specified if
a table is created using the CREATE TABLE statement.
Data types play a central role as they limit what kind of data can be inserted and how it is stored.
They also influence the behaviour when the records are queried.
parents: [ sql-syntax ]
tags: [ sql ]

# SQL: Functions
- title: "CrateDB SQL reference: Scalar functions"
link: https://cratedb.com/docs/crate/reference/en/latest/_sources/general/builtins/scalar-functions.rst.txt
Expand Down Expand Up @@ -545,6 +645,17 @@ data:
link: https://raw.githubusercontent.com/crate/cratedb-toolkit/refs/tags/v0.0.31/cratedb_toolkit/info/library.py
description: A collection of SQL queries and utilities suitable for diagnostics on CrateDB.

# Toolkit Example Datasets
# https://cratedb-toolkit.readthedocs.io/cluster/
- title: "CrateDB Toolkit: Import example datasets"
link: https://cratedb-toolkit.readthedocs.io/_sources/datasets.md.txt
html: https://cratedb-toolkit.readthedocs.io/datasets.html
description: |
CrateDB Toolkit's `cratedb_toolkit.datasets.load_dataset` API primitive can be used to
load curated datasets from <https://github.com/crate/cratedb-datasets> into your database
programmatically, using a few lines of Python. The API is suitable to be used for exploring
CrateDB in Python programs and scientific notebooks.

# Example projects
- title: "CrateDB GTFS / GTFS-RT Transit Data Demo"
link: https://raw.githubusercontent.com/crate/devrel-gtfs-transit/refs/heads/main/README.md
Expand Down