mirror of https://gitee.com/bigwinds/arangodb
updated docs
This commit is contained in:
parent
772f5fc876
commit
cf52748d39
|
@ -7,18 +7,23 @@ and/or modification operations.
|
||||||
The implementation is not optimized for very long-running or very voluminous
|
The implementation is not optimized for very long-running or very voluminous
|
||||||
operations, and may not be usable for these cases.
|
operations, and may not be usable for these cases.
|
||||||
|
|
||||||
A major limitation is that a transaction must entirely fit into main
|
One limitation is that a transaction operation information must fit into main
|
||||||
memory. This includes all data that is created, updated, or deleted during a
|
memory. The transaction information consists of record pointers, revision numbers
|
||||||
transaction, plus management overhead.
|
and rollback information. The actual data modification operations of a transaction
|
||||||
|
are written to the write-ahead log and do not need to fit entirely into main
|
||||||
|
memory.
|
||||||
|
|
||||||
Transactions should thus be kept as small as possible, and big operations
|
Ongoing transactions will also prevent the write-ahead logs from being fully
|
||||||
should be split into multiple smaller transactions if they are too big to fit
|
garbage-collected. Information in the write-ahead log files cannot be written
|
||||||
into one transaction.
|
to collection data files or be discarded while transactions are ongoing.
|
||||||
|
|
||||||
Additionally, transactions in ArangoDB cannot be nested, i.e. a transaction
|
To ensure progress of the write-ahead log garbage collection, transactions should
|
||||||
must not call any other transaction. If an attempt is made to call a transaction
|
be kept as small as possible, and big transactions should be split into multiple
|
||||||
from inside a running transaction, the server will throw error *1651 (nested
|
smaller transactions.
|
||||||
transactions detected)*.
|
|
||||||
|
Transactions in ArangoDB cannot be nested, i.e. a transaction must not start another
|
||||||
|
transaction. If an attempt is made to call a transaction from inside a running
|
||||||
|
transaction, the server will throw error *1651 (nested transactions detected)*.
|
||||||
|
|
||||||
It is also disallowed to execute user transaction on some of ArangoDB's own system
|
It is also disallowed to execute user transaction on some of ArangoDB's own system
|
||||||
collections. This shouldn't be a problem for regular usage as system collections will
|
collections. This shouldn't be a problem for regular usage as system collections will
|
||||||
|
|
|
@ -17,3 +17,4 @@ These *ACID* properties provide the following guarantees:
|
||||||
transactions that have committed will be made persistent. The amount of
|
transactions that have committed will be made persistent. The amount of
|
||||||
transaction durability is configurable in ArangoDB, as is the durability
|
transaction durability is configurable in ArangoDB, as is the durability
|
||||||
on collection level.
|
on collection level.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue