From b203b48a649995399ae62d38df69ad2cbd6796df Mon Sep 17 00:00:00 2001 From: Skytable Bot Date: Fri, 15 Dec 2023 17:19:44 +0000 Subject: [PATCH] Deployed e96f32a2730b333f7873b127ca9ea1583b179114 --- 0.7.4/actions-overview/index.html | 2 +- 0.7.4/actions/auth/index.html | 2 +- 0.7.4/actions/dbsize/index.html | 2 +- 0.7.4/actions/del/index.html | 2 +- 0.7.4/actions/exists/index.html | 2 +- 0.7.4/actions/flushdb/index.html | 2 +- 0.7.4/actions/get/index.html | 2 +- 0.7.4/actions/heya/index.html | 2 +- 0.7.4/actions/keylen/index.html | 2 +- 0.7.4/actions/lget/index.html | 2 +- 0.7.4/actions/lmod/index.html | 2 +- 0.7.4/actions/lset/index.html | 2 +- 0.7.4/actions/lskeys/index.html | 2 +- 0.7.4/actions/mget/index.html | 2 +- 0.7.4/actions/mksnap/index.html | 2 +- 0.7.4/actions/mpop/index.html | 2 +- 0.7.4/actions/mset/index.html | 2 +- 0.7.4/actions/mupdate/index.html | 2 +- 0.7.4/actions/pop/index.html | 2 +- 0.7.4/actions/sdel/index.html | 2 +- 0.7.4/actions/set/index.html | 2 +- 0.7.4/actions/sset/index.html | 2 +- 0.7.4/actions/supdate/index.html | 2 +- 0.7.4/actions/update/index.html | 2 +- 0.7.4/actions/uset/index.html | 2 +- 0.7.4/actions/whereami/index.html | 2 +- 0.7.4/all-actions/index.html | 2 +- 0.7.4/auth/index.html | 2 +- 0.7.4/benchmarking/index.html | 2 +- 0.7.4/building-from-source/index.html | 2 +- 0.7.4/clients/index.html | 2 +- 0.7.4/config-cmd/index.html | 2 +- 0.7.4/config-env/index.html | 2 +- 0.7.4/config-files/index.html | 2 +- 0.7.4/config/index.html | 2 +- 0.7.4/containers/index.html | 2 +- 0.7.4/ddl/index.html | 2 +- 0.7.4/deployment-notes/index.html | 2 +- 0.7.4/examples/index.html | 2 +- 0.7.4/getting-started/index.html | 2 +- 0.7.4/index.html | 2 +- 0.7.4/perf-guide/index.html | 2 +- 0.7.4/persistence/index.html | 2 +- 0.7.4/protocol/data-types/index.html | 2 +- 0.7.4/protocol/errors/index.html | 2 +- 0.7.4/protocol/response-codes/index.html | 2 +- 0.7.4/protocol/skyhash/index.html | 2 +- 0.7.4/snapshots/index.html | 2 +- 0.7.4/ssl/index.html | 2 +- 0.7.5/actions-overview/index.html | 2 +- 0.7.5/actions/auth/index.html | 2 +- 0.7.5/actions/dbsize/index.html | 2 +- 0.7.5/actions/del/index.html | 2 +- 0.7.5/actions/exists/index.html | 2 +- 0.7.5/actions/flushdb/index.html | 2 +- 0.7.5/actions/get/index.html | 2 +- 0.7.5/actions/heya/index.html | 2 +- 0.7.5/actions/keylen/index.html | 2 +- 0.7.5/actions/lget/index.html | 2 +- 0.7.5/actions/lmod/index.html | 2 +- 0.7.5/actions/lset/index.html | 2 +- 0.7.5/actions/lskeys/index.html | 2 +- 0.7.5/actions/mget/index.html | 2 +- 0.7.5/actions/mksnap/index.html | 2 +- 0.7.5/actions/mpop/index.html | 2 +- 0.7.5/actions/mset/index.html | 2 +- 0.7.5/actions/mupdate/index.html | 2 +- 0.7.5/actions/pop/index.html | 2 +- 0.7.5/actions/sdel/index.html | 2 +- 0.7.5/actions/set/index.html | 2 +- 0.7.5/actions/sset/index.html | 2 +- 0.7.5/actions/supdate/index.html | 2 +- 0.7.5/actions/sys/index.html | 2 +- 0.7.5/actions/update/index.html | 2 +- 0.7.5/actions/uset/index.html | 2 +- 0.7.5/actions/whereami/index.html | 2 +- 0.7.5/all-actions/index.html | 2 +- 0.7.5/auth/index.html | 2 +- 0.7.5/benchmarking/index.html | 2 +- 0.7.5/building-from-source/index.html | 2 +- 0.7.5/clients/index.html | 2 +- 0.7.5/config-cmd/index.html | 2 +- 0.7.5/config-env/index.html | 2 +- 0.7.5/config-files/index.html | 2 +- 0.7.5/config/index.html | 2 +- 0.7.5/containers/index.html | 2 +- 0.7.5/ddl/index.html | 2 +- 0.7.5/deployment-notes/index.html | 2 +- 0.7.5/examples/index.html | 2 +- 0.7.5/getting-started/index.html | 2 +- 0.7.5/index.html | 2 +- 0.7.5/perf-guide/index.html | 2 +- 0.7.5/persistence/index.html | 2 +- 0.7.5/protocol/data-types/index.html | 2 +- 0.7.5/protocol/errors/index.html | 2 +- 0.7.5/protocol/response-codes/index.html | 2 +- 0.7.5/protocol/skyhash/index.html | 2 +- 0.7.5/snapshots/index.html | 2 +- 0.7.5/ssl/index.html | 2 +- 404.html | 2 +- architecture/index.html | 13 ++++++------- assets/js/0eadbdf8.2ca59d6f.js | 1 + assets/js/0eadbdf8.4a38f7a2.js | 1 - ...me~main.085b3e31.js => runtime~main.51b889f5.js} | 2 +- benchmarking/index.html | 2 +- blueql/dcl/index.html | 2 +- blueql/ddl/index.html | 2 +- blueql/dml/index.html | 2 +- blueql/overview/index.html | 2 +- category/blueql/index.html | 2 +- category/system-management/index.html | 2 +- deployment/index.html | 2 +- index.html | 2 +- installation/index.html | 2 +- libraries/index.html | 2 +- limits/index.html | 2 +- protocol/errors/index.html | 2 +- protocol/networking/index.html | 2 +- protocol/overview/index.html | 2 +- resources/migration/index.html | 2 +- resources/overview/index.html | 2 +- search/index.html | 2 +- system/administration/index.html | 2 +- system/configuration/index.html | 2 +- using-the-repl/index.html | 2 +- versions/index.html | 2 +- 126 files changed, 130 insertions(+), 131 deletions(-) create mode 100644 assets/js/0eadbdf8.2ca59d6f.js delete mode 100644 assets/js/0eadbdf8.4a38f7a2.js rename assets/js/{runtime~main.085b3e31.js => runtime~main.51b889f5.js} (99%) diff --git a/0.7.4/actions-overview/index.html b/0.7.4/actions-overview/index.html index 92b378ac2..3e19202ad 100644 --- a/0.7.4/actions-overview/index.html +++ b/0.7.4/actions-overview/index.html @@ -4,7 +4,7 @@ Actions and Querying | Skytable - + diff --git a/0.7.4/actions/auth/index.html b/0.7.4/actions/auth/index.html index 693c76e99..e40420c13 100644 --- a/0.7.4/actions/auth/index.html +++ b/0.7.4/actions/auth/index.html @@ -4,7 +4,7 @@ AUTH | Skytable - + diff --git a/0.7.4/actions/dbsize/index.html b/0.7.4/actions/dbsize/index.html index 95f1c4f2e..926dbbdcd 100644 --- a/0.7.4/actions/dbsize/index.html +++ b/0.7.4/actions/dbsize/index.html @@ -4,7 +4,7 @@ DBSIZE | Skytable - + diff --git a/0.7.4/actions/del/index.html b/0.7.4/actions/del/index.html index c13e03f83..20108bb5c 100644 --- a/0.7.4/actions/del/index.html +++ b/0.7.4/actions/del/index.html @@ -4,7 +4,7 @@ DEL | Skytable - + diff --git a/0.7.4/actions/exists/index.html b/0.7.4/actions/exists/index.html index 5795cd531..51cfe843a 100644 --- a/0.7.4/actions/exists/index.html +++ b/0.7.4/actions/exists/index.html @@ -4,7 +4,7 @@ EXISTS | Skytable - + diff --git a/0.7.4/actions/flushdb/index.html b/0.7.4/actions/flushdb/index.html index 9a1e43113..179f1f82b 100644 --- a/0.7.4/actions/flushdb/index.html +++ b/0.7.4/actions/flushdb/index.html @@ -4,7 +4,7 @@ FLUSHDB | Skytable - + diff --git a/0.7.4/actions/get/index.html b/0.7.4/actions/get/index.html index 42eecfaf9..153ebc068 100644 --- a/0.7.4/actions/get/index.html +++ b/0.7.4/actions/get/index.html @@ -4,7 +4,7 @@ GET | Skytable - + diff --git a/0.7.4/actions/heya/index.html b/0.7.4/actions/heya/index.html index 40a670524..f9aff376b 100644 --- a/0.7.4/actions/heya/index.html +++ b/0.7.4/actions/heya/index.html @@ -4,7 +4,7 @@ HEYA | Skytable - + diff --git a/0.7.4/actions/keylen/index.html b/0.7.4/actions/keylen/index.html index 0d72a0548..c2f5c2ef5 100644 --- a/0.7.4/actions/keylen/index.html +++ b/0.7.4/actions/keylen/index.html @@ -4,7 +4,7 @@ KEYLEN | Skytable - + diff --git a/0.7.4/actions/lget/index.html b/0.7.4/actions/lget/index.html index 03075e048..d2782fadf 100644 --- a/0.7.4/actions/lget/index.html +++ b/0.7.4/actions/lget/index.html @@ -4,7 +4,7 @@ LGET | Skytable - + diff --git a/0.7.4/actions/lmod/index.html b/0.7.4/actions/lmod/index.html index ef741f8b5..e502562d1 100644 --- a/0.7.4/actions/lmod/index.html +++ b/0.7.4/actions/lmod/index.html @@ -4,7 +4,7 @@ LMOD | Skytable - + diff --git a/0.7.4/actions/lset/index.html b/0.7.4/actions/lset/index.html index 2edd9eb42..7970fc639 100644 --- a/0.7.4/actions/lset/index.html +++ b/0.7.4/actions/lset/index.html @@ -4,7 +4,7 @@ LSET | Skytable - + diff --git a/0.7.4/actions/lskeys/index.html b/0.7.4/actions/lskeys/index.html index 890ae84b1..a375d3de1 100644 --- a/0.7.4/actions/lskeys/index.html +++ b/0.7.4/actions/lskeys/index.html @@ -4,7 +4,7 @@ LSKEYS | Skytable - + diff --git a/0.7.4/actions/mget/index.html b/0.7.4/actions/mget/index.html index 630c6483d..bd1e90aff 100644 --- a/0.7.4/actions/mget/index.html +++ b/0.7.4/actions/mget/index.html @@ -4,7 +4,7 @@ MGET | Skytable - + diff --git a/0.7.4/actions/mksnap/index.html b/0.7.4/actions/mksnap/index.html index cf192a93b..d4fb59fcc 100644 --- a/0.7.4/actions/mksnap/index.html +++ b/0.7.4/actions/mksnap/index.html @@ -4,7 +4,7 @@ MKSNAP | Skytable - + diff --git a/0.7.4/actions/mpop/index.html b/0.7.4/actions/mpop/index.html index 90970bdf6..63ac9c70a 100644 --- a/0.7.4/actions/mpop/index.html +++ b/0.7.4/actions/mpop/index.html @@ -4,7 +4,7 @@ MPOP | Skytable - + diff --git a/0.7.4/actions/mset/index.html b/0.7.4/actions/mset/index.html index 878d8b3ea..16919ce27 100644 --- a/0.7.4/actions/mset/index.html +++ b/0.7.4/actions/mset/index.html @@ -4,7 +4,7 @@ MSET | Skytable - + diff --git a/0.7.4/actions/mupdate/index.html b/0.7.4/actions/mupdate/index.html index cd680a1eb..4496dcacd 100644 --- a/0.7.4/actions/mupdate/index.html +++ b/0.7.4/actions/mupdate/index.html @@ -4,7 +4,7 @@ MUPDATE | Skytable - + diff --git a/0.7.4/actions/pop/index.html b/0.7.4/actions/pop/index.html index 1c2d9b62d..aee3f5773 100644 --- a/0.7.4/actions/pop/index.html +++ b/0.7.4/actions/pop/index.html @@ -4,7 +4,7 @@ POP | Skytable - + diff --git a/0.7.4/actions/sdel/index.html b/0.7.4/actions/sdel/index.html index ecc8b89f3..87845078e 100644 --- a/0.7.4/actions/sdel/index.html +++ b/0.7.4/actions/sdel/index.html @@ -4,7 +4,7 @@ SDEL | Skytable - + diff --git a/0.7.4/actions/set/index.html b/0.7.4/actions/set/index.html index bba90ae31..f88a4dbef 100644 --- a/0.7.4/actions/set/index.html +++ b/0.7.4/actions/set/index.html @@ -4,7 +4,7 @@ SET | Skytable - + diff --git a/0.7.4/actions/sset/index.html b/0.7.4/actions/sset/index.html index 8ae1718b6..bc4f56d09 100644 --- a/0.7.4/actions/sset/index.html +++ b/0.7.4/actions/sset/index.html @@ -4,7 +4,7 @@ SSET | Skytable - + diff --git a/0.7.4/actions/supdate/index.html b/0.7.4/actions/supdate/index.html index a0826d75e..02256d081 100644 --- a/0.7.4/actions/supdate/index.html +++ b/0.7.4/actions/supdate/index.html @@ -4,7 +4,7 @@ SUPDATE | Skytable - + diff --git a/0.7.4/actions/update/index.html b/0.7.4/actions/update/index.html index a19b3a378..9223af2a3 100644 --- a/0.7.4/actions/update/index.html +++ b/0.7.4/actions/update/index.html @@ -4,7 +4,7 @@ UPDATE | Skytable - + diff --git a/0.7.4/actions/uset/index.html b/0.7.4/actions/uset/index.html index 2b77b5869..5ccacc8d9 100644 --- a/0.7.4/actions/uset/index.html +++ b/0.7.4/actions/uset/index.html @@ -4,7 +4,7 @@ USET | Skytable - + diff --git a/0.7.4/actions/whereami/index.html b/0.7.4/actions/whereami/index.html index 5943d03fd..c5dacc623 100644 --- a/0.7.4/actions/whereami/index.html +++ b/0.7.4/actions/whereami/index.html @@ -4,7 +4,7 @@ WHEREAMI | Skytable - + diff --git a/0.7.4/all-actions/index.html b/0.7.4/all-actions/index.html index 54fb8091a..9ada915b5 100644 --- a/0.7.4/all-actions/index.html +++ b/0.7.4/all-actions/index.html @@ -4,7 +4,7 @@ Index of actions | Skytable - + diff --git a/0.7.4/auth/index.html b/0.7.4/auth/index.html index 4b371e7d2..af23064f3 100644 --- a/0.7.4/auth/index.html +++ b/0.7.4/auth/index.html @@ -4,7 +4,7 @@ Authentication and authorization | Skytable - + diff --git a/0.7.4/benchmarking/index.html b/0.7.4/benchmarking/index.html index d4f31cb38..c847baafe 100644 --- a/0.7.4/benchmarking/index.html +++ b/0.7.4/benchmarking/index.html @@ -4,7 +4,7 @@ Benchmarking | Skytable - + diff --git a/0.7.4/building-from-source/index.html b/0.7.4/building-from-source/index.html index 6e3485d72..d6ee63ab8 100644 --- a/0.7.4/building-from-source/index.html +++ b/0.7.4/building-from-source/index.html @@ -4,7 +4,7 @@ Building from source | Skytable - + diff --git a/0.7.4/clients/index.html b/0.7.4/clients/index.html index 3d95c3515..3dcd61e7a 100644 --- a/0.7.4/clients/index.html +++ b/0.7.4/clients/index.html @@ -4,7 +4,7 @@ Client drivers | Skytable - + diff --git a/0.7.4/config-cmd/index.html b/0.7.4/config-cmd/index.html index 23fac1bcc..059eddb2b 100644 --- a/0.7.4/config-cmd/index.html +++ b/0.7.4/config-cmd/index.html @@ -4,7 +4,7 @@ Command-line configuration | Skytable - + diff --git a/0.7.4/config-env/index.html b/0.7.4/config-env/index.html index 3ff54e2aa..db75100d5 100644 --- a/0.7.4/config-env/index.html +++ b/0.7.4/config-env/index.html @@ -4,7 +4,7 @@ Environment Variables | Skytable - + diff --git a/0.7.4/config-files/index.html b/0.7.4/config-files/index.html index 7c98bc5a9..feb5a0334 100644 --- a/0.7.4/config-files/index.html +++ b/0.7.4/config-files/index.html @@ -4,7 +4,7 @@ Configuration Files | Skytable - + diff --git a/0.7.4/config/index.html b/0.7.4/config/index.html index 634d9b4d4..ba743331d 100644 --- a/0.7.4/config/index.html +++ b/0.7.4/config/index.html @@ -4,7 +4,7 @@ Configuration basics | Skytable - + diff --git a/0.7.4/containers/index.html b/0.7.4/containers/index.html index 15a6a44e9..dcc7cf573 100644 --- a/0.7.4/containers/index.html +++ b/0.7.4/containers/index.html @@ -4,7 +4,7 @@ Containers | Skytable - + diff --git a/0.7.4/ddl/index.html b/0.7.4/ddl/index.html index 7aecd1bc4..65077de3a 100644 --- a/0.7.4/ddl/index.html +++ b/0.7.4/ddl/index.html @@ -4,7 +4,7 @@ DDL | Skytable - + diff --git a/0.7.4/deployment-notes/index.html b/0.7.4/deployment-notes/index.html index b6f7f32fb..cd666509c 100644 --- a/0.7.4/deployment-notes/index.html +++ b/0.7.4/deployment-notes/index.html @@ -4,7 +4,7 @@ Deployment notes | Skytable - + diff --git a/0.7.4/examples/index.html b/0.7.4/examples/index.html index 9ad3b1d61..b706f7414 100644 --- a/0.7.4/examples/index.html +++ b/0.7.4/examples/index.html @@ -4,7 +4,7 @@ Examples | Skytable - + diff --git a/0.7.4/getting-started/index.html b/0.7.4/getting-started/index.html index b8c27be1d..8dcb718cf 100644 --- a/0.7.4/getting-started/index.html +++ b/0.7.4/getting-started/index.html @@ -4,7 +4,7 @@ Getting Started | Skytable - + diff --git a/0.7.4/index.html b/0.7.4/index.html index 52e47b4e7..8ab297351 100644 --- a/0.7.4/index.html +++ b/0.7.4/index.html @@ -4,7 +4,7 @@ Introduction | Skytable - + diff --git a/0.7.4/perf-guide/index.html b/0.7.4/perf-guide/index.html index 7da806dae..721c27995 100644 --- a/0.7.4/perf-guide/index.html +++ b/0.7.4/perf-guide/index.html @@ -4,7 +4,7 @@ Performance Guide | Skytable - + diff --git a/0.7.4/persistence/index.html b/0.7.4/persistence/index.html index edc33400d..c3e1af481 100644 --- a/0.7.4/persistence/index.html +++ b/0.7.4/persistence/index.html @@ -4,7 +4,7 @@ Persistence | Skytable - + diff --git a/0.7.4/protocol/data-types/index.html b/0.7.4/protocol/data-types/index.html index a746d0f0c..0cfbfc72f 100644 --- a/0.7.4/protocol/data-types/index.html +++ b/0.7.4/protocol/data-types/index.html @@ -4,7 +4,7 @@ Data Types | Skytable - + diff --git a/0.7.4/protocol/errors/index.html b/0.7.4/protocol/errors/index.html index c2434927e..d33daa298 100644 --- a/0.7.4/protocol/errors/index.html +++ b/0.7.4/protocol/errors/index.html @@ -4,7 +4,7 @@ Error Strings | Skytable - + diff --git a/0.7.4/protocol/response-codes/index.html b/0.7.4/protocol/response-codes/index.html index 940dd6251..575b23e49 100644 --- a/0.7.4/protocol/response-codes/index.html +++ b/0.7.4/protocol/response-codes/index.html @@ -4,7 +4,7 @@ Response Codes | Skytable - + diff --git a/0.7.4/protocol/skyhash/index.html b/0.7.4/protocol/skyhash/index.html index 4e84027c7..b46bdefb8 100644 --- a/0.7.4/protocol/skyhash/index.html +++ b/0.7.4/protocol/skyhash/index.html @@ -4,7 +4,7 @@ Skyhash Protocol 1.0 | Skytable - + diff --git a/0.7.4/snapshots/index.html b/0.7.4/snapshots/index.html index 7eccd15ec..c8ad6dedd 100644 --- a/0.7.4/snapshots/index.html +++ b/0.7.4/snapshots/index.html @@ -4,7 +4,7 @@ Snapshots | Skytable - + diff --git a/0.7.4/ssl/index.html b/0.7.4/ssl/index.html index 289a7990a..fcf17af10 100644 --- a/0.7.4/ssl/index.html +++ b/0.7.4/ssl/index.html @@ -4,7 +4,7 @@ TLS configuration | Skytable - + diff --git a/0.7.5/actions-overview/index.html b/0.7.5/actions-overview/index.html index 10341cf85..f6c9d6dbf 100644 --- a/0.7.5/actions-overview/index.html +++ b/0.7.5/actions-overview/index.html @@ -4,7 +4,7 @@ Actions and Querying | Skytable - + diff --git a/0.7.5/actions/auth/index.html b/0.7.5/actions/auth/index.html index 8d6385df2..ff51cc0b3 100644 --- a/0.7.5/actions/auth/index.html +++ b/0.7.5/actions/auth/index.html @@ -4,7 +4,7 @@ AUTH | Skytable - + diff --git a/0.7.5/actions/dbsize/index.html b/0.7.5/actions/dbsize/index.html index 7e1a7c99d..d93df4b7f 100644 --- a/0.7.5/actions/dbsize/index.html +++ b/0.7.5/actions/dbsize/index.html @@ -4,7 +4,7 @@ DBSIZE | Skytable - + diff --git a/0.7.5/actions/del/index.html b/0.7.5/actions/del/index.html index 24179b16e..806025a1f 100644 --- a/0.7.5/actions/del/index.html +++ b/0.7.5/actions/del/index.html @@ -4,7 +4,7 @@ DEL | Skytable - + diff --git a/0.7.5/actions/exists/index.html b/0.7.5/actions/exists/index.html index 086ddb14d..c56397425 100644 --- a/0.7.5/actions/exists/index.html +++ b/0.7.5/actions/exists/index.html @@ -4,7 +4,7 @@ EXISTS | Skytable - + diff --git a/0.7.5/actions/flushdb/index.html b/0.7.5/actions/flushdb/index.html index 3c3f95b90..f6073478c 100644 --- a/0.7.5/actions/flushdb/index.html +++ b/0.7.5/actions/flushdb/index.html @@ -4,7 +4,7 @@ FLUSHDB | Skytable - + diff --git a/0.7.5/actions/get/index.html b/0.7.5/actions/get/index.html index 3179bbf8d..58835cc82 100644 --- a/0.7.5/actions/get/index.html +++ b/0.7.5/actions/get/index.html @@ -4,7 +4,7 @@ GET | Skytable - + diff --git a/0.7.5/actions/heya/index.html b/0.7.5/actions/heya/index.html index fb6fcede4..63e79bb63 100644 --- a/0.7.5/actions/heya/index.html +++ b/0.7.5/actions/heya/index.html @@ -4,7 +4,7 @@ HEYA | Skytable - + diff --git a/0.7.5/actions/keylen/index.html b/0.7.5/actions/keylen/index.html index 297b1a0c8..f6b3c255b 100644 --- a/0.7.5/actions/keylen/index.html +++ b/0.7.5/actions/keylen/index.html @@ -4,7 +4,7 @@ KEYLEN | Skytable - + diff --git a/0.7.5/actions/lget/index.html b/0.7.5/actions/lget/index.html index ac0a2860a..010d01d71 100644 --- a/0.7.5/actions/lget/index.html +++ b/0.7.5/actions/lget/index.html @@ -4,7 +4,7 @@ LGET | Skytable - + diff --git a/0.7.5/actions/lmod/index.html b/0.7.5/actions/lmod/index.html index f31db3d9b..f0963cc47 100644 --- a/0.7.5/actions/lmod/index.html +++ b/0.7.5/actions/lmod/index.html @@ -4,7 +4,7 @@ LMOD | Skytable - + diff --git a/0.7.5/actions/lset/index.html b/0.7.5/actions/lset/index.html index da1eccbe7..b4101a11e 100644 --- a/0.7.5/actions/lset/index.html +++ b/0.7.5/actions/lset/index.html @@ -4,7 +4,7 @@ LSET | Skytable - + diff --git a/0.7.5/actions/lskeys/index.html b/0.7.5/actions/lskeys/index.html index cc043c5d3..15822812b 100644 --- a/0.7.5/actions/lskeys/index.html +++ b/0.7.5/actions/lskeys/index.html @@ -4,7 +4,7 @@ LSKEYS | Skytable - + diff --git a/0.7.5/actions/mget/index.html b/0.7.5/actions/mget/index.html index 11d3fe1dc..5a688ce9a 100644 --- a/0.7.5/actions/mget/index.html +++ b/0.7.5/actions/mget/index.html @@ -4,7 +4,7 @@ MGET | Skytable - + diff --git a/0.7.5/actions/mksnap/index.html b/0.7.5/actions/mksnap/index.html index ed11636b7..77d75222d 100644 --- a/0.7.5/actions/mksnap/index.html +++ b/0.7.5/actions/mksnap/index.html @@ -4,7 +4,7 @@ MKSNAP | Skytable - + diff --git a/0.7.5/actions/mpop/index.html b/0.7.5/actions/mpop/index.html index 958e61092..fc7281180 100644 --- a/0.7.5/actions/mpop/index.html +++ b/0.7.5/actions/mpop/index.html @@ -4,7 +4,7 @@ MPOP | Skytable - + diff --git a/0.7.5/actions/mset/index.html b/0.7.5/actions/mset/index.html index 3caba020d..4a7a0d9ba 100644 --- a/0.7.5/actions/mset/index.html +++ b/0.7.5/actions/mset/index.html @@ -4,7 +4,7 @@ MSET | Skytable - + diff --git a/0.7.5/actions/mupdate/index.html b/0.7.5/actions/mupdate/index.html index b1eed13f8..36daf17eb 100644 --- a/0.7.5/actions/mupdate/index.html +++ b/0.7.5/actions/mupdate/index.html @@ -4,7 +4,7 @@ MUPDATE | Skytable - + diff --git a/0.7.5/actions/pop/index.html b/0.7.5/actions/pop/index.html index 1a41ee669..b05458442 100644 --- a/0.7.5/actions/pop/index.html +++ b/0.7.5/actions/pop/index.html @@ -4,7 +4,7 @@ POP | Skytable - + diff --git a/0.7.5/actions/sdel/index.html b/0.7.5/actions/sdel/index.html index 994cb323e..57e8f1255 100644 --- a/0.7.5/actions/sdel/index.html +++ b/0.7.5/actions/sdel/index.html @@ -4,7 +4,7 @@ SDEL | Skytable - + diff --git a/0.7.5/actions/set/index.html b/0.7.5/actions/set/index.html index 0a09dd4e7..f514eed7d 100644 --- a/0.7.5/actions/set/index.html +++ b/0.7.5/actions/set/index.html @@ -4,7 +4,7 @@ SET | Skytable - + diff --git a/0.7.5/actions/sset/index.html b/0.7.5/actions/sset/index.html index bd42e301a..24245c236 100644 --- a/0.7.5/actions/sset/index.html +++ b/0.7.5/actions/sset/index.html @@ -4,7 +4,7 @@ SSET | Skytable - + diff --git a/0.7.5/actions/supdate/index.html b/0.7.5/actions/supdate/index.html index c30ba88b9..430a67e05 100644 --- a/0.7.5/actions/supdate/index.html +++ b/0.7.5/actions/supdate/index.html @@ -4,7 +4,7 @@ SUPDATE | Skytable - + diff --git a/0.7.5/actions/sys/index.html b/0.7.5/actions/sys/index.html index faac54979..312f19790 100644 --- a/0.7.5/actions/sys/index.html +++ b/0.7.5/actions/sys/index.html @@ -4,7 +4,7 @@ SYS | Skytable - + diff --git a/0.7.5/actions/update/index.html b/0.7.5/actions/update/index.html index 4982b0f67..eb8c88767 100644 --- a/0.7.5/actions/update/index.html +++ b/0.7.5/actions/update/index.html @@ -4,7 +4,7 @@ UPDATE | Skytable - + diff --git a/0.7.5/actions/uset/index.html b/0.7.5/actions/uset/index.html index 2ab6811e8..250d5e723 100644 --- a/0.7.5/actions/uset/index.html +++ b/0.7.5/actions/uset/index.html @@ -4,7 +4,7 @@ USET | Skytable - + diff --git a/0.7.5/actions/whereami/index.html b/0.7.5/actions/whereami/index.html index 5363e9aa0..d29cf77c2 100644 --- a/0.7.5/actions/whereami/index.html +++ b/0.7.5/actions/whereami/index.html @@ -4,7 +4,7 @@ WHEREAMI | Skytable - + diff --git a/0.7.5/all-actions/index.html b/0.7.5/all-actions/index.html index 7e96e9107..a288d4da8 100644 --- a/0.7.5/all-actions/index.html +++ b/0.7.5/all-actions/index.html @@ -4,7 +4,7 @@ Index of actions | Skytable - + diff --git a/0.7.5/auth/index.html b/0.7.5/auth/index.html index 633697a85..97b05d547 100644 --- a/0.7.5/auth/index.html +++ b/0.7.5/auth/index.html @@ -4,7 +4,7 @@ Authentication and authorization | Skytable - + diff --git a/0.7.5/benchmarking/index.html b/0.7.5/benchmarking/index.html index aa2312e84..6faeae4b1 100644 --- a/0.7.5/benchmarking/index.html +++ b/0.7.5/benchmarking/index.html @@ -4,7 +4,7 @@ Benchmarking | Skytable - + diff --git a/0.7.5/building-from-source/index.html b/0.7.5/building-from-source/index.html index 34fb7da7b..72fd441ce 100644 --- a/0.7.5/building-from-source/index.html +++ b/0.7.5/building-from-source/index.html @@ -4,7 +4,7 @@ Building from source | Skytable - + diff --git a/0.7.5/clients/index.html b/0.7.5/clients/index.html index a6337d3ad..b0e0b8fa1 100644 --- a/0.7.5/clients/index.html +++ b/0.7.5/clients/index.html @@ -4,7 +4,7 @@ Client drivers | Skytable - + diff --git a/0.7.5/config-cmd/index.html b/0.7.5/config-cmd/index.html index 1ae760ab6..72fc29609 100644 --- a/0.7.5/config-cmd/index.html +++ b/0.7.5/config-cmd/index.html @@ -4,7 +4,7 @@ Command-line configuration | Skytable - + diff --git a/0.7.5/config-env/index.html b/0.7.5/config-env/index.html index f35fa35e1..1bc216d9f 100644 --- a/0.7.5/config-env/index.html +++ b/0.7.5/config-env/index.html @@ -4,7 +4,7 @@ Environment Variables | Skytable - + diff --git a/0.7.5/config-files/index.html b/0.7.5/config-files/index.html index e807e6d97..e1dcd133d 100644 --- a/0.7.5/config-files/index.html +++ b/0.7.5/config-files/index.html @@ -4,7 +4,7 @@ Configuration Files | Skytable - + diff --git a/0.7.5/config/index.html b/0.7.5/config/index.html index 49a488733..cdf3b73fd 100644 --- a/0.7.5/config/index.html +++ b/0.7.5/config/index.html @@ -4,7 +4,7 @@ Configuration basics | Skytable - + diff --git a/0.7.5/containers/index.html b/0.7.5/containers/index.html index 317013e46..96c210b37 100644 --- a/0.7.5/containers/index.html +++ b/0.7.5/containers/index.html @@ -4,7 +4,7 @@ Containers | Skytable - + diff --git a/0.7.5/ddl/index.html b/0.7.5/ddl/index.html index b07b74a64..6f215b98f 100644 --- a/0.7.5/ddl/index.html +++ b/0.7.5/ddl/index.html @@ -4,7 +4,7 @@ DDL | Skytable - + diff --git a/0.7.5/deployment-notes/index.html b/0.7.5/deployment-notes/index.html index 701b359a4..da62eff40 100644 --- a/0.7.5/deployment-notes/index.html +++ b/0.7.5/deployment-notes/index.html @@ -4,7 +4,7 @@ Deployment notes | Skytable - + diff --git a/0.7.5/examples/index.html b/0.7.5/examples/index.html index 81cc2d594..faa54d349 100644 --- a/0.7.5/examples/index.html +++ b/0.7.5/examples/index.html @@ -4,7 +4,7 @@ Examples | Skytable - + diff --git a/0.7.5/getting-started/index.html b/0.7.5/getting-started/index.html index 84572cb8a..7f22b22a5 100644 --- a/0.7.5/getting-started/index.html +++ b/0.7.5/getting-started/index.html @@ -4,7 +4,7 @@ Getting Started | Skytable - + diff --git a/0.7.5/index.html b/0.7.5/index.html index cf3da4aff..5e2a46f55 100644 --- a/0.7.5/index.html +++ b/0.7.5/index.html @@ -4,7 +4,7 @@ Introduction | Skytable - + diff --git a/0.7.5/perf-guide/index.html b/0.7.5/perf-guide/index.html index 972cd0a4c..d714d8c63 100644 --- a/0.7.5/perf-guide/index.html +++ b/0.7.5/perf-guide/index.html @@ -4,7 +4,7 @@ Performance Guide | Skytable - + diff --git a/0.7.5/persistence/index.html b/0.7.5/persistence/index.html index 9558f928b..1d3ff6b4e 100644 --- a/0.7.5/persistence/index.html +++ b/0.7.5/persistence/index.html @@ -4,7 +4,7 @@ Persistence | Skytable - + diff --git a/0.7.5/protocol/data-types/index.html b/0.7.5/protocol/data-types/index.html index 360d01c01..fa80014a7 100644 --- a/0.7.5/protocol/data-types/index.html +++ b/0.7.5/protocol/data-types/index.html @@ -4,7 +4,7 @@ Data Types | Skytable - + diff --git a/0.7.5/protocol/errors/index.html b/0.7.5/protocol/errors/index.html index a8f43129d..2a20fa0ab 100644 --- a/0.7.5/protocol/errors/index.html +++ b/0.7.5/protocol/errors/index.html @@ -4,7 +4,7 @@ Error Strings | Skytable - + diff --git a/0.7.5/protocol/response-codes/index.html b/0.7.5/protocol/response-codes/index.html index f25c13b72..d3e8ea5ac 100644 --- a/0.7.5/protocol/response-codes/index.html +++ b/0.7.5/protocol/response-codes/index.html @@ -4,7 +4,7 @@ Response Codes | Skytable - + diff --git a/0.7.5/protocol/skyhash/index.html b/0.7.5/protocol/skyhash/index.html index 6c12d343b..295a69990 100644 --- a/0.7.5/protocol/skyhash/index.html +++ b/0.7.5/protocol/skyhash/index.html @@ -4,7 +4,7 @@ Skyhash Protocol 1.0 | Skytable - + diff --git a/0.7.5/snapshots/index.html b/0.7.5/snapshots/index.html index acb82c097..35ac6414e 100644 --- a/0.7.5/snapshots/index.html +++ b/0.7.5/snapshots/index.html @@ -4,7 +4,7 @@ Snapshots | Skytable - + diff --git a/0.7.5/ssl/index.html b/0.7.5/ssl/index.html index bc59a8f57..45505a4de 100644 --- a/0.7.5/ssl/index.html +++ b/0.7.5/ssl/index.html @@ -4,7 +4,7 @@ TLS configuration | Skytable - + diff --git a/404.html b/404.html index ae77265cb..555737e1b 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Skytable - + diff --git a/architecture/index.html b/architecture/index.html index 4ec341664..663500c73 100644 --- a/architecture/index.html +++ b/architecture/index.html @@ -4,7 +4,7 @@ Architecture | Skytable - + @@ -13,8 +13,8 @@

Our goal is to provide you with a powerful and solid foundation for your application with no gimmicks — just a solid core. That's why, every component in Skytable has been engineered from the ground up, from scratch.

And all of that, without you having to be an expert, and with the least maintenance that you can expect.

-

Fundamental differences from SQL

-

BlueQL kind of looks and feels like SQL and that's the ultimate goal, so that developers from the SQL world find it easier to migrate. But Skytable's evaluation and execution of queries is fundamentally different from SQL counterparts and even NoSQL engines. Here are some key differences:

+

Fundamental differences from relational systems

+

BlueQL kind of looks and feels like using SQL with a relational database but that doesn't make Skytable's internals the same, with the most important distinction being the fact that Skytable has a NoSQL engine! But Skytable's evaluation and execution of queries is fundamentally different from SQL counterparts and even NoSQL engines. Here are some key differences:

+
\ No newline at end of file diff --git a/assets/js/0eadbdf8.2ca59d6f.js b/assets/js/0eadbdf8.2ca59d6f.js new file mode 100644 index 000000000..cea892a25 --- /dev/null +++ b/assets/js/0eadbdf8.2ca59d6f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4781],{4766:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>d});var i=t(5893),a=t(1151);const s={id:"architecture",title:"Architecture"},r=void 0,o={id:"architecture",title:"Architecture",description:"Skytable is a modern NoSQL database that prioritises performance, scalability and reliability while providing a rich and powerful querying interface. We are generally targetting an audience that wants to build high performance, large-scale, low latency applications, such as social networking services, auth services, adtech and such. Skytable is designed to work with",source:"@site/docs/4.architecture.md",sourceDirName:".",slug:"/architecture",permalink:"/architecture",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"architecture",title:"Architecture"},sidebar:"docs",previous:{title:"Using the REPL",permalink:"/using-the-repl"},next:{title:"BlueQL",permalink:"/category/blueql"}},l={},d=[{value:"Fundamental differences from relational systems",id:"fundamental-differences-from-relational-systems",level:2},{value:"Data model",id:"data-model",level:2},{value:"A space is like a database",id:"a-space-is-like-a-database",level:3},{value:"A model is like a table",id:"a-model-is-like-a-table",level:3},{value:"Query language",id:"query-language",level:2},{value:"Transactions",id:"transactions",level:2},{value:"Storage",id:"storage",level:2},{value:"Scalability",id:"scalability",level:2},{value:"Networking",id:"networking",level:2},{value:"Backwards compatibility",id:"backwards-compatibility",level:2}];function c(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Skytable is a modern NoSQL database that prioritises performance, scalability and reliability while providing a rich and powerful querying interface. We are generally targetting an audience that wants to build high performance, large-scale, low latency applications, such as social networking services, auth services, adtech and such. Skytable is designed to work with\nboth ",(0,i.jsx)(n.strong,{children:"structured and semi-structured data"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Our goal is to provide you with a powerful and solid foundation for your application with no gimmicks \u2014 just a solid core.\nThat's why, every component in Skytable has been engineered from the ground up, from scratch."}),"\n",(0,i.jsx)(n.p,{children:"And all of that, without you having to be an expert, and with the least maintenance that you can expect."}),"\n",(0,i.jsx)(n.h2,{id:"fundamental-differences-from-relational-systems",children:"Fundamental differences from relational systems"}),"\n",(0,i.jsx)(n.p,{children:"BlueQL kind of looks and feels like using SQL with a relational database but that doesn't make Skytable's internals the same, with the most important distinction being the fact that Skytable has a NoSQL engine! But Skytable's evaluation and execution of queries is fundamentally different from SQL counterparts and even NoSQL engines. Here are some key differences:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["All DML queries are point queries and ",(0,i.jsx)(n.strong,{children:"not"})," range queries:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"This means that they will either return atleast one row or error"}),"\n",(0,i.jsxs)(n.li,{children:["If you intend to do a multi-row query, then it won't work unless you add ",(0,i.jsx)(n.code,{children:"ALL"}),". ",(0,i.jsx)(n.code,{children:"ALL"})," by itself indicates that you're applying (or selecting) a large range and can be inefficient"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Multi-row DML queries are slow and inefficient and are discouraged"}),"\n",(0,i.jsxs)(n.li,{children:["You can ",(0,i.jsx)(n.strong,{children:"only"})," query on the primary index, once again because of speed (and the problem with scaling multiple indexes) with a fixed set of operators."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Remember, in NoSQL systems we denormalize."})," Hence, no ",(0,i.jsx)(n.code,{children:"JOIN"}),"s or foreign keys as with many other NoSQL systems"]}),"\n",(0,i.jsxs)(n.li,{children:["A different transactional model:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"All DDL and DCL queries are ACID transactions"}),"\n",(0,i.jsxs)(n.li,{children:["However, DML transactions are not ACID and instead are efficiently batched and are automatically made part of a batch",(0,i.jsx)(n.br,{}),"\n","transaction. The engine decides ",(0,i.jsx)(n.em,{children:"when"})," it will execute them, for example based on the pressure on cache. That's because our\nfocus is to maximize throughput"]}),"\n",(0,i.jsxs)(n.li,{children:["All these differences mean that ",(0,i.jsx)(n.strong,{children:"DDL and DCL transactions are ACID transactions"})," while ",(0,i.jsxs)(n.strong,{children:["DML queries are ACI and ",(0,i.jsx)(n.em,{children:"eventually"})," D"]})," (we call it a ",(0,i.jsx)(n.em,{children:"delayed durability transaction"}),"). This delay however can be adjusted to make sure that the DML\nqueries ",(0,i.jsx)(n.em,{children:"emulate"})," ACID transactions but that defeats the point of the eventually durable system which aims to heavily increase throughput."]}),"\n",(0,i.jsx)(n.li,{children:"The idea of eventually durable transactions relies on the idea that hardware failure even though prominent is still rare,\nthanks to the extreme hard work that cloud vendors put into reliability engineering. If you plan to run on unreliable hardware, then the delay setting (reliability service) is what you need to change."}),"\n",(0,i.jsxs)(n.li,{children:["For extremely unreliable hardware on the other hand, we're working on a new storage driver ",(0,i.jsx)(n.code,{children:"rtsyncblock"})," that is expected to be released in Q1'24"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"The transactional engine powering DDL and DCL queries might often choose to demote a transaction to a virtual transaction which makes sure that the transaction is obviously durable but not necessarily actually executed but is eventually executed. If the system crashes, the engine will still be able to actually execute the transaction (even if it crashed halfway)"}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"We believe you can now hopefully see how Skytable's workings are fundamentally different from traditional engines. And, we know\nthat you might have a lot of questions! If you do, please reach out. We're here to help."})}),"\n",(0,i.jsx)(n.h2,{id:"data-model",children:"Data model"}),"\n",(0,i.jsxs)(n.p,{children:["Just like SQL has ",(0,i.jsx)(n.code,{children:"DATABASE"}),"s, Skytable has ",(0,i.jsx)(n.code,{children:"SPACE"}),"s which are collections of what we call data containers like tables.\nIn Skytable lingo, we don't call them tables but call them ",(0,i.jsx)(n.code,{children:"MODEL"}),"s which enable you to ",(0,i.jsx)(n.em,{children:"define your data model"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["While a ",(0,i.jsx)(n.code,{children:"MODEL"})," is the only data container for now, many more are set to come. Now is a good time to ",(0,i.jsx)(n.a,{href:"https://discord.gg/QptWFdx",children:"join our discord server"})," where you can directly chat with the developers working on Skytable and all our awesome community members."]})}),"\n",(0,i.jsxs)(n.h3,{id:"a-space-is-like-a-database",children:["A ",(0,i.jsx)(n.code,{children:"space"})," is like a ",(0,i.jsx)(n.code,{children:"database"})]}),"\n",(0,i.jsxs)(n.p,{children:["A ",(0,i.jsx)(n.code,{children:"space"})," in Skytable is a collection of ",(0,i.jsx)(n.code,{children:"model"}),"s and other objects, and settings. It is different from a traditional SQL\nDatabase (that is created with SQL's ",(0,i.jsx)(n.code,{children:"CREATE DATABASE"}),") because it is not meant for tables only, but many other things."]}),"\n",(0,i.jsxs)(n.p,{children:['Spaces have "space local" settings that can be set for the space (and will be respected by all its ',(0,i.jsx)(n.code,{children:"models"})," and other items). You'll learn more about this in the section on DDL."]}),"\n",(0,i.jsxs)(n.h3,{id:"a-model-is-like-a-table",children:["A ",(0,i.jsx)(n.code,{children:"model"})," is like a ",(0,i.jsx)(n.code,{children:"table"})]}),"\n",(0,i.jsxs)(n.p,{children:["A ",(0,i.jsx)(n.code,{children:"model"})," in Skytable is like a ",(0,i.jsx)(n.code,{children:"table"})," in SQL but is vastly different because of certain concepts such as:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"DML queries are point and not range queries by default"}),"\n",(0,i.jsx)(n.li,{children:"Restrictions on indexes"}),"\n",(0,i.jsxs)(n.li,{children:["Settings (which can't be created in traditional ",(0,i.jsx)(n.code,{children:"table"}),"s)"]}),"\n",(0,i.jsx)(n.li,{children:"Semi-structured data: with collection types in columns such as lists and dictionaries that violates some of the ideas of\ntraditional schema enforcement"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"query-language",children:"Query language"}),"\n",(0,i.jsxs)(n.p,{children:["Skytable has it's own query language BlueQL",(0,i.jsx)("sup",{children:"TM"})," which takes a lot of inspiration from SQL but makes several different (and sometimes vastly different) design choices, focused on clarity, speed, simplicity and most importantly, security."]}),"\n",(0,i.jsxs)(n.p,{children:["For example, Skytable's BlueQL",(0,i.jsx)("sup",{children:"TM"})," ",(0,i.jsx)(n.em,{children:"only"})," allows the parameterization of queries. All the queries you ran previously with strings and numbers directly were only possible because the REPL client smartly does the paramterization behind the scenes. This is done for security. You'll learn more about BlueQL next."]}),"\n",(0,i.jsx)(n.h2,{id:"transactions",children:"Transactions"}),"\n",(0,i.jsx)(n.p,{children:"Skytable's DDL and DCL queries are all ACID transactions. However, DML queries use an AOF-style storage driver that periodically\nrecords, analyses and then intelligently syncs the changes to disk. We're working on making ACID transactions widely available\nacross DML queries as well."}),"\n",(0,i.jsx)(n.h2,{id:"storage",children:"Storage"}),"\n",(0,i.jsx)(n.p,{children:"Skytable's storage engine is collectively called the Skytable Disk Storage Subsystem or SDSS for short. The storage engine uses\nseveral different storage drivers, using ones appropriate for the task. We do not use RocksDB or any other engine but we\nimplement everything in house, engineering them piece by piece."}),"\n",(0,i.jsx)(n.admonition,{title:"Features on track",type:"info",children:(0,i.jsxs)(n.p,{children:["At this point, Skytable is primarily in-memory which means that while it uses disk storage for durability, most data is stored in-memory. ",(0,i.jsx)(n.strong,{children:"This is going to change in the near future as the team is working on building a custom log-based engine."})," As you might understand, this is not an everyday task and as we incorporate new ideas it will take some time. But if you're seeing this in 2023, you can expect us to ship something by Q1 2024."]})}),"\n",(0,i.jsx)(n.p,{children:"DDL and DCL transactions use a log-based append-only driver while DML queries use a custom log-based append-only driver that is able to intelligently handle concurrent changes. The team will implement new and updated storage drivers from time to time but you do not have to worry about anything, due to our promise for backwards compatibility (see below)."}),"\n",(0,i.jsx)(n.h2,{id:"scalability",children:"Scalability"}),"\n",(0,i.jsx)(n.p,{children:"Skytable is heavily multithreaded enabling incredible vertical scalability and you can witness it for yourself by running benchmarks (or looking at ones that we publish). Clustering and replication are on track to be released soon."}),"\n",(0,i.jsx)(n.admonition,{title:"Features on track",type:"info",children:(0,i.jsx)(n.p,{children:"Clustering and replication are right on track and we're expecting to deliver them by Q1 2024. We'd also like to note that\nclustering is too important to ignore so you can be assured that we're hard at work on it."})}),"\n",(0,i.jsx)(n.p,{children:"Skytable will use atleast as many threads as the number of logical CPUs present on the host. At this moment it is not possible to\nlimit multithreading because multithreading is a part of Skytable's design principles and every attempt is made to exploit\navailable CPU cores to the fullest."}),"\n",(0,i.jsx)(n.h2,{id:"networking",children:"Networking"}),"\n",(0,i.jsx)(n.p,{children:"Skytable its own in-house Skyhash protocol that is built on top of TCP enabling any programming language that has a TCP client to use it without issues. There are three phases in the connection:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Handshake: All auth data, compatibility information and other data is exchanged at this step"}),"\n",(0,i.jsx)(n.li,{children:"Connection mode selection: based on the handshake parameters a connection mode is chosen and the server responds with the chosen exchange mode"}),"\n",(0,i.jsx)(n.li,{children:"Data exchange: This is where the real querying happens"}),"\n",(0,i.jsxs)(n.li,{children:["Termination: there is no special step; just a ",(0,i.jsx)(n.code,{children:"TCP FIN"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"backwards-compatibility",children:"Backwards compatibility"}),"\n",(0,i.jsx)(n.p,{children:"We make the promise to you that no matter what changes in Skytable, you will always be able to:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Upgrade from one version to another without data loss or too many hoops"}),"\n",(0,i.jsx)(n.li,{children:"Export data from Skytable at any time"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"More technically:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"For minor/patch releases"}),": The minor/patch is just in the name but it indicates that no data migration effort is needed. ",(0,i.jsx)(n.strong,{children:"No minor releases ever need data migration, and any migration is done automatically"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"For major releases"}),": Major releases generally introduce breaking changes (just like the upgrade from ",(0,i.jsx)(n.code,{children:"0.7.x"})," to ",(0,i.jsx)(n.code,{children:"0.8.0"})," is a largely breaking change). ",(0,i.jsx)(n.strong,{children:"Major releases will either automatically upgrade the data files or require you to use a migration tool that is shipped with the bundle"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Definitions (closely following semantic versioning):","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"A major release"})," is something like ",(0,i.jsx)(n.code,{children:"1.0.0"})," to ",(0,i.jsx)(n.code,{children:"2.0.0"})," or ",(0,i.jsx)(n.code,{children:"0.8.0"})," to ",(0,i.jsx)(n.code,{children:"0.9.0"})," (in development versions, 0.8.0 to 0.9.0 is a major version bump)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"A minor release"})," is something like ",(0,i.jsx)(n.code,{children:"1.0.0"})," to ",(0,i.jsx)(n.code,{children:"1.1.0"})," or ",(0,i.jsx)(n.code,{children:"0.8.0"})," to ",(0,i.jsx)(n.code,{children:"0.8.1"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"A patch release"})," is something like ",(0,i.jsx)(n.code,{children:"1.0.0"})," to ",(0,i.jsx)(n.code,{children:"1.0.1"})," or ",(0,i.jsx)(n.code,{children:"0.8.0"})," to ",(0,i.jsx)(n.code,{children:"0.8.1"})," (note that in development versions there is no distinction between a minor and patch release)"]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>r});var i=t(7294);const a={},s=i.createContext(a);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0eadbdf8.4a38f7a2.js b/assets/js/0eadbdf8.4a38f7a2.js deleted file mode 100644 index 37daabc80..000000000 --- a/assets/js/0eadbdf8.4a38f7a2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4781],{4766:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>d});var t=i(5893),a=i(1151);const s={id:"architecture",title:"Architecture"},r=void 0,o={id:"architecture",title:"Architecture",description:"Skytable is a modern NoSQL database that prioritises performance, scalability and reliability while providing a rich and powerful querying interface. We are generally targetting an audience that wants to build high performance, large-scale, low latency applications, such as social networking services, auth services, adtech and such. Skytable is designed to work with",source:"@site/docs/4.architecture.md",sourceDirName:".",slug:"/architecture",permalink:"/architecture",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"architecture",title:"Architecture"},sidebar:"docs",previous:{title:"Using the REPL",permalink:"/using-the-repl"},next:{title:"BlueQL",permalink:"/category/blueql"}},l={},d=[{value:"Fundamental differences from SQL",id:"fundamental-differences-from-sql",level:2},{value:"Data model",id:"data-model",level:2},{value:"A space is like a database",id:"a-space-is-like-a-database",level:3},{value:"A model is like a table",id:"a-model-is-like-a-table",level:3},{value:"Query language",id:"query-language",level:2},{value:"Transactions",id:"transactions",level:2},{value:"Storage",id:"storage",level:2},{value:"Scalability",id:"scalability",level:2},{value:"Networking",id:"networking",level:2},{value:"Backwards compatibility",id:"backwards-compatibility",level:2}];function c(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["Skytable is a modern NoSQL database that prioritises performance, scalability and reliability while providing a rich and powerful querying interface. We are generally targetting an audience that wants to build high performance, large-scale, low latency applications, such as social networking services, auth services, adtech and such. Skytable is designed to work with\nboth ",(0,t.jsx)(n.strong,{children:"structured and semi-structured data"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Our goal is to provide you with a powerful and solid foundation for your application with no gimmicks \u2014 just a solid core.\nThat's why, every component in Skytable has been engineered from the ground up, from scratch."}),"\n",(0,t.jsx)(n.p,{children:"And all of that, without you having to be an expert, and with the least maintenance that you can expect."}),"\n",(0,t.jsx)(n.h2,{id:"fundamental-differences-from-sql",children:"Fundamental differences from SQL"}),"\n",(0,t.jsx)(n.p,{children:"BlueQL kind of looks and feels like SQL and that's the ultimate goal, so that developers from the SQL world find it easier to migrate. But Skytable's evaluation and execution of queries is fundamentally different from SQL counterparts and even NoSQL engines. Here are some key differences:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["All DML queries are point queries and ",(0,t.jsx)(n.strong,{children:"not"})," range queries:","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"This means that they will either return atleast one row or error"}),"\n",(0,t.jsxs)(n.li,{children:["If you intend to do a multi-row query, then it won't work unless you add ",(0,t.jsx)(n.code,{children:"ALL"}),". ",(0,t.jsx)(n.code,{children:"ALL"})," by itself indicates that you're applying (or selecting) a large range and can be inefficient"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.li,{children:"Multi-row DML queries are slow and inefficient and are discouraged"}),"\n",(0,t.jsxs)(n.li,{children:["You can ",(0,t.jsx)(n.strong,{children:"only"})," query on the primary index, once again because of speed (and the problem with scaling multiple indexes) with a fixed set of operators."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Remember, in NoSQL systems we denormalize."})," Hence, no ",(0,t.jsx)(n.code,{children:"JOIN"}),"s or foreign keys as with many other NoSQL systems"]}),"\n",(0,t.jsxs)(n.li,{children:["A different transactional model:","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"All DDL and DCL queries are ACID transactions"}),"\n",(0,t.jsxs)(n.li,{children:["However, DML transactions are not ACID and instead are efficiently batched and are automatically made part of a batch",(0,t.jsx)(n.br,{}),"\n","transaction. The engine decides ",(0,t.jsx)(n.em,{children:"when"})," it will execute them, for example based on the pressure on cache. That's because our\nfocus is to maximize throughput"]}),"\n",(0,t.jsxs)(n.li,{children:["All these differences mean that ",(0,t.jsx)(n.strong,{children:"DDL and DCL transactions are ACID transactions"})," while ",(0,t.jsxs)(n.strong,{children:["DML queries are ACI and ",(0,t.jsx)(n.em,{children:"eventually"})," D"]})," (we call it a ",(0,t.jsx)(n.em,{children:"delayed durability transaction"}),"). This delay however can be adjusted to make sure that the DML\nqueries ",(0,t.jsx)(n.em,{children:"emulate"})," ACID transactions but that defeats the point of the eventually durable system which aims to heavily increase throughput."]}),"\n",(0,t.jsx)(n.li,{children:"The idea of eventually durable transactions relies on the idea that hardware failure even though prominent is still rare,\nthanks to the extreme hard work that cloud vendors put into reliability engineering. If you plan to run on unreliable hardware, then the delay setting (reliability service) is what you need to change."}),"\n",(0,t.jsxs)(n.li,{children:["For extremely unreliable hardware on the other hand, we're working on a new storage driver ",(0,t.jsx)(n.code,{children:"rtsyncblock"})," that is expected to be released in Q1'24"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.li,{children:"The transactional engine powering DDL and DCL queries might often choose to demote a transaction to a virtual transaction which makes sure that the transaction is obviously durable but not necessarily actually executed but is eventually executed. If the system crashes, the engine will still be able to actually execute the transaction (even if it crashed halfway)"}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsx)(n.p,{children:"We believe you can now hopefully see how Skytable's workings are fundamentally different from traditional engines. And, we know\nthat you might have a lot of questions! If you do, please reach out. We're here to help."})}),"\n",(0,t.jsx)(n.h2,{id:"data-model",children:"Data model"}),"\n",(0,t.jsxs)(n.p,{children:["Just like SQL has ",(0,t.jsx)(n.code,{children:"DATABASE"}),"s, Skytable has ",(0,t.jsx)(n.code,{children:"SPACE"}),"s which are collections of what we call data containers like tables.\nIn Skytable lingo, we don't call them tables but call them ",(0,t.jsx)(n.code,{children:"MODEL"}),"s which enable you to ",(0,t.jsx)(n.em,{children:"define your data model"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:["While a ",(0,t.jsx)(n.code,{children:"MODEL"})," is the only data container for now, many more are set to come. Now is a good time to ",(0,t.jsx)(n.a,{href:"https://discord.gg/QptWFdx",children:"join our discord server"})," where you can directly chat with the developers working on Skytable and all our awesome community members."]})}),"\n",(0,t.jsxs)(n.h3,{id:"a-space-is-like-a-database",children:["A ",(0,t.jsx)(n.code,{children:"space"})," is like a ",(0,t.jsx)(n.code,{children:"database"})]}),"\n",(0,t.jsxs)(n.p,{children:["A ",(0,t.jsx)(n.code,{children:"space"})," in Skytable is a collection of ",(0,t.jsx)(n.code,{children:"model"}),"s and other objects, and settings. It is different from a traditional SQL\nDatabase (that is created with SQL's ",(0,t.jsx)(n.code,{children:"CREATE DATABASE"}),") because it is not meant for tables only, but many other things."]}),"\n",(0,t.jsxs)(n.p,{children:['Spaces have "space local" settings that can be set for the space (and will be respected by all its ',(0,t.jsx)(n.code,{children:"models"})," and other items). You'll learn more about this in the section on DDL."]}),"\n",(0,t.jsxs)(n.h3,{id:"a-model-is-like-a-table",children:["A ",(0,t.jsx)(n.code,{children:"model"})," is like a ",(0,t.jsx)(n.code,{children:"table"})]}),"\n",(0,t.jsxs)(n.p,{children:["A ",(0,t.jsx)(n.code,{children:"model"})," in Skytable is like a ",(0,t.jsx)(n.code,{children:"table"})," in SQL but is vastly different because of certain concepts such as:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"DML queries are point and not range queries by default"}),"\n",(0,t.jsx)(n.li,{children:"Restrictions on indexes"}),"\n",(0,t.jsxs)(n.li,{children:["Settings (which can't be created in traditional ",(0,t.jsx)(n.code,{children:"table"}),"s)"]}),"\n",(0,t.jsx)(n.li,{children:"Semi-structured data: with collection types in columns such as lists and dictionaries that violates some of the ideas of\ntraditional schema enforcement"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"query-language",children:"Query language"}),"\n",(0,t.jsxs)(n.p,{children:["Skytable has it's own query language BlueQL",(0,t.jsx)("sup",{children:"TM"})," which takes a lot of inspiration from SQL but makes several different (and sometimes vastly different) design choices, focused on clarity, speed, simplicity and most importantly, security."]}),"\n",(0,t.jsxs)(n.p,{children:["For example, Skytable's BlueQL",(0,t.jsx)("sup",{children:"TM"})," ",(0,t.jsx)(n.em,{children:"only"})," allows the parameterization of queries. All the queries you ran previously with strings and numbers directly were only possible because the REPL client smartly does the paramterization behind the scenes. This is done for security. You'll learn more about BlueQL next."]}),"\n",(0,t.jsx)(n.h2,{id:"transactions",children:"Transactions"}),"\n",(0,t.jsx)(n.p,{children:"Skytable's DDL and DCL queries are all ACID transactions. However, DML queries use an AOF-style storage driver that periodically\nrecords, analyses and then intelligently syncs the changes to disk. We're working on making ACID transactions widely available\nacross DML queries as well."}),"\n",(0,t.jsx)(n.h2,{id:"storage",children:"Storage"}),"\n",(0,t.jsx)(n.p,{children:"Skytable's storage engine is collectively called the Skytable Disk Storage Subsystem or SDSS for short. The storage engine uses\nseveral different storage drivers, using ones appropriate for the task. We do not use RocksDB or any other engine but we\nimplement everything in house, engineering them piece by piece."}),"\n",(0,t.jsx)(n.admonition,{title:"Features on track",type:"info",children:(0,t.jsxs)(n.p,{children:["At this point, Skytable is primarily in-memory which means that while it uses disk storage for durability, most data is stored in-memory. ",(0,t.jsx)(n.strong,{children:"This is going to change in the near future as the team is working on building a custom log-based engine."})," As you might understand, this is not an everyday task and as we incorporate new ideas it will take some time. But if you're seeing this in 2023, you can expect us to ship something by Q1 2024."]})}),"\n",(0,t.jsx)(n.p,{children:"DDL and DCL transactions use a log-based append-only driver while DML queries use a custom log-based append-only driver that is able to intelligently handle concurrent changes. The team will implement new and updated storage drivers from time to time but you do not have to worry about anything, due to our promise for backwards compatibility (see below)."}),"\n",(0,t.jsx)(n.h2,{id:"scalability",children:"Scalability"}),"\n",(0,t.jsx)(n.p,{children:"Skytable is heavily multithreaded enabling incredible vertical scalability and you can witness it for yourself by running benchmarks (or looking at ones that we publish). Clustering and replication are on track to be released soon."}),"\n",(0,t.jsx)(n.admonition,{title:"Features on track",type:"info",children:(0,t.jsx)(n.p,{children:"Clustering (horizontal scalability) and replication (failover) is right on track and we're also expecting to deliver this by Q1\n2024. We'd also like to note that clustering is too important a feature to ignore so you can be assured that we're hard at work\non it."})}),"\n",(0,t.jsx)(n.p,{children:"Skytable will use atleast as many threads as the number of logical CPUs present on the host. At this moment it is not possible to\nlimit multithreading because multithreading is a part of Skytable's design principles and every attempt is made to exploit\navailable CPU cores to the fullest."}),"\n",(0,t.jsx)(n.h2,{id:"networking",children:"Networking"}),"\n",(0,t.jsx)(n.p,{children:"Skytable its own in-house Skyhash protocol that is built on top of TCP enabling any programming language that has a TCP client to use it without issues. There are three phases in the connection:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Handshake: All auth data, compatibility information and other data is exchanged at this step"}),"\n",(0,t.jsx)(n.li,{children:"Connection mode selection: based on the handshake parameters a connection mode is chosen and the server responds with the chosen exchange mode"}),"\n",(0,t.jsx)(n.li,{children:"Data exchange: This is where the real querying happens"}),"\n",(0,t.jsxs)(n.li,{children:["Termination: there is no special step; just a ",(0,t.jsx)(n.code,{children:"TCP FIN"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"backwards-compatibility",children:"Backwards compatibility"}),"\n",(0,t.jsx)(n.p,{children:"We make the promise to you that no matter what changes in Skytable, you will always be able to:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Upgrade from one version to another without data loss or too many hoops"}),"\n",(0,t.jsx)(n.li,{children:"Export data from Skytable at any time"}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"More technically:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"For minor/patch releases"}),": The minor/patch is just in the name but it indicates that no data migration effort is needed. ",(0,t.jsx)(n.strong,{children:"No minor releases ever need data migration, and any migration is done automatically"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"For major releases"}),": Major releases generally introduce breaking changes (just like the upgrade from ",(0,t.jsx)(n.code,{children:"0.7.x"})," to ",(0,t.jsx)(n.code,{children:"0.8.0"})," is a largely breaking change). ",(0,t.jsx)(n.strong,{children:"Major releases will either automatically upgrade the data files or require you to use a migration tool that is shipped with the bundle"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Definitions (closely following semantic versioning):","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"A major release"})," is something like ",(0,t.jsx)(n.code,{children:"1.0.0"})," to ",(0,t.jsx)(n.code,{children:"2.0.0"})," or ",(0,t.jsx)(n.code,{children:"0.8.0"})," to ",(0,t.jsx)(n.code,{children:"0.9.0"})," (in development versions, 0.8.0 to 0.9.0 is a major version bump)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"A minor release"})," is something like ",(0,t.jsx)(n.code,{children:"1.0.0"})," to ",(0,t.jsx)(n.code,{children:"1.1.0"})," or ",(0,t.jsx)(n.code,{children:"0.8.0"})," to ",(0,t.jsx)(n.code,{children:"0.8.1"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"A patch release"})," is something like ",(0,t.jsx)(n.code,{children:"1.0.0"})," to ",(0,t.jsx)(n.code,{children:"1.0.1"})," or ",(0,t.jsx)(n.code,{children:"0.8.0"})," to ",(0,t.jsx)(n.code,{children:"0.8.1"})," (note that in development versions there is no distinction between a minor and patch release)"]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>r});var t=i(7294);const a={},s=t.createContext(a);function r(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.085b3e31.js b/assets/js/runtime~main.51b889f5.js similarity index 99% rename from assets/js/runtime~main.085b3e31.js rename to assets/js/runtime~main.51b889f5.js index 764797c7d..7c55f3ab1 100644 --- a/assets/js/runtime~main.085b3e31.js +++ b/assets/js/runtime~main.51b889f5.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return d[e].call(c.exports,c,c.exports,r),c.exports}r.m=d,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({17:"333ace74",53:"935f2afb",266:"b213ac14",322:"283abc1e",369:"f0a0c15c",377:"efd8aafa",439:"e22dd37b",448:"4cacf3e6",525:"f6ca6b97",526:"a97a69dc",550:"105374d0",645:"413b7f27",770:"16d48d9c",1003:"362a08a0",1208:"df871b03",1214:"735f4e8b",1519:"7232540e",1638:"77510a09",1812:"698dac37",1891:"ddd45ac8",1948:"2ef51344",1962:"63e7d659",1979:"bccbf329",2130:"e6557b6f",2132:"73bb290b",2143:"0e046e27",2289:"3e753cd6",2314:"a377b775",2744:"733fd614",2839:"760c21a9",2840:"2773c291",2973:"077e182c",3085:"1f391b9e",3110:"b478df71",3143:"acaa9510",3183:"ba4c4c42",3218:"c414bc73",3234:"bf5678db",3281:"b73968e4",3320:"bef7336c",3327:"453d2cf9",3520:"45762ba8",3567:"13dac574",3580:"393ba31b",3587:"72032a86",3635:"b8a88df5",3827:"d8d94b5c",3966:"27d3c76c",4103:"6b8fde54",4140:"7041e121",4231:"f9345a93",4368:"a94703ab",4482:"41cfe910",4519:"858b8f4c",4535:"ffee4076",4642:"3aec8d28",4781:"0eadbdf8",5025:"72ce6c4c",5062:"5c02a21c",5083:"5e3fdd1e",5260:"99f9fbf2",5298:"d68d4af3",5299:"bcf25bf9",5449:"45483604",5529:"82b53ec7",5597:"b5a8c0e1",5806:"4748fea8",5825:"1f1a3550",5840:"20310182",5905:"859ae2ee",5950:"49313f96",5972:"38b1a18c",6030:"39643f54",6122:"8e39c1cc",6159:"d0914994",6180:"9c1c0c58",6292:"70010fe2",6385:"59b068d1",6393:"8cfdc86d",6410:"e82058ca",6541:"cf61109b",6614:"1cd70b93",6623:"17721d7a",6716:"2e44b5ea",6733:"6b87b92b",6890:"8ba0b14e",6962:"5edea9bf",7065:"c9ef35f2",7085:"894aac81",7130:"0886eaad",7132:"678a6c4e",7196:"588b3e90",7359:"3e90d946",7399:"dfcc6ccf",7546:"3b39eb61",7645:"a7434565",7655:"ea31ac95",7709:"fd615c45",7739:"38c0e729",7782:"5499eab5",7860:"ec707320",7885:"6315f7a9",7914:"f7fdec3a",7918:"17896441",7920:"1a4e3797",8010:"88f07c05",8109:"1136c95f",8152:"be23a2ab",8180:"398ec6ec",8182:"d6a329dc",8275:"c2914093",8430:"d03628f5",8473:"92b9ac0d",8518:"a7bd4aaa",8563:"bcc493bb",8614:"901f1f95",8633:"4575aa6b",8661:"6abe9687",8748:"791af571",8875:"5fb694b3",9018:"85c21da9",9049:"b1d9ab1e",9148:"f000fa6c",9152:"59841b15",9218:"1d32a22a",9334:"247783bb",9376:"43cf645b",9609:"7f1a228f",9653:"95f524cc",9661:"5e95c892",9704:"1190ec46",9765:"22fdb0f7",9771:"cbe58da9",9817:"14eb3368"}[e]||e)+"."+{17:"bc9e7881",53:"73867e17",266:"9cd6aa44",322:"13392148",325:"a9f260d4",369:"38e9b659",377:"105583c7",439:"f1c14351",448:"add4c0ee",525:"184eb4d1",526:"5e4eb90e",550:"bb2a92b6",645:"579d9e22",770:"56d634a9",1003:"334b916f",1208:"fada0973",1214:"4bd5d46a",1426:"5959ada0",1519:"b9cabbdc",1638:"0346f7c2",1772:"2bc0e7c1",1812:"980aa059",1891:"759b63a0",1948:"baadcb45",1962:"c6959bab",1979:"e68d3c4a",2130:"50d20a48",2132:"55e602a1",2143:"a4e7e6c0",2289:"f3d78cd8",2314:"5f517ae7",2744:"fcab5e10",2839:"f6dd4045",2840:"26e21b71",2973:"667869fc",3085:"bc8e431d",3110:"cdc79e3d",3143:"091c4ca8",3183:"a8123c3f",3218:"4947cae2",3234:"e86ee709",3281:"01f57e9a",3320:"9d9ebd51",3327:"8eea85f8",3520:"85ddc957",3567:"3bfe9b49",3580:"ab4a8d77",3587:"896fcd1d",3635:"b1c90f85",3827:"18aec2ee",3966:"b89450f0",4103:"40909172",4140:"a24142e3",4231:"7c0f3e07",4368:"4c6823be",4482:"f4f87819",4519:"5227ccec",4535:"5417aa53",4642:"6a65240a",4781:"4a38f7a2",5025:"6840c6b0",5062:"b2b7d4e5",5083:"ce4911de",5260:"363210a8",5298:"582efb54",5299:"8192b5ba",5449:"b1b5dfe5",5529:"ff6eaed4",5597:"80d128ff",5806:"f432381b",5825:"7d575724",5840:"3271bc3f",5905:"9b419d63",5950:"42450885",5972:"5c8709a2",6030:"3e39dba7",6122:"d14e2212",6159:"95c1cb0d",6180:"947bc157",6292:"da5b2495",6385:"9bf402a8",6393:"d1173454",6410:"1dd1111a",6541:"ce6fbde3",6614:"56b7ee6e",6623:"9aaf497a",6716:"5caa408a",6733:"ff90ebd7",6890:"6a34bc04",6945:"e6ca558a",6962:"8beb419c",7065:"8e03e2aa",7085:"5da80be0",7130:"e24a0440",7132:"b9e155e7",7196:"4ae0bd1a",7359:"a04e25dd",7399:"4e7ad1e7",7546:"ffd4de78",7645:"8a3a8041",7655:"efea0422",7709:"6ef75596",7739:"b0b360d0",7782:"80a715f1",7860:"6f47bc37",7885:"612169a0",7914:"a98e2ec3",7918:"aef42e8c",7920:"0382aa56",8010:"d1565c27",8109:"f8ad05b7",8152:"5730c3e5",8180:"42601cd8",8182:"5240927e",8275:"4548ea50",8430:"d4ef6d19",8473:"0a1223ae",8518:"d34dd8d0",8563:"efa18cd0",8614:"9b0d46a2",8633:"d6588503",8661:"58643202",8748:"9d3c4574",8875:"acf6cd77",8894:"547a1c8d",9018:"5e856d5c",9049:"cec02df7",9148:"5ba8c0f0",9152:"c2d072b2",9218:"20b0ce7b",9334:"dadfb5a6",9376:"dd589f94",9609:"ca767f9f",9653:"cd6085a2",9661:"c318c26e",9704:"86f8b519",9765:"6984722c",9771:"d8d4a038",9817:"7a4133f6"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="docs:",r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",20310182:"5840",45483604:"5449","333ace74":"17","935f2afb":"53",b213ac14:"266","283abc1e":"322",f0a0c15c:"369",efd8aafa:"377",e22dd37b:"439","4cacf3e6":"448",f6ca6b97:"525",a97a69dc:"526","105374d0":"550","413b7f27":"645","16d48d9c":"770","362a08a0":"1003",df871b03:"1208","735f4e8b":"1214","7232540e":"1519","77510a09":"1638","698dac37":"1812",ddd45ac8:"1891","2ef51344":"1948","63e7d659":"1962",bccbf329:"1979",e6557b6f:"2130","73bb290b":"2132","0e046e27":"2143","3e753cd6":"2289",a377b775:"2314","733fd614":"2744","760c21a9":"2839","2773c291":"2840","077e182c":"2973","1f391b9e":"3085",b478df71:"3110",acaa9510:"3143",ba4c4c42:"3183",c414bc73:"3218",bf5678db:"3234",b73968e4:"3281",bef7336c:"3320","453d2cf9":"3327","45762ba8":"3520","13dac574":"3567","393ba31b":"3580","72032a86":"3587",b8a88df5:"3635",d8d94b5c:"3827","27d3c76c":"3966","6b8fde54":"4103","7041e121":"4140",f9345a93:"4231",a94703ab:"4368","41cfe910":"4482","858b8f4c":"4519",ffee4076:"4535","3aec8d28":"4642","0eadbdf8":"4781","72ce6c4c":"5025","5c02a21c":"5062","5e3fdd1e":"5083","99f9fbf2":"5260",d68d4af3:"5298",bcf25bf9:"5299","82b53ec7":"5529",b5a8c0e1:"5597","4748fea8":"5806","1f1a3550":"5825","859ae2ee":"5905","49313f96":"5950","38b1a18c":"5972","39643f54":"6030","8e39c1cc":"6122",d0914994:"6159","9c1c0c58":"6180","70010fe2":"6292","59b068d1":"6385","8cfdc86d":"6393",e82058ca:"6410",cf61109b:"6541","1cd70b93":"6614","17721d7a":"6623","2e44b5ea":"6716","6b87b92b":"6733","8ba0b14e":"6890","5edea9bf":"6962",c9ef35f2:"7065","894aac81":"7085","0886eaad":"7130","678a6c4e":"7132","588b3e90":"7196","3e90d946":"7359",dfcc6ccf:"7399","3b39eb61":"7546",a7434565:"7645",ea31ac95:"7655",fd615c45:"7709","38c0e729":"7739","5499eab5":"7782",ec707320:"7860","6315f7a9":"7885",f7fdec3a:"7914","1a4e3797":"7920","88f07c05":"8010","1136c95f":"8109",be23a2ab:"8152","398ec6ec":"8180",d6a329dc:"8182",c2914093:"8275",d03628f5:"8430","92b9ac0d":"8473",a7bd4aaa:"8518",bcc493bb:"8563","901f1f95":"8614","4575aa6b":"8633","6abe9687":"8661","791af571":"8748","5fb694b3":"8875","85c21da9":"9018",b1d9ab1e:"9049",f000fa6c:"9148","59841b15":"9152","1d32a22a":"9218","247783bb":"9334","43cf645b":"9376","7f1a228f":"9609","95f524cc":"9653","5e95c892":"9661","1190ec46":"9704","22fdb0f7":"9765",cbe58da9:"9771","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return d[e].call(c.exports,c,c.exports,r),c.exports}r.m=d,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({17:"333ace74",53:"935f2afb",266:"b213ac14",322:"283abc1e",369:"f0a0c15c",377:"efd8aafa",439:"e22dd37b",448:"4cacf3e6",525:"f6ca6b97",526:"a97a69dc",550:"105374d0",645:"413b7f27",770:"16d48d9c",1003:"362a08a0",1208:"df871b03",1214:"735f4e8b",1519:"7232540e",1638:"77510a09",1812:"698dac37",1891:"ddd45ac8",1948:"2ef51344",1962:"63e7d659",1979:"bccbf329",2130:"e6557b6f",2132:"73bb290b",2143:"0e046e27",2289:"3e753cd6",2314:"a377b775",2744:"733fd614",2839:"760c21a9",2840:"2773c291",2973:"077e182c",3085:"1f391b9e",3110:"b478df71",3143:"acaa9510",3183:"ba4c4c42",3218:"c414bc73",3234:"bf5678db",3281:"b73968e4",3320:"bef7336c",3327:"453d2cf9",3520:"45762ba8",3567:"13dac574",3580:"393ba31b",3587:"72032a86",3635:"b8a88df5",3827:"d8d94b5c",3966:"27d3c76c",4103:"6b8fde54",4140:"7041e121",4231:"f9345a93",4368:"a94703ab",4482:"41cfe910",4519:"858b8f4c",4535:"ffee4076",4642:"3aec8d28",4781:"0eadbdf8",5025:"72ce6c4c",5062:"5c02a21c",5083:"5e3fdd1e",5260:"99f9fbf2",5298:"d68d4af3",5299:"bcf25bf9",5449:"45483604",5529:"82b53ec7",5597:"b5a8c0e1",5806:"4748fea8",5825:"1f1a3550",5840:"20310182",5905:"859ae2ee",5950:"49313f96",5972:"38b1a18c",6030:"39643f54",6122:"8e39c1cc",6159:"d0914994",6180:"9c1c0c58",6292:"70010fe2",6385:"59b068d1",6393:"8cfdc86d",6410:"e82058ca",6541:"cf61109b",6614:"1cd70b93",6623:"17721d7a",6716:"2e44b5ea",6733:"6b87b92b",6890:"8ba0b14e",6962:"5edea9bf",7065:"c9ef35f2",7085:"894aac81",7130:"0886eaad",7132:"678a6c4e",7196:"588b3e90",7359:"3e90d946",7399:"dfcc6ccf",7546:"3b39eb61",7645:"a7434565",7655:"ea31ac95",7709:"fd615c45",7739:"38c0e729",7782:"5499eab5",7860:"ec707320",7885:"6315f7a9",7914:"f7fdec3a",7918:"17896441",7920:"1a4e3797",8010:"88f07c05",8109:"1136c95f",8152:"be23a2ab",8180:"398ec6ec",8182:"d6a329dc",8275:"c2914093",8430:"d03628f5",8473:"92b9ac0d",8518:"a7bd4aaa",8563:"bcc493bb",8614:"901f1f95",8633:"4575aa6b",8661:"6abe9687",8748:"791af571",8875:"5fb694b3",9018:"85c21da9",9049:"b1d9ab1e",9148:"f000fa6c",9152:"59841b15",9218:"1d32a22a",9334:"247783bb",9376:"43cf645b",9609:"7f1a228f",9653:"95f524cc",9661:"5e95c892",9704:"1190ec46",9765:"22fdb0f7",9771:"cbe58da9",9817:"14eb3368"}[e]||e)+"."+{17:"bc9e7881",53:"73867e17",266:"9cd6aa44",322:"13392148",325:"a9f260d4",369:"38e9b659",377:"105583c7",439:"f1c14351",448:"add4c0ee",525:"184eb4d1",526:"5e4eb90e",550:"bb2a92b6",645:"579d9e22",770:"56d634a9",1003:"334b916f",1208:"fada0973",1214:"4bd5d46a",1426:"5959ada0",1519:"b9cabbdc",1638:"0346f7c2",1772:"2bc0e7c1",1812:"980aa059",1891:"759b63a0",1948:"baadcb45",1962:"c6959bab",1979:"e68d3c4a",2130:"50d20a48",2132:"55e602a1",2143:"a4e7e6c0",2289:"f3d78cd8",2314:"5f517ae7",2744:"fcab5e10",2839:"f6dd4045",2840:"26e21b71",2973:"667869fc",3085:"bc8e431d",3110:"cdc79e3d",3143:"091c4ca8",3183:"a8123c3f",3218:"4947cae2",3234:"e86ee709",3281:"01f57e9a",3320:"9d9ebd51",3327:"8eea85f8",3520:"85ddc957",3567:"3bfe9b49",3580:"ab4a8d77",3587:"896fcd1d",3635:"b1c90f85",3827:"18aec2ee",3966:"b89450f0",4103:"40909172",4140:"a24142e3",4231:"7c0f3e07",4368:"4c6823be",4482:"f4f87819",4519:"5227ccec",4535:"5417aa53",4642:"6a65240a",4781:"2ca59d6f",5025:"6840c6b0",5062:"b2b7d4e5",5083:"ce4911de",5260:"363210a8",5298:"582efb54",5299:"8192b5ba",5449:"b1b5dfe5",5529:"ff6eaed4",5597:"80d128ff",5806:"f432381b",5825:"7d575724",5840:"3271bc3f",5905:"9b419d63",5950:"42450885",5972:"5c8709a2",6030:"3e39dba7",6122:"d14e2212",6159:"95c1cb0d",6180:"947bc157",6292:"da5b2495",6385:"9bf402a8",6393:"d1173454",6410:"1dd1111a",6541:"ce6fbde3",6614:"56b7ee6e",6623:"9aaf497a",6716:"5caa408a",6733:"ff90ebd7",6890:"6a34bc04",6945:"e6ca558a",6962:"8beb419c",7065:"8e03e2aa",7085:"5da80be0",7130:"e24a0440",7132:"b9e155e7",7196:"4ae0bd1a",7359:"a04e25dd",7399:"4e7ad1e7",7546:"ffd4de78",7645:"8a3a8041",7655:"efea0422",7709:"6ef75596",7739:"b0b360d0",7782:"80a715f1",7860:"6f47bc37",7885:"612169a0",7914:"a98e2ec3",7918:"aef42e8c",7920:"0382aa56",8010:"d1565c27",8109:"f8ad05b7",8152:"5730c3e5",8180:"42601cd8",8182:"5240927e",8275:"4548ea50",8430:"d4ef6d19",8473:"0a1223ae",8518:"d34dd8d0",8563:"efa18cd0",8614:"9b0d46a2",8633:"d6588503",8661:"58643202",8748:"9d3c4574",8875:"acf6cd77",8894:"547a1c8d",9018:"5e856d5c",9049:"cec02df7",9148:"5ba8c0f0",9152:"c2d072b2",9218:"20b0ce7b",9334:"dadfb5a6",9376:"dd589f94",9609:"ca767f9f",9653:"cd6085a2",9661:"c318c26e",9704:"86f8b519",9765:"6984722c",9771:"d8d4a038",9817:"7a4133f6"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="docs:",r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",20310182:"5840",45483604:"5449","333ace74":"17","935f2afb":"53",b213ac14:"266","283abc1e":"322",f0a0c15c:"369",efd8aafa:"377",e22dd37b:"439","4cacf3e6":"448",f6ca6b97:"525",a97a69dc:"526","105374d0":"550","413b7f27":"645","16d48d9c":"770","362a08a0":"1003",df871b03:"1208","735f4e8b":"1214","7232540e":"1519","77510a09":"1638","698dac37":"1812",ddd45ac8:"1891","2ef51344":"1948","63e7d659":"1962",bccbf329:"1979",e6557b6f:"2130","73bb290b":"2132","0e046e27":"2143","3e753cd6":"2289",a377b775:"2314","733fd614":"2744","760c21a9":"2839","2773c291":"2840","077e182c":"2973","1f391b9e":"3085",b478df71:"3110",acaa9510:"3143",ba4c4c42:"3183",c414bc73:"3218",bf5678db:"3234",b73968e4:"3281",bef7336c:"3320","453d2cf9":"3327","45762ba8":"3520","13dac574":"3567","393ba31b":"3580","72032a86":"3587",b8a88df5:"3635",d8d94b5c:"3827","27d3c76c":"3966","6b8fde54":"4103","7041e121":"4140",f9345a93:"4231",a94703ab:"4368","41cfe910":"4482","858b8f4c":"4519",ffee4076:"4535","3aec8d28":"4642","0eadbdf8":"4781","72ce6c4c":"5025","5c02a21c":"5062","5e3fdd1e":"5083","99f9fbf2":"5260",d68d4af3:"5298",bcf25bf9:"5299","82b53ec7":"5529",b5a8c0e1:"5597","4748fea8":"5806","1f1a3550":"5825","859ae2ee":"5905","49313f96":"5950","38b1a18c":"5972","39643f54":"6030","8e39c1cc":"6122",d0914994:"6159","9c1c0c58":"6180","70010fe2":"6292","59b068d1":"6385","8cfdc86d":"6393",e82058ca:"6410",cf61109b:"6541","1cd70b93":"6614","17721d7a":"6623","2e44b5ea":"6716","6b87b92b":"6733","8ba0b14e":"6890","5edea9bf":"6962",c9ef35f2:"7065","894aac81":"7085","0886eaad":"7130","678a6c4e":"7132","588b3e90":"7196","3e90d946":"7359",dfcc6ccf:"7399","3b39eb61":"7546",a7434565:"7645",ea31ac95:"7655",fd615c45:"7709","38c0e729":"7739","5499eab5":"7782",ec707320:"7860","6315f7a9":"7885",f7fdec3a:"7914","1a4e3797":"7920","88f07c05":"8010","1136c95f":"8109",be23a2ab:"8152","398ec6ec":"8180",d6a329dc:"8182",c2914093:"8275",d03628f5:"8430","92b9ac0d":"8473",a7bd4aaa:"8518",bcc493bb:"8563","901f1f95":"8614","4575aa6b":"8633","6abe9687":"8661","791af571":"8748","5fb694b3":"8875","85c21da9":"9018",b1d9ab1e:"9049",f000fa6c:"9148","59841b15":"9152","1d32a22a":"9218","247783bb":"9334","43cf645b":"9376","7f1a228f":"9609","95f524cc":"9653","5e95c892":"9661","1190ec46":"9704","22fdb0f7":"9765",cbe58da9:"9771","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n Benchmarking | Skytable - + diff --git a/blueql/dcl/index.html b/blueql/dcl/index.html index 203455653..46a79641c 100644 --- a/blueql/dcl/index.html +++ b/blueql/dcl/index.html @@ -4,7 +4,7 @@ DCL | Skytable - + diff --git a/blueql/ddl/index.html b/blueql/ddl/index.html index 8fe1f6ab6..9d32037b0 100644 --- a/blueql/ddl/index.html +++ b/blueql/ddl/index.html @@ -4,7 +4,7 @@ DDL | Skytable - + diff --git a/blueql/dml/index.html b/blueql/dml/index.html index 7b0999fbf..bf9eb806f 100644 --- a/blueql/dml/index.html +++ b/blueql/dml/index.html @@ -4,7 +4,7 @@ DML | Skytable - + diff --git a/blueql/overview/index.html b/blueql/overview/index.html index 889c8d629..a568620ca 100644 --- a/blueql/overview/index.html +++ b/blueql/overview/index.html @@ -4,7 +4,7 @@ Overview | Skytable - + diff --git a/category/blueql/index.html b/category/blueql/index.html index c5e096c98..d95b45b1e 100644 --- a/category/blueql/index.html +++ b/category/blueql/index.html @@ -4,7 +4,7 @@ BlueQL | Skytable - + diff --git a/category/system-management/index.html b/category/system-management/index.html index 1b76eac2a..0bce6d922 100644 --- a/category/system-management/index.html +++ b/category/system-management/index.html @@ -4,7 +4,7 @@ System Management | Skytable - + diff --git a/deployment/index.html b/deployment/index.html index 1c8350b70..7c2f0e8b9 100644 --- a/deployment/index.html +++ b/deployment/index.html @@ -4,7 +4,7 @@ Deployment | Skytable - + diff --git a/index.html b/index.html index 0515c9ddb..2920f643f 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Introduction | Skytable - + diff --git a/installation/index.html b/installation/index.html index 195c31b0e..3160e3c67 100644 --- a/installation/index.html +++ b/installation/index.html @@ -4,7 +4,7 @@ Installation | Skytable - + diff --git a/libraries/index.html b/libraries/index.html index 3dfb871de..8f65b9694 100644 --- a/libraries/index.html +++ b/libraries/index.html @@ -4,7 +4,7 @@ Client drivers | Skytable - + diff --git a/limits/index.html b/limits/index.html index 5eae22312..44a573285 100644 --- a/limits/index.html +++ b/limits/index.html @@ -4,7 +4,7 @@ Limits | Skytable - + diff --git a/protocol/errors/index.html b/protocol/errors/index.html index bfc43a088..06e458780 100644 --- a/protocol/errors/index.html +++ b/protocol/errors/index.html @@ -4,7 +4,7 @@ Errors | Skytable - + diff --git a/protocol/networking/index.html b/protocol/networking/index.html index a2b21b68c..063b56df0 100644 --- a/protocol/networking/index.html +++ b/protocol/networking/index.html @@ -4,7 +4,7 @@ Networking | Skytable - + diff --git a/protocol/overview/index.html b/protocol/overview/index.html index b6b0fdfcf..eecd062cc 100644 --- a/protocol/overview/index.html +++ b/protocol/overview/index.html @@ -4,7 +4,7 @@ Skyhash 2 — Protocol Overview | Skytable - + diff --git a/resources/migration/index.html b/resources/migration/index.html index 2a2f0487a..de84c4b65 100644 --- a/resources/migration/index.html +++ b/resources/migration/index.html @@ -4,7 +4,7 @@ Migrating from an older release | Skytable - + diff --git a/resources/overview/index.html b/resources/overview/index.html index ca288d52a..be01cc4ed 100644 --- a/resources/overview/index.html +++ b/resources/overview/index.html @@ -4,7 +4,7 @@ Resources | Skytable - + diff --git a/search/index.html b/search/index.html index 36626d336..a7cd266fa 100644 --- a/search/index.html +++ b/search/index.html @@ -4,7 +4,7 @@ Search the documentation | Skytable - + diff --git a/system/administration/index.html b/system/administration/index.html index 4a396d1b8..41ec00013 100644 --- a/system/administration/index.html +++ b/system/administration/index.html @@ -4,7 +4,7 @@ Administration | Skytable - + diff --git a/system/configuration/index.html b/system/configuration/index.html index 5712145b9..24e10522b 100644 --- a/system/configuration/index.html +++ b/system/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Skytable - + diff --git a/using-the-repl/index.html b/using-the-repl/index.html index 2d0a5d1cf..a59d9c363 100644 --- a/using-the-repl/index.html +++ b/using-the-repl/index.html @@ -4,7 +4,7 @@ Using the REPL | Skytable - + diff --git a/versions/index.html b/versions/index.html index 74f9e9ade..91912d6d0 100644 --- a/versions/index.html +++ b/versions/index.html @@ -4,7 +4,7 @@ All versions | Skytable - +