diff --git a/Administration.md b/Administration.md index bd91b1f5..003cce50 100644 --- a/Administration.md +++ b/Administration.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['admin', 'administration'] +--- + ### Administration diff --git a/Auditing.md b/Auditing.md index e152a768..ae227baa 100644 --- a/Auditing.md +++ b/Auditing.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['enterprise', 'auditing'] +--- + # Auditing Starting in OrientDB 2.1, the Auditing component is part of the [Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise/). This page refers to the Auditing feature and how to work with it. The Studio web tool provides a GUI for Auditing that makes configuration easier. Look at the [Auditing page in Studio](Studio-Auditing.md). @@ -103,7 +108,7 @@ Where: - `regexp`: If a command is executed that matches the regular expression then the command is logged. - `message`: The optional message that's recorded when the command is logged. It supports the dynamic binding of values, see "Customizing the Message", below. -#### Customing the Message +#### Customize the Message - The variable `${command}` will be substituted in the specified message, if command auditing is enabled. ### "schema" diff --git a/Auto-Sharding-Index.md b/Auto-Sharding-Index.md index 74667166..9fb0c840 100644 --- a/Auto-Sharding-Index.md +++ b/Auto-Sharding-Index.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['index', 'auto sharding index'] +--- + # Auto Sharding Index Algorithm (Since v2.2) @@ -10,6 +15,29 @@ Auto Sharding Index supports the following index types: Under the hood, this index creates multiple [Hash Indexes](Hash-Index.md), one per cluster. So if you have 8 clusters for the class "Employee", this index will create, at the beginning, 8 [Hash Indexes](Hash-Index.md). +Since this index is based on the [Hash Index](Hash-Index.md), it's able to perform index read operations in one I/O operation and write operations in a maximum of three I/O operations. The Hash Index algorithm is based on the [Extendible Hashing](http://en.wikipedia.org/wiki/Extendible_hashing) algorithm. Despite not providing support for range queries, it is noticeably faster than [SB-Tree Index Algorithms](SB-Tree-index.md), (about twice as fast when querying through ten million records). + +## Usage + +Create an index by passing "AUTOSHARDING" as index engine: + +```java +final OClass cls = db.getMetadata().getSchema().createClass("Log"); +cls.createProperty("key", OType.LONG); +cls.createIndex("idx_LogKey", OClass.INDEX_TYPE.UNIQUE.toString(), + (OProgressListener) null, (ODocument) null, "AUTOSHARDING", new String[] { "key" }); +``` + +## Performance + +On multi-core hw, using this index instead of [Hash Index](Hash-Index.md) gives about +50% more throughput on insertion on a 8 cores machine. + +## Distributed + +The fully distributed version of this index will be supported in v3.0. In v2.2 each node has own copy of the index with all the partitions. + +## Internals + This is the algorithm for the `put(key,value)`: ``` @@ -22,13 +50,3 @@ This is for the `value = get(key)`: int partition = Murmur3_hash(key) % partitions; return getSubIndex(partition).get(key); ``` - -Since this index is based on the [Hash Index](Hash-Index.md), it's able to perform index read operations in one I/O operation and write operations in a maximum of three I/O operations. The Hash Index algorithm is based on the [Extendible Hashing](http://en.wikipedia.org/wiki/Extendible_hashing) algorithm. Despite not providing support for range queries, it is noticeably faster than [SB-Tree Index Algorithms](SB-Tree-index.md), (about twice as fast when querying through ten million records). - -## Performance - -On multi-core hw, using this index instead of [Hash Index](Hash-Index.md) gives about +50% more throughput on insertion on a 8 cores machine. - -## Distributed - -The fully distributed version of this index will be supported in v3.0. In v2.2 each node has own copy of the index with all the partitions. diff --git a/Automatic-Backup.md b/Automatic-Backup.md index 4d74bad0..2a9cf81f 100644 --- a/Automatic-Backup.md +++ b/Automatic-Backup.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['server', 'plugin', 'automatic backup', 'backup'] +--- + # Automatic Backup Server Plugin Using this server plugin, OrientDB executes regular backups on the databases. It implements the Java class: @@ -69,7 +74,7 @@ This section tells the OrientDB server to read the file at `$ORIENTDB_HOME/confi In versions prior to 2.2, the only option in configuring automatic backups is to use the `config/orientdb-server-config.xml` configuration file. Beginning with version 2.2 you can manage automatic backup configuration through a separate JSON file or use the legacy approach. -The example below configures automatic backups/exports on the database as a [Server Plugin](DB-Server.md#handlers). +The example below configures automatic backups/exports on the database as a [Server Plugin](DB-Server.md#plugins). ```xml diff --git a/Backup-and-Restore.md b/Backup-and-Restore.md index 07e320e0..3273ab03 100644 --- a/Backup-and-Restore.md +++ b/Backup-and-Restore.md @@ -1,3 +1,9 @@ +--- +search: + keywords: ['backup', 'restore'] +--- + + # Backup & Restore OrientDB supports backup and and restore operations, like any database management system. diff --git a/Backward-compatibility.md b/Backward-compatibility.md index a8e460fc..33da8a96 100644 --- a/Backward-compatibility.md +++ b/Backward-compatibility.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['upgrade', 'compatibility', 'backwards compatibility'] +--- + #Backward Compatibility ____ diff --git a/Binary-Data.md b/Binary-Data.md index 62955729..ad01de25 100644 --- a/Binary-Data.md +++ b/Binary-Data.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['Java API', 'binary data'] +--- + # Binary Data OrientDB natively handles binary data, namely BLOB. However, there are some considerations to take into account based on the type of binary data, the size, the kind of usage, etc. @@ -108,6 +113,9 @@ Pros: Cons: - Slightly complex management +| ![NOTE](images/warning.png) | While running in distributed mode ORecordBytes is not supported yet. See https://github.com/orientechnologies/orientdb/issues/3762 for more information. | +|----|:----| + ## Large content: split in multiple ORecordBytes OrientDB can store up to 2Gb as record content. But there are other limitations on network buffers and file sizes you should tune to reach the 2GB barrier. @@ -116,7 +124,7 @@ However managing big chunks of binary data means having big `byte[]` structures Continuing from the last example we could handle not a single reference against one `ORecordBytes` record but multiple references. A One-To-Many relationship. For this purpose the `LINKLIST` type fits perfect because maintains the order. -To avoid OrientDB caches in memory large records use the massive insert intent and keep in the collection the [RID](Concepts.md#rid), not the entire records. +To avoid OrientDB caches in memory large records use the massive insert intent and keep in the collection the [RID](Concepts.md#record-id), not the entire records. Example to store in OrientDB the file content: ```java @@ -161,6 +169,9 @@ Pros: Cons: - More complex management +| ![NOTE](images/warning.png) | While running in distributed mode ORecordBytes is not supported yet. See https://github.com/orientechnologies/orientdb/issues/3762 for more information. | +|----|:----| + # Conclusion diff --git a/Block.md b/Block.md index 65fe3643..6030290d 100644 --- a/Block.md +++ b/Block.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['etl', 'ETL', 'block'] +--- + # ETL - Blocks @@ -43,9 +48,9 @@ In a `"let"` block, you can define variables to the ETL process context. "expression": "$fileDirectory.append($fileName )" } } -``` + ``` -## Code Block +## Code Blocks In the `"code"` block, you can configure code snippets to execute in any JVM-supported languages. The default language is JavaScript. @@ -72,7 +77,7 @@ In the `"code"` block, you can configure code snippets to execute in any JVM-sup } ``` -## Console Block +## Console Blocks In a `"console"` block, you can define commands OrientDB executes through the [Console](Console-Commands.md). diff --git a/Caching.md b/Caching.md index 3b6194df..13521eb4 100644 --- a/Caching.md +++ b/Caching.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['internals', 'cache', 'caching'] +--- + # Caching OrientDB has several caching mechanisms that act at different levels. Look at this picture: @@ -5,7 +10,7 @@ OrientDB has several caching mechanisms that act at different levels. Look at th ![image](http://www.orientdb.org/images/caching.png) - **Local cache** is one per database instance (and per thread in multi-thread environment) -- **[Storage](Concepts.md#storage)**, it could cache depending on the implementation. This is the case for the **Local Storage** (disk-based) that caches file reads to reduce I/O requests +- **[Storage](Concepts.md#database)**, it could cache depending on the implementation. This is the case for the **Local Storage** (disk-based) that caches file reads to reduce I/O requests - **[Command Cache](Command-Cache.md)** @@ -46,20 +51,3 @@ To remove all the records in Local cache you can invoke the invalidate()cache.local.enabled by setting it at startup: - -```java -java ... -Dcache.local.enabled=false ... -``` - -or via code before to open the database: - -```java -OGlobalConfiguration.CACHE_LOCAL_ENABLED.setValue(false); -``` diff --git a/Chat-use-case.md b/Chat-use-case.md index 28b05cd4..c61ce402 100644 --- a/Chat-use-case.md +++ b/Chat-use-case.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['use case', 'use-case', 'chat'] +--- + # Chat Use Case diff --git a/Choosing-between-Graph-or-Document-API.md b/Choosing-between-Graph-or-Document-API.md index a7d494bc..d8f019e2 100644 --- a/Choosing-between-Graph-or-Document-API.md +++ b/Choosing-between-Graph-or-Document-API.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['concept', 'Graph API', 'Document API'] +--- + # Graph or Document API? diff --git a/Class.md b/Class.md index 69fad344..2102e32b 100644 --- a/Class.md +++ b/Class.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['Studio', 'class', 'property'] +--- + # Class Edit ![Class](images/class.png) diff --git a/Cluster-Selection.md b/Cluster-Selection.md index 2b3af332..246ec56a 100644 --- a/Cluster-Selection.md +++ b/Cluster-Selection.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['concepts', 'cluster', 'cluster selection'] +--- + # Cluster Selection @@ -11,6 +16,10 @@ When you create a new record and specify the [class](Concepts.md#class) to which - `local` When the database is run in distributed mode, it selects the master cluster on the current node. This helps to avoid conflicts and reduce network latency with remote calls between nodes. +In distributed mode the local cluster strategy is always selected automatically and can't be changed. The local strategy acts as a wrapper for the underlying strategy (round-robin by default) by filtering the allowed clusters by selecting only those the local server is a master. + +But in Studio is never displayed properly, because the underlying name is taken. + Whichever cluster selection strategy works best for your application, you can assign it through the [`ALTER CLASS...CLUSTERSELECTION`](SQL-Alter-Class.md) command. For example,
@@ -23,7 +32,7 @@ When you run this command, it updates the `Account` class to use the `round-robi
 
 ## Custom Cluster Selection Strategies
 
-In addition to the cluster selection strategies listed above, you can also develop your own select strategies through the Java API.  This ensures that it the strategies that are available by default do not meet your particular needs, you can develop one that does.
+In addition to the cluster selection strategies listed above, you can also develop your own select strategies through the Java API.  This ensures that the strategies that are available by default do not meet your particular needs, you can develop one that does.
 
 1. Using your preferred text editor, create the implementation in Java.  In order to use a custom strategy, the class must implement the `OClusterSelectionStrategy` interface.
 
@@ -44,7 +53,7 @@ In addition to the cluster selection strategies listed above, you can also devel
 
    Bear in mind that the method `getCluster()` also receives the `ODocument` cluster to insert. You may find this useful, if you want to assign the `clusterId` variable, based on the Document content.
 
-1. Register the implementation as a service.  You can do this by creating a new file under `META-INF/service`.  Use the filename `com.orientechnologies.orient.core.metadata.schema.clusterselection.OClusterSelectionStrategy`.  For its contents, code your class with the full package.  For instance,
+1. Register the implementation as a service.  You can do this by creating a new file under `META-INF/services`.  Use the filename `com.orientechnologies.orient.core.metadata.schema.clusterselection.OClusterSelectionStrategy`.  For its contents, code your class with the full package.  For instance,
 
    ``` java
    mypackage.RandomSelectionStrategy
diff --git a/Clusters.md b/Clusters.md
index 72bb42f8..b4223cd9 100644
--- a/Clusters.md
+++ b/Clusters.md
@@ -1,3 +1,8 @@
+---
+search:
+   keywords: ['internals', 'clusters']
+---
+
 # Clusters
 
 OrientDB uses **clusters** to store links to the data. A cluster is a generic way to group records. It is a concept that does not exist in the Relational world, so it is something that readers from the relational world should pay particular attention to.
@@ -14,11 +19,11 @@ A cluster can be local (physical) or in-memory.
 
 **Note: If you used an earlier version of OrientDB. The concept of "Logical Clusters" are not supported after the introduction of version 1.0.**
 
-## Persistent Cluster
+## Persistent Cluster
 
 Also called Physical cluster, it stores data on disk.
 
-## In-Memory cluster
+## In-Memory Cluster
 
 The information stored in "In-Memory clusters" is volatile (that is, it is never stored to disk). Use this cluster only to work with temporary data. If you need an In-Memory database, create it as an In-memory Database. In-memory databases have only In-memory clusters.
 
diff --git a/Command-Cache.md b/Command-Cache.md
index fbd5ac67..90267311 100644
--- a/Command-Cache.md
+++ b/Command-Cache.md
@@ -1,15 +1,20 @@
+---
+search:
+   keywords: ['SQL', 'command cache']
+---
+
 # Command Cache
 
-Starting from release 2.2, OrientDB supports caching of commands results. Caching command results has been used by other DBMSs and proven to dramatically improve the following use cases:
+Starting in release 2.2, OrientDB supports caching of command results. Caching command results has been used by other DBMSs and has proven to improve dramatically the following use cases:
 - database is mostly read than write
-- there are a few heavy queries that result a small result set
-- you have available RAM to use or caching results
+- there are a few heavy queries that return a small result set
+- you have available RAM to use for caching results
 
 By default, the command cache is disabled. To enable it, set `command.cache.enabled=true`. Look at the [Studio page about Command Cache](Studio-Query-Profiler.md#command-cache).
 
 ## Settings
 
-There are some settings to tune the command cache. Below find the table containing all the available settings.
+There are some settings to tune the command cache. See the table below containing all the available settings.
 
 |Parameter|Description|Type|Default value|
 |---------|-----------|----|-------------|
@@ -20,7 +25,7 @@ There are some settings to tune the command cache. Below find the table containi
 
 ## Eviction strategies
 
-Using a cache that holds old data could be meaningless, unless you could accept eventual consistency. For this reason, the command cache supports 2 eviction strategies to keep the cache consistent:
-- **INVALIDATE_ALL** to remove all the query results at every Create, Update and Delete operation. This is faster than **PER_CLUSTER** if many writes occur.
-- **PER_CLUSTER** to remove all the query results only related to the modified cluster. This operation is more expensive then **INVALIDATE_ALL**
+Using a cache that holds old data could be meaningless, unless you can accept eventual consistency. For this reason, the command cache supports 2 eviction strategies to keep the cache consistent:
+- **INVALIDATE_ALL** to remove all the query results at every Create, Update, and Delete operation. This is faster than **PER_CLUSTER** if many writes occur.
+- **PER_CLUSTER** to remove all the query results only related to the modified cluster. This operation is more expensive than **INVALIDATE_ALL**.
 
diff --git a/Commands.md b/Commands.md
index 4c203dc9..03879d0b 100644
--- a/Commands.md
+++ b/Commands.md
@@ -1,3 +1,8 @@
+---
+search:
+   keywords: ['SQL', 'Commands']
+---
+
 # SQL Commands
 
 
@@ -11,7 +16,7 @@
 | [TRUNCATE CLASS](SQL-Truncate-Class.md) | [MATCH](SQL-Match.md) | [DROP PROPERTY](SQL-Drop-Property.md) | [DROP DATABASE (console only)](Console-Command-Drop-Database.md) | [HA REMOVE SERVER](SQL-HA-Remove-Server.md) |
 | [TRUNCATE CLUSTER](SQL-Truncate-Cluster.md) | | [CREATE INDEX](SQL-Create-Index.md) | [OPTIMIZE DATABASE](SQL-Optimize-Database.md) | [HA SYNC DATABASE](SQL-HA-Sync-Database.md) |
 | [TRUNCATE RECORD](SQL-Truncate-Record.md) | | [REBUILD INDEX](SQL-Rebuild-Index.md)  | [CREATE USER](SQL-Create-User.md) | [HA SYNC CLUSTER](SQL-HA-Sync-Cluster.md) |
-|  | |[DROP INDEX](SQL-Drop-Index.md)  | [DROP USER](SQL-Drop-User.md) | |
+|  | |[DROP INDEX](SQL-Drop-Index.md)  | [DROP USER](SQL-Drop-User.md) | [HA SET](SQL-HA-Set.md) |
 |  | |[CREATE SEQUENCE](SQL-Create-Sequence.md)  | [GRANT](SQL-Grant.md) | |
 |  | |[ALTER SEQUENCE](SQL-Alter-Sequence.md)  | [REVOKE](SQL-Revoke.md)  | |
 |  | |[DROP SEQUENCE](SQL-Drop-Sequence.md)  | | |
diff --git a/Concepts.md b/Concepts.md
index fe751345..559e356d 100644
--- a/Concepts.md
+++ b/Concepts.md
@@ -1,8 +1,13 @@
+---
+search:
+   keywords: ['concepts']
+---
+
 
 # Basic Concepts
 
 
-### The Record
+### Record
 
 The smallest unit that you can load from and store in the database.  Records come in four types:
 
@@ -15,7 +20,7 @@ The smallest unit that you can load from and store in the database.  Records com
 
 A **Record** is the smallest unit that can be loaded from and stored into the database. A record can be a Document, a RecordBytes record (BLOB) a Vertex or even an Edge.
 
-### Documents
+### Document
 
 The Document is the most flexible record type available in OrientDB.  Documents are softly typed and are defined by schema classes with defined constraints, but you can also use them in a schema-less mode too.
 
@@ -88,11 +93,11 @@ Classes can be schema-less, schema-full or a mix.  They can inherit from other c
 
 Each class has its own [cluster](Concepts.md#cluster).  A class must have at least one cluster defined, which functions as its default cluster.  But, a class can support multiple clusters.  When you execute a query against a class, it automatically propagates to all clusters that are part of the class.  When you create a new record, OrientDB selects the cluster to store it in using a [configurable strategy](Cluster-Selection.md).
 
-When you create a new class, by default, OrientDB creates a new [persistent cluster](Concepts.md#physical_cluster) with the same name as the class, in lowercase.
+When you create a new class, by default, OrientDB creates a new [persistent cluster](#cluster) with the same name as the class, in lowercase.
 
 ### Abstract Class
 
-The concept of an Abstract Class is one familiar to Object-Oriented programming.  In OrientDB, this feature has been available since version 1.2.0.  Abstract classes are classes used as the foundation for defining other classes.  They are also classes that cannot have instances. For more information on how to create an abstract class, see [CREATE CLASS](SQL-Create-Class.md#abstract-class).
+The concept of an Abstract Class is one familiar to Object-Oriented programming.  In OrientDB, this feature has been available since version 1.2.0.  Abstract classes are classes used as the foundation for defining other classes.  They are also classes that cannot have instances. For more information on how to create an abstract class, see [CREATE CLASS](SQL-Create-Class.md).
 
 This concept is essential to Object Orientation, without the typical spamming of the database with always empty, auto-created clusters.
 
@@ -103,7 +108,7 @@ This concept is essential to Object Orientation, without the typical spamming of
 
 ### Class vs. Cluster in Queries
 
-The combination of classes and clusters is very powerful and has a number of use cases.  Consider an example where you create a class `Invoice`, with two clusters `invoice2015` and `invoice2016`.  You can query all invoices using the class as a target with [`SELECT`](SQL-Query.md).
+The combination of classes and clusters is very powerful and has a number of use cases.  Consider an example where you create a class `Invoice`, with two clusters `invoice2016` and `invoice2017`.  You can query all invoices using the class as a target with [`SELECT`](SQL-Query.md).
 
 
 orientdb> SELECT FROM Invoice
@@ -112,17 +117,28 @@ orientdb> SELECT FROM Invoice
 In addition to this, you can filter the result-set by year.  The class `Invoice` includes a `year` field, you can filter it through the [`WHERE`](SQL-Where.md) clause.
 
 
-orientdb> SELECT FROM Invoice WHERE year = 2012
+orientdb> SELECT FROM Invoice WHERE year = 2016
 
You can also query specific objects from a single cluster. By splitting the class `Invoice` across multiple clusters, (that is, one per year), you can optimize the query by narrowing the potential result-set.
-orientdb> SELECT FROM CLUSTER:invoice2012
+orientdb> SELECT FROM CLUSTER:invoice2016
 
Due to the optimization, this query runs significantly faster, because OrientDB can narrow the search to the targeted cluster. + +## Cluster + +Where classes in provide you with a logical framework for organizing data, clusters provide physical or in-memory space in which OrientDB actually stores the data. It is comparable to the collection in Document databases and the table in Relational databases. + +When you create a new class, the [`CREATE CLASS`](SQL-Create-Class.md) process also creates a physical cluster that serves as the default location in which to store data for that class. OrientDB forms the cluster name using the class name, with all lower case letters. Beginning with version 2.2, OrientDB creates additional clusters for each class, (one for each CPU core on the server), to improve performance of parallelism. + +>For more information, see the [Clusters Tutorial](Tutorial-Clusters.md). + + + ## Relationships OrientDB supports two kinds of relationships: **referenced** and **embedded**. It can manage relationships in a schema-full or schema-less scenario. @@ -142,9 +158,9 @@ CLASS=Invoice CLASS=Customer Here, record `A` contains the reference to record `B` in the property `customer`. Note that both records are reachable by other records, given that they have a [Record ID](Concepts.md#record-id). -With the Graph API, [Edges](Concepts.md#edges) are represented with two links stored on both vertices to handle the bidirectional relationship. +With the Graph API, [Edges](Concepts.md#edge) are represented with two links stored on both vertices to handle the bidirectional relationship. -#### 1:1 and 1:*n* Referenced Relationships +#### 1:1 and *n*:1 Referenced Relationships OrientDB expresses relationships of these kinds using links of the `LINK` type. @@ -162,7 +178,7 @@ With the Graph API, [Edges](Concepts.md#edge) connect only two vertices. This m When using Embedded relationships, OrientDB stores the relationship within the record that embeds it. These relationships are stronger than Reference relationships. You can represent it as a [UML Composition relationship](http://en.wikipedia.org/wiki/Class_diagram#Composition). -Embedded records do not have thier own [Record ID](Concepts.md#record-id), given that you can't directly reference it through other records. It is only accessible through the container record. +Embedded records do not have their own [Record ID](Concepts.md#record-id), given that you can't directly reference it through other records. It is only accessible through the container record. In the event that you delete the container record, the embedded record is also deleted. For example, @@ -198,7 +214,7 @@ In OrientDB, all Edges in the Graph model are bidirectional. This differs from ## Database -The database is an interface to access the real [Storage](Concepts.md#storage). IT understands high-level concepts such as queries, schemas, metadata, indices and so on. OrientDB also provides multiple database types. For more information on these types, see [Database Types](Java-API.md#database-types). +The database is an interface to access the real Storage. IT understands high-level concepts such as queries, schemas, metadata, indices and so on. OrientDB also provides multiple database types. For more information on these types, see [Database Types](Java-API.md). Each server or Java VM can handle multiple database instances, but the database name must be unique. You can't manage two databases at the same time, even if they are in different directories. To handle this case, use the `$` dollar character as a separator instead of the `/` slash character. OrientDB binds the entire name, so it becomes unique, but at the file system level it converts `$` with `/`, allowing multiple databases with the same name in different paths. For example, diff --git a/Concurrency.md b/Concurrency.md index 681e4ed5..ad7ce88f 100644 --- a/Concurrency.md +++ b/Concurrency.md @@ -1,7 +1,12 @@ +--- +search: + keywords: ['concept', 'concurrency'] +--- + # Concurrency -OrientDB uses an optimistic approach to concurrency. Optimistic Concurrency Control, or [OCC](http://en.wikipedia.org/wiki/Optimistic_concurrency_control) assumes that multiple transactions can compete frequently without interfering with each other. +OrientDB uses an optimistic approach to concurrency. Optimistic Concurrency Control, or [OCC](http://en.wikipedia.org/wiki/Optimistic_concurrency_control) assumes that multiple transactions can compete frequently without interfering with each other. It's very important that you don't share instances of databases, graphs, records, documents, vertices and edges between threads because they are non thread-safe. For more information look at [Multi-Threading](Java-Multi-Threading.md). ## How does it work? @@ -34,7 +39,7 @@ For this reason in OrientDB when this situation happens a `OConcurrentModificati ## Optimistic Concurrency in OrientDB -Optimistic concurrency control is used in environments with low data contention. That is, where conflicts are rare and transactions can complete without the expense of managing locks and without having transactions wait for locks to clear. This means a reduced throughput over other concurrency control methods. +Optimistic concurrency control is used in environments with low data contention. That is, where conflicts are rare and transactions can complete without the expense of managing locks and without having transactions wait for locks to clear. This means an increased throughput over other concurrency control methods. OrientDB uses OCC for both [Atomic Operations](Concurrency.md#atomic-operations) and [Transactions](Concurrency.md#transactions). @@ -75,7 +80,7 @@ for (int retry = 0; retry < maxRetries; ++retry) { OrientDB supports optimistic transactions. The database does not use locks when transactions are running, but when the transaction commits, each record (document or graph element) version is checked to see if there have been updates from another client. For this reason, you need to code your applications to be concurrency-proof. -Optimistic concurrency requires that you retire the transaction in the event of conflicts. For example, consider a case where you want to connect a new vertex to an existing vertex: +Optimistic concurrency requires that you retry the transaction in the event of conflicts. For example, consider a case where you want to connect a new vertex to an existing vertex: ```java int maxRetries = 10; diff --git a/Configuration-File.md b/Configuration-File.md index 4f6d2066..e37f8fd0 100644 --- a/Configuration-File.md +++ b/Configuration-File.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['ETL', 'etl', 'configuration'] +--- + # ETL - Configuration diff --git a/Configuration.md b/Configuration.md index d64cbb7e..79841cf1 100644 --- a/Configuration.md +++ b/Configuration.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['performance', 'performance tuning', 'configuration', 'global configuration', 'config', 'options'] +--- + # Global Configuration OrientDB can be configured in several ways. To know the current settings use the console with the [config command](Console-Command-Config.md). @@ -39,29 +44,18 @@ Or via API at any time: OGlobalConfiguration.dumpConfiguration(System.out); ``` -## Parameters ## - -To know more look at the Java enumeration: [OGlobalConfiguration.java](https://github.com/nuvolabase/orientdb/blob/master/core/src/main/java/com/orientechnologies/orient/core/config/OGlobalConfiguration.java). +## Parameters ---- - -### Classes - -Minimum clusters to create when a new class is created. 0 means Automatic. +To know more look at the Java enumeration: [OGlobalConfiguration.java](https://github.com/nuvolabase/orientdb/blob/master/core/src/main/java/com/orientechnologies/orient/core/config/OGlobalConfiguration.java). NOTE: *The documentation below is auto-generated by parsing the OGlobalConfiguration.java class. Please do not edit the parameters here, but rather edit the documentation in the java class*. ---- -``` -Setting name...: class.minimumClusters -Default value..: 0 -Set at run-time: false -``` ### Environment ##### environment.dumpCfgAtStartup -Dumps the configuration at application startup. +Dumps the configuration during application startup. ``` Setting name...: environment.dumpCfgAtStartup @@ -79,28 +73,24 @@ Default value..: true Set at run-time: false ``` -##### environment.allowJVMShutdown +##### environment.lockManager.concurrency.level -Allows to shutdown the JVM if needed/requested. +Concurrency level of lock manager. ``` -Setting name...: environment.allowJVMShutdown -Default value..: true -Set at run-time: true +Setting name...: environment.lockManager.concurrency.level +Default value..: 64 +Set at run-time: false ``` ----- -### Envinronment - - -##### envinronment.concurrency.level +##### environment.allowJVMShutdown -Level of paralellization for structures which are split their internal container on several partitions to increase multicore scalability like ConcurrentHashMap, bigger value means bigger memory consumption.. +Allows the shutdown of the JVM, if needed/requested. ``` -Setting name...: envinronment.concurrency.level -Default value..: 8 -Set at run-time: false +Setting name...: environment.allowJVMShutdown +Default value..: true +Set at run-time: true ``` ---- @@ -123,7 +113,7 @@ Set at run-time: false ##### memory.useUnsafe -Indicates whether Unsafe will be used if it is present. +Indicates whether Unsafe will be used, if it is present. ``` Setting name...: memory.useUnsafe @@ -131,9 +121,19 @@ Default value..: true Set at run-time: false ``` +##### memory.chunk.size + +Size of single memory chunk (in bytes) which will be preallocated by OrientDB. + +``` +Setting name...: memory.chunk.size +Default value..: 2147483647 +Set at run-time: false +``` + ##### memory.directMemory.safeMode -Indicates whether to do perform range check before each direct memory update, it is true by default, but usually it can be safely put to false. It is needed to set to true only after dramatic changes in storage structures.. +Indicates whether to perform a range check before each direct memory update. It is true by default, but usually it can be safely set to false. It should only be to true after dramatic changes have been made in the storage structures. ``` Setting name...: memory.directMemory.safeMode @@ -143,7 +143,7 @@ Set at run-time: false ##### memory.directMemory.trackMode -If 'track mode' is switched on then following steps are performed: 1. direct memory JMX bean is registered. 2. You may check amount of allocated direct memory as property of JMX bean. 3. If memory leak is detected then JMX event will be fired. This mode provides big overhead and may be used only for testing purpose. +Activates the direct memory pool [leak detector](Leak-Detector.md). This detector causes a large overhead and should be used for debugging purposes only. It's also a good idea to pass the -Djava.util.logging.manager=com.orientechnologies.common.log.OLogManager$DebugLogManager switch to the JVM, if you use this mode, this will enable the logging from JVM shutdown hooks.. ``` Setting name...: memory.directMemory.trackMode @@ -153,7 +153,7 @@ Set at run-time: false ##### memory.directMemory.onlyAlignedMemoryAccess -Some architectures does not allow unaligned memory access or suffer from speed degradation, on this platforms flag should be set to true. +Some architectures do not allow unaligned memory access or may suffer from speed degradation. For such platforms, this flag should be set to true. ``` Setting name...: memory.directMemory.onlyAlignedMemoryAccess @@ -167,7 +167,7 @@ Set at run-time: false ##### jvm.gc.delayForOptimize -Minimal amount of time (seconds) since last System.gc() when called after tree optimization. +Minimal amount of time (in seconds), since the last System.gc(), when called after tree optimization. ``` Setting name...: jvm.gc.delayForOptimize @@ -179,6 +179,26 @@ Set at run-time: false ### Storage +##### storage.openFiles.limit + +Limit of amount of files which may be open simultaneously. + +``` +Setting name...: storage.openFiles.limit +Default value..: 512 +Set at run-time: false +``` + +##### storage.componentsLock.cache + +Amount of cached locks is used for component lock to avoid constant creation of new lock instances. + +``` +Setting name...: storage.componentsLock.cache +Default value..: 10000 +Set at run-time: false +``` + ##### storage.diskCache.pinnedPages Maximum amount of pinned pages which may be contained in cache, if this percent is reached next pages will be left in unpinned state. You can not set value more than 50. @@ -191,7 +211,7 @@ Set at run-time: false ##### storage.diskCache.bufferSize -Size of disk buffer in megabytes, disk size may be changed at runtime, but if does not enough to contain all pinned pages exception will be thrown.. +Size of disk buffer in megabytes, disk size may be changed at runtime, but if does not enough to contain all pinned pages exception will be thrown. ``` Setting name...: storage.diskCache.bufferSize @@ -201,7 +221,7 @@ Set at run-time: true ##### storage.diskCache.writeCachePart -Percent of disk cache which is use as write cache. +Percentage of disk cache, which is used as write cache. ``` Setting name...: storage.diskCache.writeCachePart @@ -211,7 +231,7 @@ Set at run-time: false ##### storage.diskCache.writeCachePageTTL -Max time till page will be flushed from write cache in seconds. +Max time until a page will be flushed from write cache (in seconds). ``` Setting name...: storage.diskCache.writeCachePageTTL @@ -221,7 +241,7 @@ Set at run-time: false ##### storage.diskCache.writeCachePageFlushInterval -Interval between flushing of pages from write cache in ms.. +Interval between flushing of pages from write cache (in ms). ``` Setting name...: storage.diskCache.writeCachePageFlushInterval @@ -231,7 +251,7 @@ Set at run-time: false ##### storage.diskCache.writeCacheFlushInactivityInterval -Interval between 2 writes to the disk cache, if writes are done with interval more than provided all files will be fsynced before next write, which allows do not do data restore after server crash (in ms).. +Interval between 2 writes to the disk cache, if writes are done with an interval more than provided, all files will be fsynced before the next write, which allows a data restore after a server crash (in ms). ``` Setting name...: storage.diskCache.writeCacheFlushInactivityInterval @@ -241,7 +261,7 @@ Set at run-time: false ##### storage.diskCache.writeCacheFlushLockTimeout -Maximum amount of time till write cache will be wait before page flush in ms.. +Maximum amount of time the write cache will wait before a page flushes (in ms, -1 to disable). ``` Setting name...: storage.diskCache.writeCacheFlushLockTimeout @@ -271,7 +291,7 @@ Set at run-time: false ##### storage.diskCache.keepState -Keep disk cache state between moment when storage is closed and moment when it is opened again. true by default.. +Keep disk cache state between moment when storage is closed and moment when it is opened again. true by default. ``` Setting name...: storage.diskCache.keepState @@ -281,7 +301,7 @@ Set at run-time: false ##### storage.configuration.syncOnUpdate -Should we perform force sync of storage configuration for each update. +Indicates a force sync should be performed for each update on the storage configuration. ``` Setting name...: storage.configuration.syncOnUpdate @@ -291,7 +311,7 @@ Set at run-time: false ##### storage.compressionMethod -Record compression method is used in storage. Possible values : gzip, nothing, snappy, snappy-native. Default is snappy.. +Record compression method used in storage Possible values : gzip, nothing, snappy, snappy-native. Default is 'nothing' that means no compression. ``` Setting name...: storage.compressionMethod @@ -299,6 +319,66 @@ Default value..: nothing Set at run-time: false ``` +##### storage.encryptionMethod + +Record encryption method used in storage Possible values : 'aes' and 'des'. Default is 'nothing' for no encryption. + +``` +Setting name...: storage.encryptionMethod +Default value..: nothing +Set at run-time: false +``` + +##### storage.encryptionKey + +Contains the storage encryption key. This setting is hidden. + +``` +Setting name...: storage.encryptionKey +Default value..: null +Set at run-time: false +``` + +##### storage.makeFullCheckpointAfterCreate + +Indicates whether a full checkpoint should be performed, if storage was created. + +``` +Setting name...: storage.makeFullCheckpointAfterCreate +Default value..: false +Set at run-time: false +``` + +##### storage.makeFullCheckpointAfterOpen + +Indicates whether a full checkpoint should be performed, if storage was opened. It is needed so fuzzy checkpoints can work properly. + +``` +Setting name...: storage.makeFullCheckpointAfterOpen +Default value..: true +Set at run-time: false +``` + +##### storage.makeFullCheckpointAfterClusterCreate + +Indicates whether a full checkpoint should be performed, if storage was opened. + +``` +Setting name...: storage.makeFullCheckpointAfterClusterCreate +Default value..: true +Set at run-time: false +``` + +##### storage.trackChangedRecordsInWAL + +If this flag is set metadata which contains rids of changed records is added at the end of each atomic operation. + +``` +Setting name...: storage.trackChangedRecordsInWAL +Default value..: false +Set at run-time: false +``` + ##### storage.useWAL Whether WAL should be used in paginated storage. @@ -311,7 +391,7 @@ Set at run-time: false ##### storage.wal.syncOnPageFlush -Should we perform force sync during WAL page flush. +Indicates whether a force sync should be performed during WAL page flush. ``` Setting name...: storage.wal.syncOnPageFlush @@ -321,7 +401,7 @@ Set at run-time: false ##### storage.wal.cacheSize -Maximum size of WAL cache (in amount of WAL pages, each page is 64k) <= 0 means that caching will be switched off.. +Maximum size of WAL cache (in amount of WAL pages, each page is 64k) If set to 0, caching will be disabled. ``` Setting name...: storage.wal.cacheSize @@ -329,9 +409,19 @@ Default value..: 3000 Set at run-time: false ``` +##### storage.wal.fileAutoCloseInterval + +Interval in seconds after which WAL file will be closed if there is no any IO operations on this file (in seconds), default value is 10. + +``` +Setting name...: storage.wal.fileAutoCloseInterval +Default value..: 10 +Set at run-time: false +``` + ##### storage.wal.maxSegmentSize -Maximum size of single. WAL segment in megabytes.. +Maximum size of single WAL segment (in megabytes). ``` Setting name...: storage.wal.maxSegmentSize @@ -341,7 +431,7 @@ Set at run-time: false ##### storage.wal.maxSize -Supposed, maximum size of WAL on disk in megabytes. This size may be more or less. . +Maximum size of WAL on disk (in megabytes). ``` Setting name...: storage.wal.maxSize @@ -361,7 +451,7 @@ Set at run-time: false ##### storage.wal.shutdownTimeout -Maximum wait interval between events when background flush thread will receive shutdown command and when background flush will be stopped (in ms.). +Maximum wait interval between events, when the background flush threadreceives a shutdown command and when the background flush will be stopped (in ms.). ``` Setting name...: storage.wal.shutdownTimeout @@ -381,7 +471,7 @@ Set at run-time: false ##### storage.wal.reportAfterOperationsDuringRestore -Amount of processed log operations, after which status of data restore procedure will be printed 0 or negative value, means that status will not be printed. +Amount of processed log operations, after which status of data restore procedure will be printed (0 or a negative value, disables the logging). ``` Setting name...: storage.wal.reportAfterOperationsDuringRestore @@ -391,7 +481,7 @@ Set at run-time: false ##### storage.wal.restore.batchSize -Amount of wal records are read at once in single batch during restore procedure. +Amount of WAL records, which are read at once in a single batch during a restore procedure. ``` Setting name...: storage.wal.restore.batchSize @@ -411,7 +501,7 @@ Set at run-time: false ##### storage.wal.fuzzyCheckpointShutdownWait -Interval which we should wait till shutdown (in seconds). +The amount of time the DB should wait until it shuts down (in seconds). ``` Setting name...: storage.wal.fuzzyCheckpointShutdownWait @@ -421,7 +511,7 @@ Set at run-time: false ##### storage.wal.fullCheckpointShutdownTimeout -Timeout till DB will wait that full checkpoint is finished during DB close (in seconds)). +The amount of time the DB will wait, until a checkpoint is finished, during a DB shutdown (in seconds). ``` Setting name...: storage.wal.fullCheckpointShutdownTimeout @@ -431,7 +521,7 @@ Set at run-time: false ##### storage.wal.path -Path to the wal file on the disk, by default is placed in DB directory but it is highly recomended to use separate disk to store log operations. +Path to the WAL file on the disk. By default, it is placed in the DB directory, but it is highly recommended to use a separate disk to store log operations. ``` Setting name...: storage.wal.path @@ -439,39 +529,9 @@ Default value..: null Set at run-time: false ``` -##### storage.makeFullCheckpointAfterCreate - -Indicates whether full checkpoint should be performed if storage was created.. - -``` -Setting name...: storage.makeFullCheckpointAfterCreate -Default value..: true -Set at run-time: false -``` - -##### storage.makeFullCheckpointAfterOpen - -Indicates whether full checkpoint should be performed if storage was opened. It is needed to make fuzzy checkpoints to work without issues. - -``` -Setting name...: storage.makeFullCheckpointAfterOpen -Default value..: true -Set at run-time: false -``` - -##### storage.makeFullCheckpointAfterClusterCreate - -Indicates whether full checkpoint should be performed if storage was opened.. - -``` -Setting name...: storage.makeFullCheckpointAfterClusterCreate -Default value..: true -Set at run-time: false -``` - ##### storage.diskCache.pageSize -Size of page of disk buffer in kilobytes,!!! NEVER CHANGE THIS VALUE !!!. +Size of page of disk buffer (in kilobytes). !!! NEVER CHANGE THIS VALUE !!!. ``` Setting name...: storage.diskCache.pageSize @@ -491,7 +551,7 @@ Set at run-time: false ##### storage.lowestFreeListBound -The minimal amount of free space (in kb) in page which is tracked in paginated storage. +The least amount of free space (in kb) in a page, which is tracked in paginated storage. ``` Setting name...: storage.lowestFreeListBound @@ -499,19 +559,9 @@ Default value..: 16 Set at run-time: false ``` -##### storage.cluster.usecrc32 - -Indicates whether crc32 should be used for each record to check record integrity.. - -``` -Setting name...: storage.cluster.usecrc32 -Default value..: false -Set at run-time: false -``` - ##### storage.lockTimeout -Maximum timeout in milliseconds to lock the storage. +Maximum amount of time (in ms) to lock the storage. ``` Setting name...: storage.lockTimeout @@ -521,7 +571,7 @@ Set at run-time: false ##### storage.record.lockTimeout -Maximum timeout in milliseconds to lock a shared record. +Maximum of time (in ms) to lock a shared record. ``` Setting name...: storage.record.lockTimeout @@ -531,7 +581,7 @@ Set at run-time: false ##### storage.useTombstones -When record will be deleted its cluster position will not be freed but tombstone will be placed instead. +When a record is deleted, the space in the cluster will not be freed, but rather tombstoned. ``` Setting name...: storage.useTombstones @@ -539,6 +589,16 @@ Default value..: false Set at run-time: false ``` +##### storage.cluster.usecrc32 + +Indicates whether crc32 should be used for each record to check record integrity. + +``` +Setting name...: storage.cluster.usecrc32 +Default value..: false +Set at run-time: false +``` + ##### storage.keepOpen Deprecated. @@ -555,7 +615,7 @@ Set at run-time: false ##### record.downsizing.enabled -On updates if the record size is lower than before, reduces the space taken accordingly. If enabled this could increase defragmentation, but it reduces the used space. +On updates, if the record size is lower than before, this reduces the space taken accordingly. If enabled this could increase defragmentation, but it reduces the used disk space. ``` Setting name...: record.downsizing.enabled @@ -569,7 +629,7 @@ Set at run-time: false ##### object.saveOnlyDirty -Object Database only saves objects bound to dirty records. +Object Database only! It saves objects bound to dirty records. ``` Setting name...: object.saveOnlyDirty @@ -603,7 +663,7 @@ Set at run-time: false ##### db.pool.idleTimeout -Timeout for checking of free database in the pool. +Timeout for checking for free databases in the pool. ``` Setting name...: db.pool.idleTimeout @@ -623,7 +683,7 @@ Set at run-time: false ##### db.mvcc.throwfast -Use fast-thrown exceptions for MVCC OConcurrentModificationExceptions. No context information will be available, use where these exceptions are handled and the detail is not neccessary. +Use fast-thrown exceptions for MVCC OConcurrentModificationExceptions. No context information will be available. Set to true, when these exceptions are thrown, but the details are not necessary. ``` Setting name...: db.mvcc.throwfast @@ -641,9 +701,19 @@ Default value..: true Set at run-time: true ``` +##### db.document.serializer + +The default record serializer used by the document database. + +``` +Setting name...: db.document.serializer +Default value..: ORecordSerializerBinary +Set at run-time: false +``` + ##### db.makeFullCheckpointOnIndexChange -When index metadata is changed full checkpoint is performed. +When index metadata is changed, a full checkpoint is performed. ``` Setting name...: db.makeFullCheckpointOnIndexChange @@ -653,7 +723,7 @@ Set at run-time: true ##### db.makeFullCheckpointOnSchemaChange -When index schema is changed full checkpoint is performed. +When index schema is changed, a full checkpoint is performed. ``` Setting name...: db.makeFullCheckpointOnSchemaChange @@ -661,16 +731,6 @@ Default value..: true Set at run-time: true ``` -##### db.document.serializer - -The default record serializer used by the document database. - -``` -Setting name...: db.document.serializer -Default value..: ORecordSerializerBinary -Set at run-time: false -``` - ##### db.mvcc Deprecated, MVCC cannot be disabled anymore. @@ -697,7 +757,7 @@ Set at run-time: false ##### nonTX.recordUpdate.synch -Executes a synch against the file-system at every record operation. This slows down records updates but guarantee reliability on unreliable drives. +Executes a sync against the file-system for every record operation. This slows down record updates, but guarantees reliability on unreliable drives. ``` Setting name...: nonTX.recordUpdate.synch @@ -707,7 +767,7 @@ Set at run-time: false ##### nonTX.clusters.sync.immediately -List of clusters to sync immediately after update separated by commas. Can be useful for manual index. +List of clusters to sync immediately after update (separated by commas). Can be useful for a manual index. ``` Setting name...: nonTX.clusters.sync.immediately @@ -721,7 +781,7 @@ Set at run-time: false ##### tx.trackAtomicOperations -This setting is used only for debug purpose, it track stac trace of methods where atomic operation is started.. +This setting is used only for debug purposes. It creates a stack trace of methods, when an atomic operation is started. ``` Setting name...: tx.trackAtomicOperations @@ -785,27 +845,27 @@ Set at run-time: false ##### index.embeddedToSbtreeBonsaiThreshold -Amount of values after which index implementation will use sbtree as values container. Set to -1 to force always using it. +Amount of values, after which the index implementation will use an sbtree as a values container. Set to -1, to disable and force using an sbtree. ``` Setting name...: index.embeddedToSbtreeBonsaiThreshold Default value..: 40 -Set at run-time: false +Set at run-time: true ``` ##### index.sbtreeBonsaiToEmbeddedThreshold -Amount of values after which index implementation will use embedded values container (disabled by default). +Amount of values, after which index implementation will use an embedded values container (disabled by default). ``` Setting name...: index.sbtreeBonsaiToEmbeddedThreshold Default value..: -1 -Set at run-time: false +Set at run-time: true ``` ##### index.auto.synchronousAutoRebuild -Synchronous execution of auto rebuilding of indexes in case of db crash.. +Synchronous execution of auto rebuilding of indexes, in case of a DB crash. ``` Setting name...: index.auto.synchronousAutoRebuild @@ -815,7 +875,7 @@ Set at run-time: false ##### index.auto.lazyUpdates -Configure the TreeMaps for automatic indexes as buffered or not. -1 means buffered until tx.commit() or db.close() are called. +Configure the TreeMaps for automatic indexes, as buffered or not. -1 means buffered until tx.commit() or db.close() are called. ``` Setting name...: index.auto.lazyUpdates @@ -845,17 +905,27 @@ Set at run-time: false ##### index.durableInNonTxMode -Indicates whether index implementation for plocal storage will be durable in non-Tx mode, false by default. +Indicates whether index implementation for plocal storage will be durable in non-Tx mode (true by default). ``` Setting name...: index.durableInNonTxMode +Default value..: true +Set at run-time: false +``` + +##### index.ignoreNullValuesDefault + +Controls whether null values will be ignored by default by newly created indexes or not (false by default). + +``` +Setting name...: index.ignoreNullValuesDefault Default value..: false Set at run-time: false ``` ##### index.txMode -Indicates index durability level in TX mode. Can be ROLLBACK_ONLY or FULL (ROLLBACK_ONLY by default). +Indicates the index durability level in TX mode. Can be ROLLBACK_ONLY or FULL (ROLLBACK_ONLY by default). ``` Setting name...: index.txMode @@ -889,7 +959,7 @@ Set at run-time: false ##### hashTable.slitBucketsBuffer.length -Length of buffer (in pages) where buckets that were splited but not flushed to the disk are kept. This buffer is used to minimize random IO overhead.. +Length of buffer (in pages), where buckets that were split, but not flushed to the disk, are kept. This buffer is used to minimize random IO overhead. ``` Setting name...: hashTable.slitBucketsBuffer.length @@ -903,7 +973,7 @@ Set at run-time: false ##### sbtree.maxDepth -Maximum depth of sbtree which will be traversed during key look up till it will be treated like broken (64 by default). +Maximum depth of sbtree, which will be traversed during key look up until it will be treated as broken (64 by default). ``` Setting name...: sbtree.maxDepth @@ -913,7 +983,7 @@ Set at run-time: false ##### sbtree.maxKeySize -Maximum size of key which can be put in SBTree in bytes (10240 by default). +Maximum size of a key, which can be put in the SBTree in bytes (10240 by default). ``` Setting name...: sbtree.maxKeySize @@ -923,7 +993,7 @@ Set at run-time: false ##### sbtree.maxEmbeddedValueSize -Maximum size of value which can be put in SBTree without creation link to standalone page in bytes (40960 by default). +Maximum size of value which can be put in an SBTree without creation link to a standalone page in bytes (40960 by default). ``` Setting name...: sbtree.maxEmbeddedValueSize @@ -937,7 +1007,7 @@ Set at run-time: false ##### sbtreebonsai.bucketSize -Size of bucket in OSBTreeBonsai in kB. Contract: bucketSize < storagePageSize, storagePageSize % bucketSize == 0.. +Size of bucket in OSBTreeBonsai (in kB). Contract: bucketSize < storagePageSize, storagePageSize % bucketSize == 0. ``` Setting name...: sbtreebonsai.bucketSize @@ -947,7 +1017,7 @@ Set at run-time: false ##### sbtreebonsai.linkBagCache.size -Amount of LINKBAG collections are cached to avoid constant reloading of data. +Amount of LINKBAG collections to be cached, to avoid constant reloading of data. ``` Setting name...: sbtreebonsai.linkBagCache.size @@ -957,7 +1027,7 @@ Set at run-time: false ##### sbtreebonsai.linkBagCache.evictionSize -How many items of cached LINKBAG collections will be removed when cache limit is reached. +The number of cached LINKBAG collections, which will be removed, when the cache limit is reached. ``` Setting name...: sbtreebonsai.linkBagCache.evictionSize @@ -967,7 +1037,7 @@ Set at run-time: false ##### sbtreebonsai.freeSpaceReuseTrigger -How much free space should be in sbtreebonsai file before it will be reused during next allocation. +How much free space should be in an sbtreebonsai file, before it will be reused during the next allocation. ``` Setting name...: sbtreebonsai.freeSpaceReuseTrigger @@ -981,7 +1051,7 @@ Set at run-time: false ##### ridBag.embeddedDefaultSize -Size of embedded RidBag array when created (empty). +Size of embedded RidBag array, when created (empty). ``` Setting name...: ridBag.embeddedDefaultSize @@ -991,7 +1061,7 @@ Set at run-time: false ##### ridBag.embeddedToSbtreeBonsaiThreshold -Amount of values after which LINKBAG implementation will use sbtree as values container. Set to -1 to force always using it. +Amount of values after which a LINKBAG implementation will use sbtree as values container. Set to -1 to always use an sbtree. ``` Setting name...: ridBag.embeddedToSbtreeBonsaiThreshold @@ -1001,7 +1071,7 @@ Set at run-time: true ##### ridBag.sbtreeBonsaiToEmbeddedToThreshold -Amount of values after which LINKBAG implementation will use embedded values container (disabled by default). +Amount of values, after which a LINKBAG implementation will use an embedded values container (disabled by default). ``` Setting name...: ridBag.sbtreeBonsaiToEmbeddedToThreshold @@ -1015,7 +1085,7 @@ Set at run-time: true ##### collections.preferSBTreeSet -This config is experimental.. +This configuration setting is experimental. ``` Setting name...: collections.preferSBTreeSet @@ -1029,7 +1099,7 @@ Set at run-time: false ##### file.trackFileClose -Log all the cases when files are closed. This is needed only for internal debugging purpose. +Log all the cases when files are closed. This is needed only for internal debugging purposes. ``` Setting name...: file.trackFileClose @@ -1049,7 +1119,7 @@ Set at run-time: false ##### file.deleteDelay -Delay time in ms to wait for another attempt to delete a locked file. +Delay time (in ms) to wait for another attempt to delete a locked file. ``` Setting name...: file.deleteDelay @@ -1068,15 +1138,45 @@ Set at run-time: false ``` ---- -### Jna +### Security -##### jna.disable.system.library +##### security.userPasswordSaltIterations -This property disable to using JNA installed in your system. And use JNA bundled with database.. +Number of iterations to generate the salt or user password. Changing this setting does not affect stored passwords. ``` -Setting name...: jna.disable.system.library +Setting name...: security.userPasswordSaltIterations +Default value..: 65536 +Set at run-time: false +``` + +##### security.userPasswordSaltCacheSize + +Cache size of hashed salt passwords. The cache works as LRU. Use 0 to disable the cache. + +``` +Setting name...: security.userPasswordSaltCacheSize +Default value..: 500 +Set at run-time: false +``` + +##### security.userPasswordDefaultAlgorithm + +Default encryption algorithm used for passwords hashing. + +``` +Setting name...: security.userPasswordDefaultAlgorithm +Default value..: PBKDF2WithHmacSHA256 +Set at run-time: false +``` + +##### security.createDefaultUsers + +Indicates whether default database users should be created. + +``` +Setting name...: security.createDefaultUsers Default value..: true Set at run-time: false ``` @@ -1107,7 +1207,7 @@ Set at run-time: true ##### network.lockTimeout -Timeout in ms to acquire a lock against a channel. +Timeout (in ms) to acquire a lock against a channel. ``` Setting name...: network.lockTimeout @@ -1117,7 +1217,7 @@ Set at run-time: true ##### network.socketTimeout -TCP/IP Socket timeout in ms. +TCP/IP Socket timeout (in ms). ``` Setting name...: network.socketTimeout @@ -1127,7 +1227,7 @@ Set at run-time: true ##### network.requestTimeout -Request completion timeout in ms . +Request completion timeout (in ms). ``` Setting name...: network.requestTimeout @@ -1137,7 +1237,7 @@ Set at run-time: true ##### network.retry -Number of times the client retries its connection to the server on failure. +Number of attempts to connect to the server on failure. ``` Setting name...: network.retry @@ -1147,7 +1247,7 @@ Set at run-time: true ##### network.retryDelay -Number of ms the client waits before reconnecting to the server on failure. +The time (in ms) the client must wait, before reconnecting to the server on failure. ``` Setting name...: network.retryDelay @@ -1157,7 +1257,7 @@ Set at run-time: true ##### network.binary.loadBalancing.enabled -Asks for DNS TXT record to determine if load balancing is supported. +Asks for DNS TXT record, to determine if load balancing is supported. ``` Setting name...: network.binary.loadBalancing.enabled @@ -1177,17 +1277,17 @@ Set at run-time: true ##### network.binary.maxLength -TCP/IP max content length in bytes of BINARY requests. +TCP/IP max content length (in KB) of BINARY requests. ``` Setting name...: network.binary.maxLength -Default value..: 32736 +Default value..: 16384 Set at run-time: true ``` ##### network.binary.readResponse.maxTimes -Maximum times to wait until response will be read. Otherwise response will be dropped from chanel. +Maximum attempts, until a response can be read. Otherwise, the response will be dropped from the channel. ``` Setting name...: network.binary.readResponse.maxTimes @@ -1205,9 +1305,29 @@ Default value..: false Set at run-time: true ``` +##### network.http.installDefaultCommands + +Installs the default HTTP commands. + +``` +Setting name...: network.http.installDefaultCommands +Default value..: true +Set at run-time: true +``` + +##### network.http.serverInfo + +Server info to send in HTTP responses. Change the default if you want to hide it is a OrientDB Server. + +``` +Setting name...: network.http.serverInfo +Default value..: OrientDB Server v.2.2.12-SNAPSHOT +Set at run-time: true +``` + ##### network.http.maxLength -TCP/IP max content length in bytes for HTTP requests. +TCP/IP max content length (in bytes) for HTTP requests. ``` Setting name...: network.http.maxLength @@ -1215,6 +1335,16 @@ Default value..: 1000000 Set at run-time: true ``` +##### network.http.streaming + +Enable Http chunked streaming for json responses. + +``` +Setting name...: network.http.streaming +Default value..: true +Set at run-time: false +``` + ##### network.http.charset Http response charset. @@ -1237,7 +1367,7 @@ Set at run-time: true ##### network.http.jsonp -Enable the usage of JSONP if requested by the client. The parameter name to use is 'callback'. +Enable the usage of JSONP, if requested by the client. The parameter name to use is 'callback'. ``` Setting name...: network.http.jsonp @@ -1247,7 +1377,7 @@ Set at run-time: true ##### network.http.sessionExpireTimeout -Timeout after which an http session is considered tp have expired (seconds). +Timeout, after which an http session is considered to have expired (in seconds). ``` Setting name...: network.http.sessionExpireTimeout @@ -1265,29 +1395,29 @@ Default value..: false Set at run-time: false ``` -##### network.token.secretyKey +##### network.token.secretKey Network token sercret key. ``` -Setting name...: network.token.secretyKey +Setting name...: network.token.secretKey Default value..: Set at run-time: false ``` -##### network.token.encriptionAlgorithm +##### network.token.encryptionAlgorithm Network token algorithm. ``` -Setting name...: network.token.encriptionAlgorithm +Setting name...: network.token.encryptionAlgorithm Default value..: HmacSHA256 Set at run-time: false ``` ##### network.token.expireTimeout -Timeout after which an binary session is considered tp have expired (minutes). +Timeout, after which a binary session is considered to have expired (in minutes). ``` Setting name...: network.token.expireTimeout @@ -1296,26 +1426,12 @@ Set at run-time: false ``` ---- -### Oauth2 - - -##### oauth2.secretkey - -Http OAuth2 secret key. - -``` -Setting name...: oauth2.secretkey -Default value..: -Set at run-time: false -``` ----- - ### Profiler ##### profiler.enabled -Enable the recording of statistics and counters. +Enables the recording of statistics and counters. ``` Setting name...: profiler.enabled @@ -1335,7 +1451,7 @@ Set at run-time: true ##### profiler.autoDump.interval -Dumps the profiler values at regular intervals. Time is expressed in seconds. +Dumps the profiler values at regular intervals (in seconds). ``` Setting name...: profiler.autoDump.interval @@ -1354,50 +1470,236 @@ Set at run-time: false ``` ---- -### Log +### Sequence -##### log.console.level +##### sequence.maxRetry -Console logging level. +Maximum number of retries between attempt to change a sequence in concurrent mode. ``` -Setting name...: log.console.level -Default value..: info -Set at run-time: true +Setting name...: sequence.maxRetry +Default value..: 100 +Set at run-time: false ``` -##### log.file.level +##### sequence.retryDelay -File logging level. +Maximum number of ms to wait between concurrent modification exceptions. The value is computed as random between 1 and this number. ``` -Setting name...: log.file.level -Default value..: fine -Set at run-time: true +Setting name...: sequence.retryDelay +Default value..: 200 +Set at run-time: false ``` ---- -### Command +### StorageProfiler -##### command.timeout +##### storageProfiler.intervalBetweenSnapshots -Default timeout for commands expressed in milliseconds. +Interval between snapshots of profiler state in milliseconds. ``` -Setting name...: command.timeout -Default value..: 0 -Set at run-time: true +Setting name...: storageProfiler.intervalBetweenSnapshots +Default value..: 100 +Set at run-time: false ``` ----- + +##### storageProfiler.cleanUpInterval + +Interval between time series in milliseconds. + +``` +Setting name...: storageProfiler.cleanUpInterval +Default value..: 5000 +Set at run-time: false +``` +---- + +### Log + + +##### log.console.level + +Console logging level. + +``` +Setting name...: log.console.level +Default value..: info +Set at run-time: true +``` + +##### log.file.level + +File logging level. + +``` +Setting name...: log.file.level +Default value..: info +Set at run-time: true +``` + +##### log.console.ansi + +ANSI Console support. 'auto' means automatic check if it is supported, 'true' to force using ANSI, 'false' to avoid using ANSI. + +``` +Setting name...: log.console.ansi +Default value..: auto +Set at run-time: false +``` +---- + +### Class + + +##### class.minimumClusters + +Minimum clusters to create when a new class is created. 0 means Automatic. + +``` +Setting name...: class.minimumClusters +Default value..: 0 +Set at run-time: false +``` +---- + +### Cache + + +##### cache.local.impl + +Local Record cache implementation. + +``` +Setting name...: cache.local.impl +Default value..: com.orientechnologies.orient.core.cache.ORecordCacheWeakRefs +Set at run-time: false +``` + +##### cache.local.enabled + +Deprecated, Level1 cache cannot be disabled anymore. + +``` +Setting name...: cache.local.enabled +Default value..: true +Set at run-time: false +``` +---- + +### Command + + +##### command.timeout + +Default timeout for commands (in ms). + +``` +Setting name...: command.timeout +Default value..: 0 +Set at run-time: true +``` + +##### command.cache.enabled + +Enable command cache. + +``` +Setting name...: command.cache.enabled +Default value..: false +Set at run-time: false +``` + +##### command.cache.evictStrategy + +Command cache strategy between: [INVALIDATE_ALL,PER_CLUSTER]. + +``` +Setting name...: command.cache.evictStrategy +Default value..: PER_CLUSTER +Set at run-time: false +``` + +##### command.cache.minExecutionTime + +Minimum execution time to consider caching the result set. + +``` +Setting name...: command.cache.minExecutionTime +Default value..: 10 +Set at run-time: false +``` + +##### command.cache.maxResultsetSize + +Maximum resultset time to consider caching result set. + +``` +Setting name...: command.cache.maxResultsetSize +Default value..: 500 +Set at run-time: false +``` +---- ### Query +##### query.parallelAuto + +Auto enable parallel query, if requirements are met. + +``` +Setting name...: query.parallelAuto +Default value..: false +Set at run-time: false +``` + +##### query.parallelMinimumRecords + +Minimum number of records to activate parallel query automatically. + +``` +Setting name...: query.parallelMinimumRecords +Default value..: 300000 +Set at run-time: false +``` + +##### query.parallelResultQueueSize + +Size of the queue that holds results on parallel execution. The queue is blocking, so in case the queue is full, the query threads will be in a wait state. + +``` +Setting name...: query.parallelResultQueueSize +Default value..: 20000 +Set at run-time: false +``` + +##### query.scanPrefetchPages + +Pages to prefetch during scan. Setting this value higher makes scans faster, because it reduces the number of I/O operations, though it consumes more memory. (Use 0 to disable). + +``` +Setting name...: query.scanPrefetchPages +Default value..: 20 +Set at run-time: false +``` + +##### query.scanBatchSize + +Scan clusters in blocks of records. This setting reduces the lock time on the cluster during scans. A high value mean a faster execution, but also a lower concurrency level. Set to 0 to disable batch scanning. Disabling batch scanning is suggested for read-only databases only. + +``` +Setting name...: query.scanBatchSize +Default value..: 1000 +Set at run-time: false +``` + ##### query.scanThresholdTip -If total number of records scanned in a query is major than this threshold a warning is given. Use 0 to disable it. +If the total number of records scanned in a query exceeds this setting, then a warning is given. (Use 0 to disable). ``` Setting name...: query.scanThresholdTip @@ -1407,13 +1709,37 @@ Set at run-time: false ##### query.limitThresholdTip -If total number of returned records in a query is major than this threshold a warning is given. Use 0 to disable it. +If the total number of returned records exceeds this value, then a warning is given. (Use 0 to disable). ``` Setting name...: query.limitThresholdTip Default value..: 10000 Set at run-time: false ``` + +##### query.live.support + +Enable/Disable the support of live query. (Use false to disable). + +``` +Setting name...: query.live.support +Default value..: true +Set at run-time: false +``` +---- + +### Statement + + +##### statement.cacheSize + +Number of parsed SQL statements kept in cache. + +``` +Setting name...: statement.cacheSize +Default value..: 100 +Set at run-time: false +``` ---- ### Sql @@ -1435,7 +1761,7 @@ Set at run-time: false ##### client.channel.maxPool -Maximum size of pool of network channels between client and server. A channel is a TCP/IP connection.. +Maximum size of pool of network channels between client and server. A channel is a TCP/IP connection. ``` Setting name...: client.channel.maxPool @@ -1445,7 +1771,7 @@ Set at run-time: false ##### client.connectionPool.waitTimeout -Maximum time which client should wait a connection from the pool when all connection are used. +Maximum time, where the client should wait for a connection from the pool, when all connections busy. ``` Setting name...: client.connectionPool.waitTimeout @@ -1455,7 +1781,7 @@ Set at run-time: true ##### client.channel.dbReleaseWaitTimeout -Delay in ms. after which data modification command will be resent if DB was frozen. +Delay (in ms), after which a data modification command will be resent, if the DB was frozen. ``` Setting name...: client.channel.dbReleaseWaitTimeout @@ -1513,13 +1839,53 @@ Default value..: null Set at run-time: false ``` +##### client.krb5.config + +Location of the Kerberos configuration file. + +``` +Setting name...: client.krb5.config +Default value..: null +Set at run-time: false +``` + +##### client.krb5.ccname + +Location of the Kerberos client ticketcache. + +``` +Setting name...: client.krb5.ccname +Default value..: null +Set at run-time: false +``` + +##### client.krb5.ktname + +Location of the Kerberos client keytab. + +``` +Setting name...: client.krb5.ktname +Default value..: null +Set at run-time: false +``` + +##### client.credentialinterceptor + +The name of the CredentialInterceptor class. + +``` +Setting name...: client.credentialinterceptor +Default value..: null +Set at run-time: false +``` + ##### client.session.tokenBased Request a token based session to the server. ``` Setting name...: client.session.tokenBased -Default value..: false +Default value..: true Set at run-time: false ``` @@ -1537,6 +1903,16 @@ Set at run-time: false ### Server +##### server.openAllDatabasesAtStartup + +If true, the server opens all the available databases at startup. Available since 2.2. + +``` +Setting name...: server.openAllDatabasesAtStartup +Default value..: false +Set at run-time: false +``` + ##### server.channel.cleanDelay Time in ms of delay to check pending closed connections. @@ -1549,7 +1925,7 @@ Set at run-time: false ##### server.cache.staticFile -Cache static resources loading. +Cache static resources upon loading. ``` Setting name...: server.cache.staticFile @@ -1569,13 +1945,23 @@ Set at run-time: false ##### server.log.dumpClientExceptionFullStackTrace -Dumps the full stack trace of the exception to sent to the client. +Dumps the full stack trace of the exception sent to the client. ``` Setting name...: server.log.dumpClientExceptionFullStackTrace Default value..: false Set at run-time: true ``` + +##### server.security.file + +Location of the OrientDB security.json configuration file. + +``` +Setting name...: server.security.file +Default value..: null +Set at run-time: false +``` ---- ### Distributed @@ -1583,7 +1969,7 @@ Set at run-time: true ##### distributed.crudTaskTimeout -Maximum timeout in milliseconds to wait for CRUD remote tasks. +Maximum timeout (in ms) to wait for CRUD remote tasks. ``` Setting name...: distributed.crudTaskTimeout @@ -1593,17 +1979,27 @@ Set at run-time: true ##### distributed.commandTaskTimeout -Maximum timeout in milliseconds to wait for Command remote tasks. +Maximum timeout (in ms) to wait for command distributed tasks. ``` Setting name...: distributed.commandTaskTimeout -Default value..: 10000 +Default value..: 120000 +Set at run-time: true +``` + +##### distributed.commandQuickTaskTimeout + +Maximum timeout (in ms) to wait for quick command distributed tasks. + +``` +Setting name...: distributed.commandQuickTaskTimeout +Default value..: 5000 Set at run-time: true ``` ##### distributed.commandLongTaskTimeout -Maximum timeout in milliseconds to wait for Long-running remote tasks. +Maximum timeout (in ms) to wait for Long-running distributed tasks. ``` Setting name...: distributed.commandLongTaskTimeout @@ -1613,7 +2009,7 @@ Set at run-time: true ##### distributed.deployDbTaskTimeout -Maximum timeout in milliseconds to wait for database deployment. +Maximum timeout (in ms) to wait for database deployment. ``` Setting name...: distributed.deployDbTaskTimeout @@ -1623,7 +2019,7 @@ Set at run-time: true ##### distributed.deployChunkTaskTimeout -Maximum timeout in milliseconds to wait for database chunk deployment. +Maximum timeout (in ms) to wait for database chunk deployment. ``` Setting name...: distributed.deployChunkTaskTimeout @@ -1633,7 +2029,7 @@ Set at run-time: true ##### distributed.deployDbTaskCompression -Compression level between 0 and 9 to use in backup for database deployment. +Compression level (between 0 and 9) to use in backup for database deployment. ``` Setting name...: distributed.deployDbTaskCompression @@ -1641,19 +2037,9 @@ Default value..: 7 Set at run-time: true ``` -##### distributed.queueTimeout - -Maximum timeout in milliseconds to wait for the response in replication. - -``` -Setting name...: distributed.queueTimeout -Default value..: 5000 -Set at run-time: true -``` - ##### distributed.asynchQueueSize -Queue size to handle distributed asynchronous operations. 0 = dynamic allocation (up to 2^31-1 entries). +Queue size to handle distributed asynchronous operations. The bigger is the queue, the more operation are buffered, but also more memory it's consumed. 0 = dynamic allocation, which means up to 2^31-1 entries. ``` Setting name...: distributed.asynchQueueSize @@ -1663,7 +2049,7 @@ Set at run-time: false ##### distributed.asynchResponsesTimeout -Maximum timeout in milliseconds to collect all the asynchronous responses from replication. +Maximum timeout (in ms) to collect all the asynchronous responses from replication. After this time the operation is rolled back (through an UNDO). ``` Setting name...: distributed.asynchResponsesTimeout @@ -1673,7 +2059,7 @@ Set at run-time: false ##### distributed.purgeResponsesTimerDelay -Maximum timeout in milliseconds to collect all the asynchronous responses from replication. +Maximum timeout (in ms) to collect all the asynchronous responses from replication. This is the delay the purge thread uses to check asynchronous requests in timeout. ``` Setting name...: distributed.purgeResponsesTimerDelay @@ -1681,9 +2067,139 @@ Default value..: 15000 Set at run-time: false ``` +##### distributed.conflictResolverRepairerChain + +Chain of conflict resolver implementation to use. + +``` +Setting name...: distributed.conflictResolverRepairerChain +Default value..: majority,content,version +Set at run-time: false +``` + +##### distributed.conflictResolverRepairerCheckEvery + +Time (in ms) when the conflict resolver auto-repairer checks for records/cluster to repair. + +``` +Setting name...: distributed.conflictResolverRepairerCheckEvery +Default value..: 5000 +Set at run-time: true +``` + +##### distributed.conflictResolverRepairerBatch + +Number of record to repair in batch. + +``` +Setting name...: distributed.conflictResolverRepairerBatch +Default value..: 100 +Set at run-time: true +``` + +##### distributed.txAliveTimeout + +Maximum timeout (in ms) a distributed transaction can be alive. This timeout is to rollback pending transactions after a while. + +``` +Setting name...: distributed.txAliveTimeout +Default value..: 30000 +Set at run-time: true +``` + +##### distributed.requestChannels + +Number of network channels used to send requests. + +``` +Setting name...: distributed.requestChannels +Default value..: 1 +Set at run-time: false +``` + +##### distributed.responseChannels + +Number of network channels used to send responses. + +``` +Setting name...: distributed.responseChannels +Default value..: 1 +Set at run-time: false +``` + +##### distributed.heartbeatTimeout + +Maximum time in ms to wait for the heartbeat. If the server does not respond in time, it is put offline. + +``` +Setting name...: distributed.heartbeatTimeout +Default value..: 10000 +Set at run-time: false +``` + +##### distributed.checkHealthCanOfflineServer + +In case a server does not respond to the heartbeat message, it is set offline. + +``` +Setting name...: distributed.checkHealthCanOfflineServer +Default value..: false +Set at run-time: false +``` + +##### distributed.checkHealthEvery + +Time in ms to check the cluster health. Set to 0 to disable it. + +``` +Setting name...: distributed.checkHealthEvery +Default value..: 10000 +Set at run-time: false +``` + +##### distributed.autoRemoveOfflineServers + +This is the amount of time (in ms) the server has to be OFFLINE, before it is automatically removed from the distributed configuration. -1 = never, 0 = immediately, >0 the actual time to wait. + +``` +Setting name...: distributed.autoRemoveOfflineServers +Default value..: -1 +Set at run-time: true +``` + +##### distributed.publishNodeStatusEvery + +Time in ms to publish the node status on distributed map. Set to 0 to disable such refresh of node configuration. + +``` +Setting name...: distributed.publishNodeStatusEvery +Default value..: 5000 +Set at run-time: true +``` + +##### distributed.localQueueSize + +Size of the intra-thread queue for distributed messages. + +``` +Setting name...: distributed.localQueueSize +Default value..: 10000 +Set at run-time: false +``` + +##### distributed.dbWorkerThreads + +Number of parallel worker threads per database that process distributed messages. + +``` +Setting name...: distributed.dbWorkerThreads +Default value..: 8 +Set at run-time: false +``` + ##### distributed.queueMaxSize -Maximum queue size to mark a node as stalled. If the number of messages in queue are more than this values, the node is restarted with a remote command (0 = no maximum, which means up to 2^31-1 entries).. +Maximum queue size to mark a node as stalled. If the number of messages in queue are more than this values, the node is restarted with a remote command (0 = no maximum, which means up to 2^31-1 entries). ``` Setting name...: distributed.queueMaxSize @@ -1693,7 +2209,7 @@ Set at run-time: false ##### distributed.backupDirectory -Directory where to copy an existent database before to download from the cluster. +Directory where the copy of an existent database is saved, before it is downloaded from the cluster. Leave it empty to avoid the backup.. ``` Setting name...: distributed.backupDirectory @@ -1703,7 +2219,7 @@ Set at run-time: false ##### distributed.concurrentTxMaxAutoRetry -Maximum retries the transaction coordinator can execute a transaction automatically if records are locked. Minimum is 1 (no retry). +Maximum attempts the transaction coordinator should execute a transaction automatically, if records are locked. (Minimum is 1 = no attempts). ``` Setting name...: distributed.concurrentTxMaxAutoRetry @@ -1711,15 +2227,63 @@ Default value..: 10 Set at run-time: true ``` +##### distributed.atomicLockTimeout + +Timeout (in ms) to acquire a distributed lock on a record. (0=infinite). + +``` +Setting name...: distributed.atomicLockTimeout +Default value..: 300 +Set at run-time: true +``` + ##### distributed.concurrentTxAutoRetryDelay -Delay in ms between attempts on executing a distributed transaction failed because of records locked. 0=no delay. +Delay (in ms) between attempts on executing a distributed transaction, which had failed because of locked records. (0=no delay). ``` Setting name...: distributed.concurrentTxAutoRetryDelay Default value..: 100 Set at run-time: true ``` + +##### distributed.queueTimeout + +Maximum timeout (in ms) to wait for the response in replication. + +``` +Setting name...: distributed.queueTimeout +Default value..: 500000 +Set at run-time: true +``` +---- + +### Jna + + +##### jna.disable.system.library + +This property disables using JNA, should it be installed on your system. (Default true) To use JNA bundled with database. + +``` +Setting name...: jna.disable.system.library +Default value..: true +Set at run-time: false +``` +---- + +### Oauth2 + + +##### oauth2.secretkey + +Http OAuth2 secret key. + +``` +Setting name...: oauth2.secretkey +Default value..: +Set at run-time: false +``` ---- ### Lazyset @@ -1848,22 +2412,6 @@ Setting name...: mvrbtree.ridNodeSaveMemory Default value..: false Set at run-time: false ``` ----- - -### Cache - - -##### cache.local.enabled - -Deprecated, Level1 cache cannot be disabled anymore. - -``` -Setting name...: cache.local.enabled -Default value..: true -Set at run-time: false -``` - - *NOTE: On 64-bit systems you have not the limitation of 32-bit systems with memory.* diff --git a/Console-Command-Backup.md b/Console-Command-Backup.md index fc085aab..6d763cfc 100644 --- a/Console-Command-Backup.md +++ b/Console-Command-Backup.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'console command', 'BACKUP'] +--- + # Console - `BACKUP` @@ -19,6 +24,10 @@ BACKUP DATABASE [-incremental] [-compressionLevel= # Console - `BEGIN` diff --git a/Console-Command-Browse-Class.md b/Console-Command-Browse-Class.md index bff4fd9c..7407325d 100644 --- a/Console-Command-Browse-Class.md +++ b/Console-Command-Browse-Class.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'console commands', 'BROWSE CLASS', 'browse', 'class'] +--- + # Console - `BROWSE CLASS` @@ -9,9 +14,12 @@ Displays all records associated with the given class. ``` BROWSE CLASS ``` - - **``** Defines the class for the records you want to display. +**Permissions:** + +In order to enable a user to execute this command, you must add the permission of `read` for the resource `database.class.` to the [database user](Database-Security.md#users). + **Example:** - Browse records associated with the class `City`: diff --git a/Console-Command-Browse-Cluster.md b/Console-Command-Browse-Cluster.md index 79897752..31c846f4 100644 --- a/Console-Command-Browse-Cluster.md +++ b/Console-Command-Browse-Cluster.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'BROWSE CLUSTER', 'browse', 'cluster'] +--- + # Console - `BROWSE CLUSTER` @@ -12,6 +17,10 @@ BROWSE CLUSTER - **``** Defines the cluster for the records you want to display. +**Permissions:** + +In order to enable a user to execute this command, you must add the permission of `read` for the resource `database.cluster.` to the [database user](Database-Security.md#users). + **Example:** - Browse records associated with the cluster `City`: diff --git a/Console-Command-Check-Database.md b/Console-Command-Check-Database.md new file mode 100644 index 00000000..a17b6578 --- /dev/null +++ b/Console-Command-Check-Database.md @@ -0,0 +1,43 @@ +--- +search: + keywords: ['console', 'command', 'check', 'check database'] +--- + +# Console - `CHECK DATABASE` + +Checks the integrity of a database. In the case the database contains graphs, their consistency is checked. To repair a database, use [Repair Database Command](Console-Command-Repair-Database.md). + +**Syntax** + +```sql +CHECK DATABASE [--skip-graph] [-v] +``` + +- **`[--skip-graph]`** Skips the check of the graph +- **`[-v]`** Verbose mode + +**Examples** + +- Check a graph database: + +``` + orientdb> CHECK DATABASE + + Check of graph 'plocal:/temp/testdb' is started ... + Scanning 1 edges (skipEdges=0)... + + found corrupted edge E#17:0{out:#9:0,in:#11:0,test:true} v2 because incoming vertex (#11:0) does not contain the edge + Scanning edges completed + Scanning 710 vertices... + + found corrupted vertex V#10:0{in_:[#17:0],name:Marko} v2 the edge should be removed from property in_ (ridbag) + Scanning vertices completed + Check of graph 'plocal:/temp/testdb' completed in 0 secs + scannedEdges.....: 1 + edgesToRemove....: 1 + scannedVertices..: 710 + scannedLinks.....: 2 + linksToRemove....: 1 + verticesToRepair.: 0 + Check of storage completed in 296ms. without errors. +``` + +>For more information on other commands, see [Console Commands](Console-Commands.md). diff --git a/Console-Command-Classes.md b/Console-Command-Classes.md index 82b6b476..12fd1a19 100644 --- a/Console-Command-Classes.md +++ b/Console-Command-Classes.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'list', 'class', 'LIST CLASSES', 'CLASSES'] +--- + # Console - `LIST CLASSES` diff --git a/Console-Command-Cluster-Status.md b/Console-Command-Cluster-Status.md index 91afdc40..fb033e00 100644 --- a/Console-Command-Cluster-Status.md +++ b/Console-Command-Cluster-Status.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'status', 'cluster', 'CLUSTER STATUS'] +--- + # Console - `CLUSTER STATUS` diff --git a/Console-Command-Clusters.md b/Console-Command-Clusters.md index cc0efe13..c1a6d6e0 100644 --- a/Console-Command-Clusters.md +++ b/Console-Command-Clusters.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'list', 'cluster', 'LIST CLUSTERS', 'CLUSTERS'] +--- + # Console - `LIST CLUSTERS` diff --git a/Console-Command-Commit.md b/Console-Command-Commit.md index 2c9b72a6..e4f6ea5f 100644 --- a/Console-Command-Commit.md +++ b/Console-Command-Commit.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'commit', 'COMMIT', 'transaction'] +--- + # Console - COMMIT diff --git a/Console-Command-Config-Get.md b/Console-Command-Config-Get.md index bb4aa982..ab03420f 100644 --- a/Console-Command-Config-Get.md +++ b/Console-Command-Config-Get.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'configuration', 'CONFIG GET'] +--- + # Console - `CONFIG GET` diff --git a/Console-Command-Config-Set.md b/Console-Command-Config-Set.md index 2e0a68cb..f8d4dc63 100644 --- a/Console-Command-Config-Set.md +++ b/Console-Command-Config-Set.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'configuration', 'CONFIG SET'] +--- + # Console - `CONFIG SET` diff --git a/Console-Command-Config.md b/Console-Command-Config.md index 95b92b9c..e8c8bdc2 100644 --- a/Console-Command-Config.md +++ b/Console-Command-Config.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'configuration', 'CONFIG'] +--- + # Console - `CONFIG` Displays the configuration information on the current database, as well as whether it is local or remote. diff --git a/Console-Command-Connect.md b/Console-Command-Connect.md index e1eca327..ff1ab07c 100644 --- a/Console-Command-Connect.md +++ b/Console-Command-Connect.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'connnection', 'CONNECT'] +--- + # Console - `CONNECT` @@ -11,7 +16,7 @@ CONNECT ``` - **``** Defines the URL of the database you want to connect to. It uses the format `:` - - *``* Defines the mode you want to use in connecting to the database. It can be `PLOCAL` or `REMOTE`. + - *``* Defines the mode you want to use in connecting to the database. It can be `plocal` or `remote`. - *``* Defines the path to the database. - **``** Defines the user you want to connect to the database with. - **``** Defines the password needed to connect to the database, with the defined user. @@ -22,7 +27,7 @@ CONNECT - Connect to a local database as the user `admin`, loading it directly into the console:
-  orientdb> CONNECT PLOCAL:../databases/GratefulDeadConcerts admin my_admin_password
+  orientdb> CONNECT plocal:../databases/GratefulDeadConcerts admin my_admin_password
 
   Connecting to database [plocal:../databases/GratefulDeadConcerts]...OK
   
@@ -30,7 +35,7 @@ CONNECT - Connect to a remote database:
-  orientdb> CONNECT REMOTE:192.168.1.1/GratefulDeadConcerts admin my_admin_password
+  orientdb> CONNECT remote:192.168.1.1/GratefulDeadConcerts admin my_admin_password
 
   Connecting to database [remote:192.168.1.1/GratefulDeadConcerts]...OK
   
diff --git a/Console-Command-Create-Cluster.md b/Console-Command-Create-Cluster.md index a67103d3..3d71461b 100644 --- a/Console-Command-Create-Cluster.md +++ b/Console-Command-Create-Cluster.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'cluster', 'create', 'CREATE CLUSTER'] +--- + # Console - `CREATE CLUSTER` diff --git a/Console-Command-Create-Database.md b/Console-Command-Create-Database.md index 674b3298..ea7b8665 100644 --- a/Console-Command-Create-Database.md +++ b/Console-Command-Create-Database.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'commnad', 'create', 'database', 'CREATE DATABASE'] +--- + # Console - `CREATE DATABASE` diff --git a/Console-Command-Create-Index.md b/Console-Command-Create-Index.md index 3012a586..9cbfd7f5 100644 --- a/Console-Command-Create-Index.md +++ b/Console-Command-Create-Index.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'create', 'index', 'CREATE INDEX'] +--- + # Console - `CREATE INDEX` diff --git a/Console-Command-Create-Link.md b/Console-Command-Create-Link.md index 4239a1bd..9b2a9dd1 100644 --- a/Console-Command-Create-Link.md +++ b/Console-Command-Create-Link.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'create', 'link', 'CREATE LINK'] +--- + # Console - `CREATE LINK` @@ -59,5 +64,5 @@ reldb> SELECT * FROM Comment; In OrientDB, you have a direct relationship in your object model. Navigation runs from `Post` to `Comment` and not vice versa, (as in the Relational database model). For this reason, you need to create a link as `INVERSE`. ->For more information on SQL commands, see [SQL Commands](Commands.md). +>For more information on SQL commands, see [SQL Commands](Commands.md). >For more information on other commands, see [Console Commands](Console-Commands.md). diff --git a/Console-Command-Create-Property.md b/Console-Command-Create-Property.md index baa69f90..349dfb03 100644 --- a/Console-Command-Create-Property.md +++ b/Console-Command-Create-Property.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'create', 'property', 'CREATE PROPERTY'] +--- + # Console - `CREATE PROPERTY` diff --git a/Console-Command-Declare-Intent.md b/Console-Command-Declare-Intent.md index bf839fdd..547fe96a 100644 --- a/Console-Command-Declare-Intent.md +++ b/Console-Command-Declare-Intent.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'declare', 'intent', 'DECLARE INTENT'] +--- + # Console - `DECLARE INTENT` diff --git a/Console-Command-Delete.md b/Console-Command-Delete.md index 0beadc74..e722d22d 100644 --- a/Console-Command-Delete.md +++ b/Console-Command-Delete.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'delete', 'DELETE'] +--- + # Console - DELETE diff --git a/Console-Command-Dictionary-Get.md b/Console-Command-Dictionary-Get.md index 71b936fa..c781e3f0 100644 --- a/Console-Command-Dictionary-Get.md +++ b/Console-Command-Dictionary-Get.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'dictionary', 'get', 'DICTIONARY GET'] +--- + # Console - `DICTIONARY GET` diff --git a/Console-Command-Dictionary-Keys.md b/Console-Command-Dictionary-Keys.md index b8b7c839..9c38eea4 100644 --- a/Console-Command-Dictionary-Keys.md +++ b/Console-Command-Dictionary-Keys.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'dictionary', 'keys', 'DICTIONARY KEYS'] +--- + # Console - `DICTIONARY KEYS` Displays all the keys stored in the database dictionary. diff --git a/Console-Command-Dictionary-Put.md b/Console-Command-Dictionary-Put.md index da90e399..2aa92a14 100644 --- a/Console-Command-Dictionary-Put.md +++ b/Console-Command-Dictionary-Put.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'dictionary', 'put', 'DICTIONARY PUT'] +--- + # Console - `DICTIONARY PUT` diff --git a/Console-Command-Dictionary-Remove.md b/Console-Command-Dictionary-Remove.md index 8b98ef3a..3ef3aebc 100644 --- a/Console-Command-Dictionary-Remove.md +++ b/Console-Command-Dictionary-Remove.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'dictionary', 'remove', 'DICTIONARY REMOVE'] +--- + # Console - `DICTIONARY REMOVE` diff --git a/Console-Command-Disconnect.md b/Console-Command-Disconnect.md index e744f2c3..4d59f2df 100644 --- a/Console-Command-Disconnect.md +++ b/Console-Command-Disconnect.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'connection', 'disconnect', 'DISCONNECT'] +--- + # Console - DISCONNECT Closes the currently opened database. diff --git a/Console-Command-Display-Raw-Record.md b/Console-Command-Display-Raw-Record.md index fbb1629d..f9ea047d 100644 Binary files a/Console-Command-Display-Raw-Record.md and b/Console-Command-Display-Raw-Record.md differ diff --git a/Console-Command-Display-Record.md b/Console-Command-Display-Record.md index c3a0aed7..296ba693 100644 --- a/Console-Command-Display-Record.md +++ b/Console-Command-Display-Record.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'display', 'record', 'DISPLAY RECORD'] +--- + # Console - DISPLAYS RECORD Displays details on the given record from the last returned result-set. diff --git a/Console-Command-Drop-Cluster.md b/Console-Command-Drop-Cluster.md index 144a3a76..e93462b6 100644 --- a/Console-Command-Drop-Cluster.md +++ b/Console-Command-Drop-Cluster.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'cluster', 'drop', 'delete', 'DROP CLUSTER'] +--- + # Console - `DROP CLUSTER` Removes a cluster from the database completely, deleting it with all records and caches in the cluster. diff --git a/Console-Command-Drop-Database.md b/Console-Command-Drop-Database.md index f89825a0..379252e6 100644 --- a/Console-Command-Drop-Database.md +++ b/Console-Command-Drop-Database.md @@ -1,3 +1,9 @@ +--- +search: + keywords: ['console', 'command', 'drop', 'delete', 'database', 'DROP DATABASE'] +--- + + # Console - `DROP DATABASE` Removes a database completely. If the database is open and a database name not given, it removes the current database. @@ -25,7 +31,7 @@ DROP DATABASE [ ] - Remove the database `demo` at localhost:
-  orientdb> DROP DATABASE REMOTE:localhost/demo root root_password
+  orientdb> DROP DATABASE remote:localhost/demo root root_password
   
diff --git a/Console-Command-Drop-Server-User.md b/Console-Command-Drop-Server-User.md index 1438c9c9..9c1eead9 100644 --- a/Console-Command-Drop-Server-User.md +++ b/Console-Command-Drop-Server-User.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'drop', 'delete', 'server user', 'user', 'DROP SERVER USER'] +--- + # Console - `DROP SERVER USER` Removes a user from the server. In order to do so, the current system user running the Console, must have permissions to write to the `$ORIENTDB_HOME/config/orientdb-server-config.xmL` configuration file. @@ -10,7 +15,7 @@ DROP SERVER USER - **``** Defines the user you want to drop. ->**NOTE**: For more information on server users, see [OrientDB Server Security](Security.md#orientdb-server-security). +>**NOTE**: For more information on server users, see [OrientDB Server Security](Server-Security.md). >This feature was introduced in version 2.2. diff --git a/Console-Command-Export-Record.md b/Console-Command-Export-Record.md index 82041fdf..55d8b7b6 100644 --- a/Console-Command-Export-Record.md +++ b/Console-Command-Export-Record.md @@ -1,3 +1,9 @@ +--- +search: + keywords: ['console', 'command', 'export', 'record', 'EXPORT RECORD'] +--- + + # Console - `EXPORT RECORD` Exports the current record, using the requested format. In the event that you give a format that OrientDB does not support, it provides a list of supported formats. diff --git a/Console-Command-Export.md b/Console-Command-Export.md index 4e7e630b..07fe42bd 100644 --- a/Console-Command-Export.md +++ b/Console-Command-Export.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'export', 'import', 'backup', 'restore'] +--- + # Console - `EXPORT` Exports the current database to a file. OrientDB uses a JSON-based [Export Format](Export-Format.md). By default, it compresses the file using the GZIP algorithm. @@ -36,13 +41,13 @@ EXPORT DATABASE - **``** Defines the path to the output file. - **`-excludeAll`** Sets the export to exclude everything not otherwise included through command options -- **`-includeClass`** Export includes certain classes, specifically those defined by a space-separated list. +- **`-includeClass`** Export includes certain classes, specifically those defined by a space-separated list. In case you specify multiple class names, you have to wrap the list between quotes, eg. `-includeClass="Foo Bar Baz"` - **`-excludeClass`** Export excludes certain classes, specifically those defined by a space-separated list. - **`-includeCluster`** Export includes certain clusters, specifically those defined by a space-separated list. - **`-excludeCluster`** Export excludes certain clusters, specifically those defined by a space-separated list. - **`-includeInfo`** Defines whether the export includes database information. - **`-includeClusterDefinitions`** Defines whether the export includes cluster definitions. -- **`-includeSchmea`** Defines whether the export includes the database schema. +- **`-includeSchema`** Defines whether the export includes the database schema. - **`-includeSecurity`** Defines whether the export includes database security parameters. - **`-includeRecords`** Defines whether the export includes record contents. - **`-includeIndexDefinitions`** Defines whether the export includes the database index definitions. @@ -89,7 +94,7 @@ EXPORT DATABASE - Alternatively, you can simplify the above by excluding all, then including only those features that you need. For instance, export the current database, including only the schema:
-  orientdb> EXPORT DATABASE schema.gz -excludeALL -includeSchmea=TRUE
+  orientdb> EXPORT DATABASE schema.gz -excludeALL -includeSchema=TRUE
   
@@ -128,4 +133,4 @@ try{ >- [`ODatabaseExport`](https://github.com/orientechnologies/orientdb/blob/master/core/src/main/java/com/orientechnologies/orient/core/db/tool/ODatabaseExport.java) Java Class > ->For more information on other commands, see [Console Commands](Console-Commands.md). \ No newline at end of file +>For more information on other commands, see [Console Commands](Console-Commands.md). diff --git a/Console-Command-Freeze-Db.md b/Console-Command-Freeze-Db.md index 294c80d1..8bd4d41d 100644 --- a/Console-Command-Freeze-Db.md +++ b/Console-Command-Freeze-Db.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'freeze', 'database', 'FREEZE DATABASE'] +--- + # Console - `FREEZE DATABASE` Flushes all cached content to disk and restricts permitted operations to read commands. With the exception of reads, none of the commands made on a frozen database execute. It remains in this state until you run the [`RELEASE`](Console-Command-Release-Db.md) command. diff --git a/Console-Command-Get.md b/Console-Command-Get.md index be2d9fd3..fe5fbcc9 100644 --- a/Console-Command-Get.md +++ b/Console-Command-Get.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'get', 'GET'] +--- + # Console - `GET` Returns the value of the requested property. diff --git a/Console-Command-Gremlin.md b/Console-Command-Gremlin.md index f962ce64..1ce3f1a7 100644 --- a/Console-Command-Gremlin.md +++ b/Console-Command-Gremlin.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'gremlin', 'GREMLIN', 'Gremlin language'] +--- + # Console - `GREMLIN` Executes commands in the Gremlin language from the Console. diff --git a/Console-Command-Import.md b/Console-Command-Import.md index a0c84f49..35057b23 100644 --- a/Console-Command-Import.md +++ b/Console-Command-Import.md @@ -1,6 +1,12 @@ +--- +search: + keywords: ['console', 'command', 'import', 'IMPORT DATABASE', 'backup', 'restore', 'export'] +--- + + # Console - `IMPORT` -Imports an exported database into the current one open. +Imports an exported database into the current one open. Import process doesn't lock the database, so any concurrent operations are allowed, but they could interfer in the import process causing errors. The input file must use the JSON [Export Format](Export-Format.md), as generated by the [`EXPORT`](Console-Command-Export.md) command. By default, this file is compressed using the GZIP algorithm. @@ -10,14 +16,20 @@ With [`EXPORT`](Console-Command-Export.md), this command allows you to migrate b **Syntax** ```sql -IMPORT DATABASE [-preserveClusterIDs = ] +IMPORT DATABASE [-format = ] + [-preserveClusterIDs = ] + [-deleteRIDMapping = ] [-merge = ] [-migrateLinks = ] [-rebuildIndexes = ] ``` - +- **``** Is the input file format. If not specified, OrientDB tries to recognize it. The available formats are (since v2.2.8): + - **orientdb**, the [OrientDB export file format](Console-Command-Export.md) + - **graphml**, for [Graph XML](https://en.wikipedia.org/wiki/GraphML) + - **graphson**, for [Graph JSON](https://github.com/tinkerpop/blueprints/wiki/GraphSON-Reader-and-Writer-Library) - **``** Defines the path to the file you want to import. - **`-preserveClusterIDs`** Defines whether you want to preserve cluster ID's during the import. When turned off, the import creates temporary cluster ID's, which can sometimes fail. This option is only valid with PLocal storage. +- **`-deleteRIDMapping`** Defines whether you want to preserve the dictionary index used by the import to map old RIDs to new RIDs. The index name is `___exportImportRIDMap` and you could use in your application. By default the index is removed after the import. - **`-merge`** Defines whether you want to merge the import with the data already in the current database. When turned off, the default, the import overwrites current data, with the exception of security classes, (`ORole`, `OUser`, `OIdentity`), which it always preserves. This feature was introduced in version 1.6.1. - **`-migrateLinks`** Defines whether you want to migrate links after the import. When enabled, this updates all references from the old links to the new Record ID's. By default, it is enabled. Advisable that you only turn it off when merging and you're certain no other existent records link to those you're importing. This feature was introduced in version 1.6.1. - **`-rebuildIndexes`** Defines whether you want to rebuild indexes after the import. By default, it does. You can set it to false to speed up the import, but do so only when you're certain the import doesn't affect indexes. This feature was introduced in version 1.6.1. diff --git a/Console-Command-Indexes.md b/Console-Command-Indexes.md index d1427a44..e3f29e98 100644 --- a/Console-Command-Indexes.md +++ b/Console-Command-Indexes.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'index', 'indexes', 'indices', 'INDEXES'] +--- + # Console - `INDEXES` Displays all indexes in the current database. diff --git a/Console-Command-Info-Class.md b/Console-Command-Info-Class.md index 207f2eea..aa6647b5 100644 --- a/Console-Command-Info-Class.md +++ b/Console-Command-Info-Class.md @@ -1,6 +1,11 @@ +--- +search: + keywords: ['console', 'command', 'info', 'class', 'INFO CLASS'] +--- + # Console - `INFO CLASS` -Displays all information on givne class. +Displays all information on given class. **Syntax** diff --git a/Console-Command-Info-Property.md b/Console-Command-Info-Property.md index 44d19f0c..287117c2 100644 --- a/Console-Command-Info-Property.md +++ b/Console-Command-Info-Property.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'info', 'property', 'INFO PROPERTY'] +--- + # Console - `INFO PROPERTY` Displays all information on the given property. diff --git a/Console-Command-Info.md b/Console-Command-Info.md index 09e24215..1eb07762 100644 --- a/Console-Command-Info.md +++ b/Console-Command-Info.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'info', 'INFO'] +--- + # Console - `INFO` Displays all information on the current database. diff --git a/Console-Command-Insert.md b/Console-Command-Insert.md index 7ad80313..d5bd6a38 100644 --- a/Console-Command-Insert.md +++ b/Console-Command-Insert.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'insert', 'INSERT'] +--- + # Console - `INSERT` Inserts a new record into the current database. Remember, OrientDB can work in schema-less mode, meaning that you can create any field on the fly. diff --git a/Console-Command-Js.md b/Console-Command-Js.md index f2e86888..8751e460 100644 --- a/Console-Command-Js.md +++ b/Console-Command-Js.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'javascript', 'js', 'JS'] +--- + # Console - `JS` Executes commands in the Javascript language from the Console. Look also [Javascript Command](Javascript-Command.md). diff --git a/Console-Command-Jss.md b/Console-Command-Jss.md index ceefa65e..012b1e3c 100644 --- a/Console-Command-Jss.md +++ b/Console-Command-Jss.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'javascript', 'js', 'JSS'] +--- + # Console - `JSS` Executes commands on OrientDB Server in the Javascript language from the Console. Look also [Javascript Command](Javascript-Command.md). diff --git a/Console-Command-List-Connections.md b/Console-Command-List-Connections.md index 06534174..ec62ae07 100644 --- a/Console-Command-List-Connections.md +++ b/Console-Command-List-Connections.md @@ -1,6 +1,11 @@ +--- +search: + keywords: ['console', 'command', 'list', 'connection', 'LIST CONNECTIONS'] +--- + # Console - `LIST CONNECTIONS` -Displays all active connections to the OrientDB Server. Command introduced in version 2.2. +Displays all active connections to the OrientDB Server. Command introduced in version 2.2. The connections as per server, so you should connect to the server, not to the database. **Syntax** @@ -8,6 +13,10 @@ Displays all active connections to the OrientDB Server. Command introduced in v LIST CONNECTIONS ``` +**Permissions** + +In order to enable a user to execute this command, you must add `"server.info"` as resource to the [server user](Console-Command-Set-Server-User.md). + **Example** - List the current connections to the OrientDB Server: @@ -25,4 +34,4 @@ LIST CONNECTIONS
->For more information on other commands, see [Console Commands](Console-Commands.md). \ No newline at end of file +>For more information on other commands, see [Console Commands](Console-Commands.md). diff --git a/Console-Command-List-Databases.md b/Console-Command-List-Databases.md index 1c0cb062..d7579609 100644 --- a/Console-Command-List-Databases.md +++ b/Console-Command-List-Databases.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'list', 'database', 'LIST DATABASES'] +--- + # Console - `LIST DATABASES` Displays all databases hosted on the current server. Note that this command requires you connect to the OrientDB Server. diff --git a/Console-Command-List-Server-Users.md b/Console-Command-List-Server-Users.md index 22732b58..b7e9acba 100644 --- a/Console-Command-List-Server-Users.md +++ b/Console-Command-List-Server-Users.md @@ -1,10 +1,15 @@ +--- +search: + keywords: ['console', 'command', 'list', 'server', 'users', 'LIST SERVER USERS'] +--- + # Console - LIST SERVER USERS >This feature was introduced in OrientDB version 2.2. -Displays all configured users on the server. In order to display the users, the current system user that is running the console must have permissions to read the `$ORINETDB_HOME/config/orientdb-server-config.xml` configuration file. For more information, see [OrientDB Server Security](Security.md#orientdb-server-security). +Displays all configured users on the server. In order to display the users, the current system user that is running the console must have permissions to read the `$ORINETDB_HOME/config/orientdb-server-config.xml` configuration file. For more information, see [OrientDB Server Security](Server-Security.md). **Syntax:** diff --git a/Console-Command-List-Servers.md b/Console-Command-List-Servers.md index b457f880..d311ee96 100644 --- a/Console-Command-List-Servers.md +++ b/Console-Command-List-Servers.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'list', 'server', 'LIST SERVERS'] +--- + # Console - `LIST SERVERS` diff --git a/Console-Command-Load-Record.md b/Console-Command-Load-Record.md index 1c37bed9..b9339025 100644 --- a/Console-Command-Load-Record.md +++ b/Console-Command-Load-Record.md @@ -1,3 +1,8 @@ +--- +search: + keywords: ['console', 'command', 'load', 'record', 'LOAD RECORD'] +--- + # Console - `LOAD RECORD` Loads a record the given [Record ID](Concepts.md#record-id) from the current database. diff --git a/Console-Command-Load-Script.md b/Console-Command-Load-Script.md new file mode 100644 index 00000000..5372aa76 --- /dev/null +++ b/Console-Command-Load-Script.md @@ -0,0 +1,32 @@ +--- +search: + keywords: ['console', 'command', 'load', 'record', 'LOAD SCRIPT'] +--- + +# Console - `LOAD SCRIPT` (from 2.2.18) + +Loads a sql script from the given path and executes it. + +**Syntax** + +```sql +LOAD SCRIPT