asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yingyi Bu (Code Review)" <>
Subject Change in asterixdb[master]: Add documentation for query parameters.
Date Fri, 17 Mar 2017 18:36:55 GMT
Yingyi Bu has submitted this change and it was merged.

Change subject: Add documentation for query parameters.

Add documentation for query parameters.

Change-Id: I80dcd668bea3b2b3fff0c0778548ffad63505d99
Reviewed-by: Michael Blow <>
Sonar-Qube: Jenkins <>
Tested-by: Jenkins <>
BAD: Jenkins <>
M asterixdb/asterix-doc/pom.xml
M asterixdb/asterix-doc/src/main/markdown/sqlpp/
M asterixdb/asterix-doc/src/main/markdown/sqlpp/
A asterixdb/asterix-doc/src/main/markdown/sqlpp/
M asterixdb/asterix-doc/src/site/site.xml
5 files changed, 81 insertions(+), 8 deletions(-)

  Michael Blow: Looks good to me, approved
  Jenkins: Verified; No violations found; No violations found

diff --git a/asterixdb/asterix-doc/pom.xml b/asterixdb/asterix-doc/pom.xml
index 59d45fd..df6db2c 100644
--- a/asterixdb/asterix-doc/pom.xml
+++ b/asterixdb/asterix-doc/pom.xml
@@ -53,7 +53,7 @@
                 <concat destfile="${}/generated-site/markdown/sqlpp/">
-                  <filelist dir="${project.basedir}/src/main/markdown/sqlpp" files=",,,,,,"
+                  <filelist dir="${project.basedir}/src/main/markdown/sqlpp" files=",,,,,,,"
                 <concat destfile="${}/generated-site/markdown/sqlpp/">
                   <filelist dir="${project.basedir}/src/main/markdown/builtins" files=",,,,,,,,,,,,,"
diff --git a/asterixdb/asterix-doc/src/main/markdown/sqlpp/ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/
index ff31357..6dd81bf 100644
--- a/asterixdb/asterix-doc/src/main/markdown/sqlpp/
+++ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/
@@ -90,4 +90,7 @@
            * [Upserts](#Upserts)
            * [Deletes](#Deletes)
 * [Appendix 1. Reserved keywords](#Reserved_keywords)
+* [Appendix 2. Performance tuning](#Performance_tuning)
+      * [Parallelism parameter](#Parallelism_parameter)
+      * [Memory parameters](#Memory_parameters)
diff --git a/asterixdb/asterix-doc/src/main/markdown/sqlpp/ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/
index b6577ff..e7625b8 100644
--- a/asterixdb/asterix-doc/src/main/markdown/sqlpp/
+++ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/
@@ -17,7 +17,7 @@
  ! under the License.
-# <a id="DDL_and_DML_statements">4. DDL and DML statements</a>
+# <a id="DDL_and_DML_statements">5. DDL and DML statements</a>
     Statement ::= ( SingleStatement ( ";" )? )* <EOF>
     SingleStatement ::= DatabaseDeclaration
diff --git a/asterixdb/asterix-doc/src/main/markdown/sqlpp/ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/
new file mode 100644
index 0000000..6ef0dd6
--- /dev/null
+++ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/
@@ -0,0 +1,70 @@
+## <a id="Performance_tuning">Appendix 2. Performance tuning</a>
+The SET statement can be used to override some cluster-wide configuration parameters for
a specific request:
+As parameter identifiers are qualified names (containing a '.') they have to be escaped using
backticks (\`\`).
+Note that changing query parameters will not affect query correctness but only impact performance
+characteristics, such as response time and throughput.
+## <a id="Parallelism_parameter">Parallelism parameter</a>
+The system can execute each request using multiple cores on multiple machines (a.k.a., partitioned
+in a cluster. A user can manually specify the maximum execution parallelism for a request
to scale it up and down
+using the following parameter:
+*  **compiler.parallelism**: the maximum number of CPU cores can be used to process a query.
+There are three cases of the value *p* for compiler.parallelism:
+     - *p* \< 0 or *p* \> the total number of cores in a cluster:  the system will
use all available cores in the
+       cluster;
+     - *p* = 0 (the default):  the system will use the storage parallelism (the number of
partitions of stored datasets)
+       as the maximum parallelism for query processing;
+     - all other cases:  the system will use the user-specified number as the maximum number
of CPU cores to use for
+       executing the query.
+## <a id="Memory_parameters">Memory parameters</a>
+In the system, each blocking runtime operator such as join, group-by and order-by
+works within a fixed memory budget, and can gracefully spill to disks if
+the memory budget is smaller than the amount of data they have to hold.
+A user can manually configure the memory budget of those operators within a query.
+The supported configurable memory parameters are:
+*  **compiler.groupmemory**: the memory budget that each parallel group-by operator instance
can use;
+   32MB is the default budget.
+*  **compiler.sortmemory**: the memory budget that each parallel sort operator instance can
+   32MB is the default budget.
+*  **compiler.joinmemory**: the memory budget that each parallel hash join operator instance
can use;
+   32MB is the default budget.
+For each memory budget value, you can use a 64-bit integer value
+with a 1024-based binary unit suffix (e.g., B, KB, MB, GB).
+If there is no user-provided suffix, "B" is the default suffix. See the following examples.
+##### Example
+    SET `compiler.groupmemory` "64MB"
+    SELECT msg.authorId, COUNT(*)
+    FROM GleambookMessages msg
+    GROUP BY msg.authorId;
+##### Example
+    SET `compiler.sortmemory` "67108864"
+    SELECT VALUE user
+    FROM GleambookUsers AS user
+    ORDER BY ARRAY_LENGTH(user.friendIds) DESC;
+##### Example
+    SET `compiler.joinmemory` "132000KB"
+    SELECT AS uname, m.message AS message
+    FROM GleambookUsers u JOIN GleambookMessages m ON m.authorId =;
diff --git a/asterixdb/asterix-doc/src/site/site.xml b/asterixdb/asterix-doc/src/site/site.xml
index 3e768bf..a2fee6c 100644
--- a/asterixdb/asterix-doc/src/site/site.xml
+++ b/asterixdb/asterix-doc/src/site/site.xml
@@ -100,18 +100,18 @@
       <item name="Builtin Functions" href="aql/builtins.html"/>
+    <menu name="API/SDK">
+      <item name="HTTP API" href="api.html"/>
+      <item name="CSV Output" href="csv.html"/>
+    </menu>
     <menu name="Advanced Features">
-      <item name="Support of Similarity Queries" href="aql/similarity.html"/>
       <item name="Support of Full-text Queries" href="aql/fulltext.html"/>
       <item name="Accessing External Data" href="aql/externaldata.html"/>
       <item name="Support for Data Ingestion" href="feeds/tutorial.html"/>
       <item name="User Defined Functions" href="udf.html"/>
       <item name="Filter-Based LSM Index Acceleration" href="aql/filters.html"/>
-    </menu>
-    <menu name="API/SDK">
-      <item name="HTTP API" href="api.html"/>
-      <item name="CSV Output" href="csv.html"/>
+      <item name="Support of Similarity Queries" href="aql/similarity.html"/>
     <menu ref="reports"/>

To view, visit
To unsubscribe, visit

Gerrit-MessageType: merged
Gerrit-Change-Id: I80dcd668bea3b2b3fff0c0778548ffad63505d99
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Yingyi Bu <>
Gerrit-Reviewer: Jenkins <>
Gerrit-Reviewer: Michael Blow <>
Gerrit-Reviewer: Till Westmann <>
Gerrit-Reviewer: Yingyi Bu <>

View raw message