mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
update atomic.md
This commit is contained in:
parent
555a4fd1d7
commit
cdbb7ec491
@ -10,31 +10,27 @@ It supports non-blocking `DROP` and `RENAME TABLE` queries and atomic `EXCHANGE
|
||||
## Creating a Database {#creating-a-database}
|
||||
|
||||
``` sql
|
||||
CREATE DATABASE test ENGINE = Atomic;
|
||||
CREATE DATABASE test[ ENGINE = Atomic];
|
||||
```
|
||||
|
||||
**Engine Parameters**
|
||||
|
||||
## Data Types Support {#data_types-support}
|
||||
|
||||
| EngineName | ClickHouse |
|
||||
|-----------------------|------------------------------------|
|
||||
| NativeDataTypeName | [ClickHouseDataTypeName](link#) |
|
||||
|
||||
|
||||
## Specifics and recommendations {#specifics-and-recommendations}
|
||||
|
||||
All tables in database `Atomic` have persistent UUID and store data in `/clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/`, where `xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy` is UUID of the table.
|
||||
`RENAME` queries are performed without changing UUID and moving table data.
|
||||
Tables in `Atomic` databases can be accessed by UUID through DatabaseCatalog.
|
||||
On `DROP TABLE` no data is removed, database `Atomic` just marks table as dropped by moving metadata to `/clickhouse_path/metadata_dropped/` and notifies DatabaseCatalog.
|
||||
Running queries still may use dropped table. Table will be actually removed when it's not in use.
|
||||
Allows to execute `RENAME` and `DROP` without IStorage-level RWLocks.
|
||||
All tables in database `Atomic` have persistent [UUID](../../sql-reference/data-types/uuid.md) and store data in directory `/clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/`, where `xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy` is UUID of the table. Tables in `Atomic` databases can be accessed by UUID through DatabaseCatalog.
|
||||
|
||||
### DROP TABLE
|
||||
|
||||
On `DROP TABLE` no data is removed, database `Atomic` just marks table as dropped by moving metadata to `/clickhouse_path/metadata_dropped/` and notifies DatabaseCatalog. Running queries still may use dropped table. Table will be actually removed when it's not in use.
|
||||
|
||||
### RENAME TABLE
|
||||
|
||||
`RENAME` queries are performed without changing UUID and moving table data. `RENAME` and `DROP` are execute without IStorage-level RWLocks.
|
||||
|
||||
### DELETE/DETACH
|
||||
|
||||
`DELETE` and `DETACH` queries are executed asynchronously — waits for the running `SELECT` queries to finish but is invisible to the new queries.
|
||||
|
||||
## Usage Example {#usage-example}
|
||||
|
||||
The example must show usage and use cases. The following text contains the recommended parts of this section.
|
||||
|
||||
Input table:
|
||||
|
||||
``` text
|
||||
@ -50,4 +46,6 @@ Result:
|
||||
``` text
|
||||
```
|
||||
|
||||
Follow up with any text to clarify the example.
|
||||
## See Also
|
||||
|
||||
- [system.databases](../../operations/system-tables/databases.md) system table
|
||||
|
@ -5,31 +5,29 @@ toc_title: Atomic
|
||||
|
||||
# Atomic {#atomic}
|
||||
|
||||
Поддерживает неблокирующие запросы `DROP` и `RENAME TABLE` и запросы `EXCHANGE TABLES t1 AND t2`. Движок `Atomic` используется по умолчанию.
|
||||
Поддерживает неблокирующие запросы `DROP` и `RENAME TABLE` и атомарные запросы `EXCHANGE TABLES t1 AND t2`. Движок `Atomic` используется по умолчанию.
|
||||
|
||||
## Создание БД {#creating-a-database}
|
||||
|
||||
``` sql
|
||||
CREATE DATABASE test ENGINE = Atomic;
|
||||
CREATE DATABASE test[ ENGINE = Atomic];
|
||||
```
|
||||
|
||||
**Параметры движка**
|
||||
|
||||
## Поддержка типов данных {#data_types-support}
|
||||
|
||||
| EngineName | ClickHouse |
|
||||
|-----------------------|------------------------------------|
|
||||
| NativeDataTypeName | [ClickHouseDataTypeName](link#) |
|
||||
|
||||
|
||||
## Особенности и рекомендации {#specifics-and-recommendations}
|
||||
|
||||
Каждая таблица в базе данных `Atomic` имеет уникальный UUID и хранит данные в папке `/clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/`, где `xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy` - это UUID таблицы.
|
||||
Запросы `RENAME` выполняются без изменения UUID и перемещения табличных данных.
|
||||
Можно получить доступ к любой таблице базы данных `Atomic` по ее UUID через DatabaseCatalog.
|
||||
При выполнении запроса `DROP TABLE` никакие данные не удаляются. Таблица помечается как удаленная, метаданные перемещаются в папку `/clickhouse_path/metadata_dropped/` и база данных уведомляет DatabaseCatalog.
|
||||
Запущенные запросы все еще могут использовать удаленную таблицу. Таблица будет фактически удалена, когда она не будет использоваться.
|
||||
Позволяет выполнять `RENAME` и `DROP` без RWLocks на уровне хранилища.
|
||||
Каждая таблица в базе данных `Atomic` имеет уникальный [UUID](../../sql-reference/data-types/uuid.md) и хранит данные в папке `/clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/`, где `xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy` - это UUID таблицы. Можно получить доступ к любой таблице базы данных `Atomic` по ее UUID через DatabaseCatalog.
|
||||
|
||||
### DROP TABLE
|
||||
|
||||
При выполнении запроса `DROP TABLE` никакие данные не удаляются. Таблица помечается как удаленная, метаданные перемещаются в папку `/clickhouse_path/metadata_dropped/` и база данных уведомляет DatabaseCatalog. Запущенные запросы все еще могут использовать удаленную таблицу. Таблица будет фактически удалена, когда она не будет использоваться.
|
||||
|
||||
### RENAME TABLE
|
||||
|
||||
Запросы `RENAME` выполняются без изменения UUID и перемещения табличных данных. `RENAME` и `DROP` не требуют RWLocks на уровне хранилища.
|
||||
|
||||
### DELETE/DETACH
|
||||
|
||||
Запросы `DELETE` и `DETACH` выполняются асинхронно — база данных ожидает завершения запущенных запросов `SELECT`, но невидима для новых запросов.
|
||||
|
||||
## Примеры использования {#usage-example}
|
||||
|
||||
@ -48,4 +46,6 @@ toc_title: Atomic
|
||||
``` text
|
||||
```
|
||||
|
||||
Follow up with any text to clarify the example.
|
||||
## Смотрите также
|
||||
|
||||
- Системная таблица [system.databases](../../operations/system-tables/databases.md).
|
||||
|
Loading…
Reference in New Issue
Block a user