Skip to content

Commit

Permalink
CUBRIDMAN-222 : RND-2001 : 볼륨 호환성 표 추가
Browse files Browse the repository at this point in the history
CUBRIDMAN-222 : RND-1591 : max_plan_cache_clones,xasl_cache_time_threshold_in_minutes설명 및 예문 추가
CUBRIDMAN-222 : RND-2251 : 동시성 설명 중, 유령읽기 관련 수정
CUBRIDMAN-222 : RND-2253 : cubrid heartbeat status -v의 설명 및 예문추가
  • Loading branch information
bagus-kim committed Sep 10, 2024
1 parent 7f1a9cf commit aba0d1d
Show file tree
Hide file tree
Showing 8 changed files with 221 additions and 21 deletions.
27 changes: 19 additions & 8 deletions en/admin/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1042,7 +1042,7 @@ The following are parameters related to concurrency control and locks of the dat

* **TRAN_SERIALIZABLE** : This isolation level ensures the highest level of consistency. For details, see :ref:`isolation-level-6`.

* **TRAN_REP_READ** : This isolation level can incur phantom read. For details, see :ref:`isolation-level-5`.
* **TRAN_REP_READ** : This isolation level prevents dirty reads, non-repeatable reads, and phantom reads due to snapshot isolation. For details, see :ref:`isolation-level-5`.

* **TRAN_READ_COMMITTED** : This isolation level can incur unrepeatable read. For details, see :ref:`isolation-level-4`.

Expand Down Expand Up @@ -2003,13 +2003,17 @@ Query Plan Cache-Related Parameters

The following are parameters related to the query plan cache functionality. The type and value range for each parameter are as follows:

+-------------------------------+--------+----------+----------+----------+
| Parameter Name | Type | Default | Min | Max |
+===============================+========+==========+==========+==========+
| max_plan_cache_entries | int | 1,000 | | |
+-------------------------------+--------+----------+----------+----------+
| max_filter_pred_cache_entries | int | 1,000 | | |
+-------------------------------+--------+----------+----------+----------+
+--------------------------------------+--------+---------+---------+---------+
| Parameter Name | Type | Default | Min | Max |
+======================================+========+=========+=========+=========+
| max_plan_cache_entries | int | 1,000 | | |
+--------------------------------------+--------+---------+---------+---------+
| max_plan_cache_clones | int | 1,000 | | |
+--------------------------------------+--------+---------+---------+---------+
| xasl_cache_time_threshold_in_minutes | int | 360 | | |
+--------------------------------------+--------+---------+---------+---------+
| max_filter_pred_cache_entries | int | 1,000 | | |
+--------------------------------------+--------+---------+---------+---------+

**max_plan_cache_entries**

Expand All @@ -2019,6 +2023,13 @@ The following are parameters related to the query plan cache functionality. The

max_plan_cache_entries=1000

**max_plan_cache_clones**
The plan cache stores the XASL for a query in a serializable form. When executing the query, the XASL is converted back into its deserialized form, populated with values, and then executed.
The clone cache stores deserialized XASL to reuse it instead of discarding. The **max_plan_cache_clones** is a parameter that sets the maximum number of cloned cache entries a single plan can hold, and its default value is set to 1000. When a plan is deleted, its clones are also deleted.

**xasl_cache_time_threshold_in_minutes**
**xasl_cache_time_threshold_in_minutes** is a parameter that determines the time threshold for deciding whether to reuse (clean-up) a cached plan. It is also used when searching for a candidate plan to remove when there is no space in the plan cache. This parameter can be set in minutes, with a default value of 360 minutes.

**max_filter_pred_cache_entries**

**max_filter_pred_cache_entries** is a parameter used to specify the maximum number of filtered index expressions. The filtered index expressions are stored with them complied and can be immediately used in server. If it is not stored in cache, the process is required which filtered index expressions are fetched from database schema and interpreted.
Expand Down
49 changes: 49 additions & 0 deletions en/ha.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1398,6 +1398,55 @@ This utility is used to output the information of CUBRID HA group and CUBRID HA
Copylogdb testdb@nodeA:/home/cubrid/DB/testdb_nodeA (pid 2505, state registered)
Server testdb (pid 2393, state registered_and_standby)

The -v option displays detailed information about the node.
* score: Indicates the priority of the node, with a lower score indicating a higher priority.
* missed heartbeat: Indicates the loss rate of heartbeat signals sent between nodes configured in a HA environment. If this value is unusually high, the configuration, network, or firewall settings should be inspected.

The event occurrence times for the Applylogdb, Copylogdb, and Server processes are also displayed. If no event has occurred, it is displayed as "00:00:00.000."
* registered-time: The time when a process startup request was made via a user command.
* deregistered-time: The time when a remote process stop request was made via a user command (applicable only to copylogdb and applylogdb).
* shutdown-time: The time the HA process was stopped.
* start-time: The time the HA process was restarted.

**Example**

::

$ cubrid heartbeat status -v
@ cubrid heartbeat status

HA-Node Info (current cubrid1, state master)
Node cubrid2 (priority 2, state slave)
- score 2
- missed heartbeat 0
Node cubrid1 (priority 1, state master)
- score -32767
- missed heartbeat 0

HA-Process Info (master 7392, state master)
Copylogdb testdb@cubrid2:/home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/databases/testdb_cubrid2 (pid 7841, state registered)
- exec-path [/home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/bin/cub_admin]
- argv [cub_admin copylogdb -L /home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/databases/testdb_cubrid2 -m sync testdb@bagus2 ]
- registered-time 08/26/24 14:28:37.019
- deregistered-time 00/00/00 00:00:00.000
- shutdown-time 08/26/24 14:28:35.010
- start-time 08/26/24 14:28:36.012
Applylogdb testdb@localhost:/home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/databases/testdb_cubrid2 (pid 7746, state registered)
- exec-path [/home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/bin/cub_admin]
- argv [cub_admin applylogdb -L /home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/databases/testdb_cubrid2 --max-mem-size=300 testdb@localhost ]
- registered-time 08/26/24 14:27:14.566
- deregistered-time 00/00/00 00:00:00.000
- shutdown-time 08/26/24 14:27:12.552
- start-time 08/26/24 14:27:13.558
Server testdb (pid 7904, state registered_and_active)
- exec-path [/home/cubha/CUBRID-11.3.1.1142-bee7aa8-Linux.x86_64/bin/cub_server]
- argv [cub_server testdb ]
- registered-time 08/26/24 14:29:28.955
- deregistered-time 00/00/00 00:00:00.000
- shutdown-time 08/26/24 14:29:27.593
- start-time 08/26/24 14:29:28.594


.. note:: **act**, **deact**, and **deregister** commands which were used in versions lower than CUBRID 9.0 are no longer used.

.. _cubrid-service-util:
Expand Down
3 changes: 1 addition & 2 deletions en/sql/transaction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ You can set an isolation level by using the :ref:`set-transaction-isolation-leve
+================================+========+===============+==========+========================+
| :ref:`isolation-level-6` (6) | X | X | X | X |
+--------------------------------+--------+---------------+----------+------------------------+
| :ref:`isolation-level-5` (5) | X | X | O | X |
| :ref:`isolation-level-5` (5) | X | X | X | X |
+--------------------------------+--------+---------------+----------+------------------------+
| :ref:`isolation-level-4` (4) | X | O | O | X |
+--------------------------------+--------+---------------+----------+------------------------+
Expand Down Expand Up @@ -1288,7 +1288,6 @@ You can set the level of transaction isolation by using **isolation_level** and
| | Transaction T1 may experience R read (non-repeatable read) that was updated and committed by another transaction T2 when it is repeatedly retrieving the record R. |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REPEATABLE READ (5) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. |
| | Transaction T1 may experience phantom read for the record R that was inserted by another transaction T2 when it is repeatedly retrieving a specific record. |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| SERIALIZABLE (6) | Temporarily disabled - details in :ref:`isolation-level-6` |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Expand Down
41 changes: 41 additions & 0 deletions en/upgrade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,47 @@ Please confirm :ref:`11_3_changes` in the release notes.

In 2008 R4.0 or before, TIMESTAMP '1970-01-01 00:00:00'(GMT) is the minimum value of TIMESTAMP, but in 2008 4.1 or later, it is recognized as zerodate and TIMESTAMP '1970-01-01 00:00:01'(GMT) is the minimum value of TIMESTAMP.

**Compatibility table**

+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| Vesion | 11.3| 11.2| 11.0| 10.2| 10.1| 10.0| 9.3| 9.2| 8.4.4| 8.4.3| 8.4.1| 8.4.0| 8.3.1| 8.3.0| 8.2.2| 8.2.1| 8.2.0|
+===========+=====+=====+=====+=====+=====+=====+====+====+======+======+======+======+======+======+======+======+======+
| 11.3 | O | O | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 11.2 | O | O | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 11.0 | X | X | O | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 10.2 | X | X | X | O | X | X | X | X | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 10.1 | X | X | X | X | O | X | X | X | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 10.0 | X | X | X | X | X | O | X | X | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 9.3 | X | X | X | X | X | X | O | O | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 9.2 | X | X | X | X | X | X | O | O | X | X | X | X | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.4.4 | X | X | X | X | X | X | X | X | O | O | O | O | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.4.3 | X | X | X | X | X | X | X | X | O | O | O | O | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.4.1 | X | X | X | X | X | X | X | X | O | O | O | O | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.4.0 | X | X | X | X | X | X | X | X | O | O | O | O | X | X | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.3.1 | X | X | X | X | X | X | X | X | X | X | X | X | O | O | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.3.0 | X | X | X | X | X | X | X | X | X | X | X | X | O | O | X | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.2.2 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | O | X | X |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.2.1 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | O | O |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+
| 8.2.0 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | O | O |
+-----------+-----+-----+-----+-----+-----+-----+----+----+------+------+------+------+------+------+------+------+------+


**Reconfiguring environments for replication or HA**

* From 2008 R4.0, the replication feature is no longer supported; therefore, it is recommended to reconfigure the DB migration and HA environment for systems in which previous replication versions are used. In addition, for systems that use Linux Heartbeat-based HA feature, which is provided in CUBRID 2008 R2.0 and 2008 R2.1, you must reconfigure to DB migration and the CUBRID Heartbeat-based HA environment for better operational stability(see :ref:`ha-db-migration`).
Expand Down
26 changes: 18 additions & 8 deletions ko/admin/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1037,7 +1037,7 @@ CUBRID 설치 시 생성되는 기본 데이터베이스 환경 설정 파일(**

* **TRAN_SERIALIZABLE** : 가장 높은 수준의 일관성을 보장하는 격리 수준이며, :ref:`isolation-level-6` 을 참고한다.

* **TRAN_REP_READ** : 유령 읽기(phantom read)가 발생할 수 있는 격리 수준이며, :ref:`isolation-level-5` 를 참고한다.
* **TRAN_REP_READ** : snapshot isolation 때문에 더티 읽기, 반복 불가능한 읽기 및 유령 읽기가 발생하지 않는 수준이며, :ref:`isolation-level-5` 를 참고한다.

* **TRAN_READ_COMMITTED** : 반복 불가능한 읽기(unrepeatable read)가 발생할 수 있는 격리 수준이며, :ref:`isolation-level-4` 를 참고한다.

Expand Down Expand Up @@ -1975,13 +1975,17 @@ CUBRID 설치 시 생성되는 기본 데이터베이스 환경 설정 파일(**

다음은 질의 계획에 대한 캐시 기능과 관련된 파라미터로 각 파라미터의 타입과 설정 가능한 값의 범위는 다음과 같다.

+-------------------------------+--------+---------+---------+---------+
| 파라미터 이름 | 타입 | 기본값 | 최소값 | 최대값 |
+===============================+========+=========+=========+=========+
| max_plan_cache_entries | int | 1,000 | | |
+-------------------------------+--------+---------+---------+---------+
| max_filter_pred_cache_entries | int | 1,000 | | |
+-------------------------------+--------+---------+---------+---------+
+--------------------------------------+--------+---------+---------+---------+
| 파라미터 이름 | 타입 | 기본값 | 최소값 | 최대값 |
+======================================+========+=========+=========+=========+
| max_plan_cache_entries | int | 1,000 | | |
+--------------------------------------+--------+---------+---------+---------+
| max_plan_cache_clones | int | 1,000 | | |
+--------------------------------------+--------+---------+---------+---------+
| xasl_cache_time_threshold_in_minutes | int | 360 | | |
+--------------------------------------+--------+---------+---------+---------+
| max_filter_pred_cache_entries | int | 1,000 | | |
+--------------------------------------+--------+---------+---------+---------+

**max_plan_cache_entries**

Expand All @@ -1991,6 +1995,12 @@ CUBRID 설치 시 생성되는 기본 데이터베이스 환경 설정 파일(**

max_plan_cache_entries=1000

**max_plan_cache_clones**
plan cache에 query에 대한 xasl이 serializable하게 되어 있는데, query 실행시에는 다시 xasl구조로 변경(deserializable)해서 value를 채워 수행한다. clone cache은 deserializable한 xasl을 버리지 않고 재 사용하기 위한 cache 파라미터 이다. 기본갑은 1000이며, 하나의 plan이 최대로 가질 수 있는 cache값입니다. plan이 삭제되면clone도 함께 삭제된다.

**xasl_cache_time_threshold_in_minutes**
cache된 plan을 재 수행(clean-up)할 것인지 판단하는 시간으로, plan cache에 추가할 공간이 없는 경우에도 제거할 대상을 찾는 부분에서도 사용한다. 분단위로 설정 가능하며, 기본값은 360분이다.

**max_filter_pred_cache_entries**

**max_filter_pred_cache_entries** 는 메모리에 캐시하는 필터링된 인덱스 표현식의 최대 개수를 설정하는 파라미터이다. 필터링된 인덱스 표현식은 컴파일된 상태로 저장되므로, 서버에서 즉시 사용할 수 있다. 캐시에 저장되어 있지 않을 경우, 필터링된 인덱스 표현식을 데이터베이스 스키마에서 가져와서 해석하는 과정이 필요하다.
Expand Down
Loading

0 comments on commit aba0d1d

Please sign in to comment.