blob: 4b14ac876e84d8d5ab73657ad7d7ef56e4ffcb31 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title> </title>
<meta name="generator" content="VuePress 1.7.1">
<link rel="icon" href="/favicon.ico">
<meta name="description" content=" ">
<meta name="Description" content="Apache IoTDB: Time Series Database for IoT">
<meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management,时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据">
<meta name="baidu-site-verification" content="wfKETzB3OT">
<meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo">
<link rel="preload" href="/assets/css/0.styles.679f71b6.css" as="style"><link rel="preload" href="/assets/js/app.ee472f44.js" as="script"><link rel="preload" href="/assets/js/3.49f0f20a.js" as="script"><link rel="preload" href="/assets/js/36.d1e9d19f.js" as="script"><link rel="prefetch" href="/assets/js/10.a9e4399a.js"><link rel="prefetch" href="/assets/js/100.68c72120.js"><link rel="prefetch" href="/assets/js/101.b6fa0a59.js"><link rel="prefetch" href="/assets/js/102.a64e2bb2.js"><link rel="prefetch" href="/assets/js/103.3e232964.js"><link rel="prefetch" href="/assets/js/104.12a0c146.js"><link rel="prefetch" href="/assets/js/105.c82addea.js"><link rel="prefetch" href="/assets/js/106.d95539e1.js"><link rel="prefetch" href="/assets/js/107.3a8e4204.js"><link rel="prefetch" href="/assets/js/108.445910dc.js"><link rel="prefetch" href="/assets/js/109.e592a10a.js"><link rel="prefetch" href="/assets/js/11.1a825151.js"><link rel="prefetch" href="/assets/js/110.f2ff7f26.js"><link rel="prefetch" href="/assets/js/111.ce7b4bb8.js"><link rel="prefetch" href="/assets/js/112.c0fb665c.js"><link rel="prefetch" href="/assets/js/113.27feecaf.js"><link rel="prefetch" href="/assets/js/114.4610bfa2.js"><link rel="prefetch" href="/assets/js/115.0857c1d6.js"><link rel="prefetch" href="/assets/js/116.530d568b.js"><link rel="prefetch" href="/assets/js/117.9deade83.js"><link rel="prefetch" href="/assets/js/118.cbb62265.js"><link rel="prefetch" href="/assets/js/119.8822d43b.js"><link rel="prefetch" href="/assets/js/12.4679de68.js"><link rel="prefetch" href="/assets/js/120.355ddd53.js"><link rel="prefetch" href="/assets/js/121.94505f4a.js"><link rel="prefetch" href="/assets/js/122.6c825584.js"><link rel="prefetch" href="/assets/js/123.d2965d60.js"><link rel="prefetch" href="/assets/js/124.bb17af3e.js"><link rel="prefetch" href="/assets/js/125.a523475b.js"><link rel="prefetch" href="/assets/js/126.309eb2a0.js"><link rel="prefetch" href="/assets/js/127.31f131d5.js"><link rel="prefetch" href="/assets/js/128.d6961094.js"><link rel="prefetch" href="/assets/js/129.9f80c586.js"><link rel="prefetch" href="/assets/js/13.821d2576.js"><link rel="prefetch" href="/assets/js/130.8b3034e2.js"><link rel="prefetch" href="/assets/js/131.5c952a0b.js"><link rel="prefetch" href="/assets/js/132.9b312915.js"><link rel="prefetch" href="/assets/js/133.229545d4.js"><link rel="prefetch" href="/assets/js/134.6ef84d4d.js"><link rel="prefetch" href="/assets/js/135.63dcccc3.js"><link rel="prefetch" href="/assets/js/136.693bbb9e.js"><link rel="prefetch" href="/assets/js/137.065787a2.js"><link rel="prefetch" href="/assets/js/138.199d56aa.js"><link rel="prefetch" href="/assets/js/139.93368911.js"><link rel="prefetch" href="/assets/js/14.f2409887.js"><link rel="prefetch" href="/assets/js/140.cb3339d6.js"><link rel="prefetch" href="/assets/js/141.0ffa040d.js"><link rel="prefetch" href="/assets/js/142.c3e197d4.js"><link rel="prefetch" href="/assets/js/143.9e4dc6ae.js"><link rel="prefetch" href="/assets/js/144.27249482.js"><link rel="prefetch" href="/assets/js/145.f9305e04.js"><link rel="prefetch" href="/assets/js/146.a953796c.js"><link rel="prefetch" href="/assets/js/147.5ffa8a4e.js"><link rel="prefetch" href="/assets/js/148.5f5c0ad8.js"><link rel="prefetch" href="/assets/js/149.6690aae1.js"><link rel="prefetch" href="/assets/js/15.9354febe.js"><link rel="prefetch" href="/assets/js/150.36dae2d3.js"><link rel="prefetch" href="/assets/js/151.2ca29374.js"><link rel="prefetch" href="/assets/js/152.fceb9b61.js"><link rel="prefetch" href="/assets/js/153.93489dbc.js"><link rel="prefetch" href="/assets/js/154.d9c14ff8.js"><link rel="prefetch" href="/assets/js/155.b6eec7f7.js"><link rel="prefetch" href="/assets/js/156.8718f8bc.js"><link rel="prefetch" href="/assets/js/157.8484231e.js"><link rel="prefetch" href="/assets/js/158.d1755131.js"><link rel="prefetch" href="/assets/js/159.8a8be7d5.js"><link rel="prefetch" href="/assets/js/16.590590ab.js"><link rel="prefetch" href="/assets/js/160.67e2efd2.js"><link rel="prefetch" href="/assets/js/161.0e22ffff.js"><link rel="prefetch" href="/assets/js/162.f47c5fdc.js"><link rel="prefetch" href="/assets/js/163.da74b426.js"><link rel="prefetch" href="/assets/js/164.f88f06d5.js"><link rel="prefetch" href="/assets/js/165.9a1b5b41.js"><link rel="prefetch" href="/assets/js/166.8832a7a4.js"><link rel="prefetch" href="/assets/js/167.ff58fb1f.js"><link rel="prefetch" href="/assets/js/168.9a351c30.js"><link rel="prefetch" href="/assets/js/169.23c06c42.js"><link rel="prefetch" href="/assets/js/17.4cb5664d.js"><link rel="prefetch" href="/assets/js/170.ea0af6cf.js"><link rel="prefetch" href="/assets/js/171.e11e1bb7.js"><link rel="prefetch" href="/assets/js/172.273f4d56.js"><link rel="prefetch" href="/assets/js/173.fca03089.js"><link rel="prefetch" href="/assets/js/174.434334ff.js"><link rel="prefetch" href="/assets/js/175.a8acb6b2.js"><link rel="prefetch" href="/assets/js/176.a1c55473.js"><link rel="prefetch" href="/assets/js/177.ebb38cec.js"><link rel="prefetch" href="/assets/js/178.79b8a327.js"><link rel="prefetch" href="/assets/js/179.6319af14.js"><link rel="prefetch" href="/assets/js/18.f5fe433e.js"><link rel="prefetch" href="/assets/js/180.28a1d783.js"><link rel="prefetch" href="/assets/js/181.a29f39c5.js"><link rel="prefetch" href="/assets/js/182.9f3d9c76.js"><link rel="prefetch" href="/assets/js/183.338ae9a8.js"><link rel="prefetch" href="/assets/js/184.18c28159.js"><link rel="prefetch" href="/assets/js/185.05381100.js"><link rel="prefetch" href="/assets/js/186.ce9412eb.js"><link rel="prefetch" href="/assets/js/187.30a80942.js"><link rel="prefetch" href="/assets/js/188.5a77f986.js"><link rel="prefetch" href="/assets/js/189.f34dc967.js"><link rel="prefetch" href="/assets/js/19.d02f7224.js"><link rel="prefetch" href="/assets/js/190.d9762047.js"><link rel="prefetch" href="/assets/js/191.8c52689f.js"><link rel="prefetch" href="/assets/js/192.10ae9786.js"><link rel="prefetch" href="/assets/js/193.4a83ff5f.js"><link rel="prefetch" href="/assets/js/194.1d9f888b.js"><link rel="prefetch" href="/assets/js/195.ac95d80c.js"><link rel="prefetch" href="/assets/js/196.305a7cc8.js"><link rel="prefetch" href="/assets/js/197.3950b155.js"><link rel="prefetch" href="/assets/js/198.60367e76.js"><link rel="prefetch" href="/assets/js/199.a5eec1cf.js"><link rel="prefetch" href="/assets/js/20.02900ba2.js"><link rel="prefetch" href="/assets/js/200.7b42f970.js"><link rel="prefetch" href="/assets/js/201.c176b7b8.js"><link rel="prefetch" href="/assets/js/202.eb6989b5.js"><link rel="prefetch" href="/assets/js/203.77522ed7.js"><link rel="prefetch" href="/assets/js/204.d5e4c11b.js"><link rel="prefetch" href="/assets/js/205.b174d51b.js"><link rel="prefetch" href="/assets/js/206.4c489028.js"><link rel="prefetch" href="/assets/js/207.afdf032a.js"><link rel="prefetch" href="/assets/js/208.e5a0bdd5.js"><link rel="prefetch" href="/assets/js/209.67c9cab8.js"><link rel="prefetch" href="/assets/js/21.3b6ef7f6.js"><link rel="prefetch" href="/assets/js/210.99085605.js"><link rel="prefetch" href="/assets/js/211.62045ced.js"><link rel="prefetch" href="/assets/js/212.5d4b9b33.js"><link rel="prefetch" href="/assets/js/213.8d2fc243.js"><link rel="prefetch" href="/assets/js/214.081b8259.js"><link rel="prefetch" href="/assets/js/215.a9c42b7b.js"><link rel="prefetch" href="/assets/js/216.e4177064.js"><link rel="prefetch" href="/assets/js/217.00d389be.js"><link rel="prefetch" href="/assets/js/218.53691557.js"><link rel="prefetch" href="/assets/js/219.fce8476d.js"><link rel="prefetch" href="/assets/js/22.ab7a2af8.js"><link rel="prefetch" href="/assets/js/220.8ca717ad.js"><link rel="prefetch" href="/assets/js/221.b774095e.js"><link rel="prefetch" href="/assets/js/222.abb49f0a.js"><link rel="prefetch" href="/assets/js/223.506eb112.js"><link rel="prefetch" href="/assets/js/224.7e33133f.js"><link rel="prefetch" href="/assets/js/225.4443cf9b.js"><link rel="prefetch" href="/assets/js/226.5d64564f.js"><link rel="prefetch" href="/assets/js/227.e647cf42.js"><link rel="prefetch" href="/assets/js/228.7b8e1561.js"><link rel="prefetch" href="/assets/js/229.c6b936b3.js"><link rel="prefetch" href="/assets/js/23.b428286f.js"><link rel="prefetch" href="/assets/js/230.484dfbbc.js"><link rel="prefetch" href="/assets/js/231.04cb07f3.js"><link rel="prefetch" href="/assets/js/232.cb5f7cf4.js"><link rel="prefetch" href="/assets/js/233.fd5563aa.js"><link rel="prefetch" href="/assets/js/234.bf0c8bd7.js"><link rel="prefetch" href="/assets/js/235.c910d0ff.js"><link rel="prefetch" href="/assets/js/236.2fa96a32.js"><link rel="prefetch" href="/assets/js/237.4d40bac8.js"><link rel="prefetch" href="/assets/js/238.8f8a5f39.js"><link rel="prefetch" href="/assets/js/239.8c8e2f64.js"><link rel="prefetch" href="/assets/js/24.a3749d36.js"><link rel="prefetch" href="/assets/js/240.b662bcd8.js"><link rel="prefetch" href="/assets/js/241.04b9e3ed.js"><link rel="prefetch" href="/assets/js/242.bae1b833.js"><link rel="prefetch" href="/assets/js/243.174da90a.js"><link rel="prefetch" href="/assets/js/244.1ad856fc.js"><link rel="prefetch" href="/assets/js/245.a622849c.js"><link rel="prefetch" href="/assets/js/246.dc04cc61.js"><link rel="prefetch" href="/assets/js/247.d9f48a2f.js"><link rel="prefetch" href="/assets/js/248.85018b5a.js"><link rel="prefetch" href="/assets/js/249.6ba9e6c7.js"><link rel="prefetch" href="/assets/js/25.bc6a97e8.js"><link rel="prefetch" href="/assets/js/250.9ca65c13.js"><link rel="prefetch" href="/assets/js/251.8f4abe5e.js"><link rel="prefetch" href="/assets/js/252.cb8b4901.js"><link rel="prefetch" href="/assets/js/253.e43c464a.js"><link rel="prefetch" href="/assets/js/254.bc5748be.js"><link rel="prefetch" href="/assets/js/255.ad9c3e74.js"><link rel="prefetch" href="/assets/js/256.48bf6b1c.js"><link rel="prefetch" href="/assets/js/257.aae9e4a7.js"><link rel="prefetch" href="/assets/js/258.d27a0224.js"><link rel="prefetch" href="/assets/js/259.8b338cff.js"><link rel="prefetch" href="/assets/js/26.81ae73cb.js"><link rel="prefetch" href="/assets/js/260.9302e533.js"><link rel="prefetch" href="/assets/js/261.ea1ed48a.js"><link rel="prefetch" href="/assets/js/262.08d81cca.js"><link rel="prefetch" href="/assets/js/263.c2598230.js"><link rel="prefetch" href="/assets/js/264.89fadf4b.js"><link rel="prefetch" href="/assets/js/265.9e7e3b87.js"><link rel="prefetch" href="/assets/js/266.63098760.js"><link rel="prefetch" href="/assets/js/267.df285aaf.js"><link rel="prefetch" href="/assets/js/268.56ef99a0.js"><link rel="prefetch" href="/assets/js/269.86c3bd00.js"><link rel="prefetch" href="/assets/js/27.5361988c.js"><link rel="prefetch" href="/assets/js/270.69d8c77d.js"><link rel="prefetch" href="/assets/js/271.49550e05.js"><link rel="prefetch" href="/assets/js/272.bf7fe25a.js"><link rel="prefetch" href="/assets/js/273.bac87430.js"><link rel="prefetch" href="/assets/js/274.1a5b6778.js"><link rel="prefetch" href="/assets/js/275.59d1fe0c.js"><link rel="prefetch" href="/assets/js/276.c21f1bb7.js"><link rel="prefetch" href="/assets/js/277.3416c059.js"><link rel="prefetch" href="/assets/js/278.1e47cbc9.js"><link rel="prefetch" href="/assets/js/279.a285ca6b.js"><link rel="prefetch" href="/assets/js/28.902cf242.js"><link rel="prefetch" href="/assets/js/280.b1cfd58b.js"><link rel="prefetch" href="/assets/js/281.5014dd8c.js"><link rel="prefetch" href="/assets/js/282.f46c3f5f.js"><link rel="prefetch" href="/assets/js/283.c8fa806b.js"><link rel="prefetch" href="/assets/js/284.1bca3237.js"><link rel="prefetch" href="/assets/js/285.ca102a1f.js"><link rel="prefetch" href="/assets/js/286.312b549d.js"><link rel="prefetch" href="/assets/js/287.56daf71d.js"><link rel="prefetch" href="/assets/js/288.4d6ee237.js"><link rel="prefetch" href="/assets/js/289.8990a52d.js"><link rel="prefetch" href="/assets/js/29.8878a84b.js"><link rel="prefetch" href="/assets/js/290.79c4d4bb.js"><link rel="prefetch" href="/assets/js/291.e39a8f59.js"><link rel="prefetch" href="/assets/js/292.09b1dbf3.js"><link rel="prefetch" href="/assets/js/293.c11758cc.js"><link rel="prefetch" href="/assets/js/294.efe1c620.js"><link rel="prefetch" href="/assets/js/295.9a4ce682.js"><link rel="prefetch" href="/assets/js/296.5d55e2b4.js"><link rel="prefetch" href="/assets/js/297.0c74b494.js"><link rel="prefetch" href="/assets/js/298.61015025.js"><link rel="prefetch" href="/assets/js/299.95b2a709.js"><link rel="prefetch" href="/assets/js/30.144a5c6c.js"><link rel="prefetch" href="/assets/js/300.1ded6f5a.js"><link rel="prefetch" href="/assets/js/301.0c60ca57.js"><link rel="prefetch" href="/assets/js/302.a4e4ce29.js"><link rel="prefetch" href="/assets/js/303.f51290d8.js"><link rel="prefetch" href="/assets/js/304.5b9d354a.js"><link rel="prefetch" href="/assets/js/305.4fc3fa36.js"><link rel="prefetch" href="/assets/js/306.d2ccf3d8.js"><link rel="prefetch" href="/assets/js/307.137ddc6c.js"><link rel="prefetch" href="/assets/js/308.d093842e.js"><link rel="prefetch" href="/assets/js/309.8d85e9c5.js"><link rel="prefetch" href="/assets/js/31.03034f21.js"><link rel="prefetch" href="/assets/js/310.610cadf2.js"><link rel="prefetch" href="/assets/js/311.3f9bc269.js"><link rel="prefetch" href="/assets/js/312.ac085561.js"><link rel="prefetch" href="/assets/js/313.39e131a4.js"><link rel="prefetch" href="/assets/js/314.62ae7afd.js"><link rel="prefetch" href="/assets/js/315.312dd0ad.js"><link rel="prefetch" href="/assets/js/316.3daa3b97.js"><link rel="prefetch" href="/assets/js/317.385cce00.js"><link rel="prefetch" href="/assets/js/318.6e75f908.js"><link rel="prefetch" href="/assets/js/319.4a8516ae.js"><link rel="prefetch" href="/assets/js/32.bad93e79.js"><link rel="prefetch" href="/assets/js/320.e6ea8799.js"><link rel="prefetch" href="/assets/js/321.c192a35e.js"><link rel="prefetch" href="/assets/js/322.c675d3fd.js"><link rel="prefetch" href="/assets/js/323.cf867cd9.js"><link rel="prefetch" href="/assets/js/324.38af9dd2.js"><link rel="prefetch" href="/assets/js/325.dd39b2de.js"><link rel="prefetch" href="/assets/js/326.b3197783.js"><link rel="prefetch" href="/assets/js/327.7ab3256f.js"><link rel="prefetch" href="/assets/js/328.a51703c6.js"><link rel="prefetch" href="/assets/js/329.d4f2f214.js"><link rel="prefetch" href="/assets/js/33.00e7d6b5.js"><link rel="prefetch" href="/assets/js/330.1fb7bbad.js"><link rel="prefetch" href="/assets/js/331.52605dbf.js"><link rel="prefetch" href="/assets/js/332.58cff2f4.js"><link rel="prefetch" href="/assets/js/333.fa7136ab.js"><link rel="prefetch" href="/assets/js/334.0de0062b.js"><link rel="prefetch" href="/assets/js/335.a5e18bb9.js"><link rel="prefetch" href="/assets/js/336.448ec9fa.js"><link rel="prefetch" href="/assets/js/337.c877f6df.js"><link rel="prefetch" href="/assets/js/338.e071e415.js"><link rel="prefetch" href="/assets/js/339.194f47f4.js"><link rel="prefetch" href="/assets/js/34.44ac5494.js"><link rel="prefetch" href="/assets/js/340.5755d00b.js"><link rel="prefetch" href="/assets/js/341.070a9aed.js"><link rel="prefetch" href="/assets/js/342.35edcb5e.js"><link rel="prefetch" href="/assets/js/343.a86abe3e.js"><link rel="prefetch" href="/assets/js/344.22456a86.js"><link rel="prefetch" href="/assets/js/345.054131fa.js"><link rel="prefetch" href="/assets/js/346.d850e5ce.js"><link rel="prefetch" href="/assets/js/347.7b8936a1.js"><link rel="prefetch" href="/assets/js/348.5ee2b670.js"><link rel="prefetch" href="/assets/js/349.f37573c7.js"><link rel="prefetch" href="/assets/js/35.7f32ce73.js"><link rel="prefetch" href="/assets/js/350.312ee288.js"><link rel="prefetch" href="/assets/js/351.aabc93dc.js"><link rel="prefetch" href="/assets/js/352.99aa4418.js"><link rel="prefetch" href="/assets/js/353.9c90d422.js"><link rel="prefetch" href="/assets/js/354.8a7c72b5.js"><link rel="prefetch" href="/assets/js/355.1008fd17.js"><link rel="prefetch" href="/assets/js/356.546f7242.js"><link rel="prefetch" href="/assets/js/357.3f84c383.js"><link rel="prefetch" href="/assets/js/358.57ab0f48.js"><link rel="prefetch" href="/assets/js/359.715ee9c0.js"><link rel="prefetch" href="/assets/js/360.92093399.js"><link rel="prefetch" href="/assets/js/361.8e8a2657.js"><link rel="prefetch" href="/assets/js/362.c6796915.js"><link rel="prefetch" href="/assets/js/363.e17af86a.js"><link rel="prefetch" href="/assets/js/364.6274b87c.js"><link rel="prefetch" href="/assets/js/365.211ac0fc.js"><link rel="prefetch" href="/assets/js/366.e5297f1f.js"><link rel="prefetch" href="/assets/js/367.d778a1f0.js"><link rel="prefetch" href="/assets/js/368.d55765fc.js"><link rel="prefetch" href="/assets/js/369.d357817a.js"><link rel="prefetch" href="/assets/js/37.3351af87.js"><link rel="prefetch" href="/assets/js/370.14439cd0.js"><link rel="prefetch" href="/assets/js/371.8f1680c9.js"><link rel="prefetch" href="/assets/js/372.61718293.js"><link rel="prefetch" href="/assets/js/373.4b4647e8.js"><link rel="prefetch" href="/assets/js/374.71d42042.js"><link rel="prefetch" href="/assets/js/375.e4d369f2.js"><link rel="prefetch" href="/assets/js/376.51cd667f.js"><link rel="prefetch" href="/assets/js/377.023da5c6.js"><link rel="prefetch" href="/assets/js/378.726a5f82.js"><link rel="prefetch" href="/assets/js/379.720646dc.js"><link rel="prefetch" href="/assets/js/38.2334aea2.js"><link rel="prefetch" href="/assets/js/380.4d823b98.js"><link rel="prefetch" href="/assets/js/381.bdcccbea.js"><link rel="prefetch" href="/assets/js/382.8cce8942.js"><link rel="prefetch" href="/assets/js/383.cb7d71d3.js"><link rel="prefetch" href="/assets/js/384.bf2af7c5.js"><link rel="prefetch" href="/assets/js/385.1cc639e2.js"><link rel="prefetch" href="/assets/js/386.684b64ab.js"><link rel="prefetch" href="/assets/js/387.e16f4a68.js"><link rel="prefetch" href="/assets/js/388.c9b30f3b.js"><link rel="prefetch" href="/assets/js/389.a8b0f99a.js"><link rel="prefetch" href="/assets/js/39.683bc07a.js"><link rel="prefetch" href="/assets/js/390.b43004ff.js"><link rel="prefetch" href="/assets/js/391.c316049a.js"><link rel="prefetch" href="/assets/js/392.2c559de6.js"><link rel="prefetch" href="/assets/js/393.3055fc0a.js"><link rel="prefetch" href="/assets/js/394.7585ce4c.js"><link rel="prefetch" href="/assets/js/395.6f04bac1.js"><link rel="prefetch" href="/assets/js/396.a6536f32.js"><link rel="prefetch" href="/assets/js/397.e9807e10.js"><link rel="prefetch" href="/assets/js/398.b89dcc8a.js"><link rel="prefetch" href="/assets/js/399.da459f94.js"><link rel="prefetch" href="/assets/js/4.47196852.js"><link rel="prefetch" href="/assets/js/40.f2d861cf.js"><link rel="prefetch" href="/assets/js/400.d8b3b5fd.js"><link rel="prefetch" href="/assets/js/401.4a5b409e.js"><link rel="prefetch" href="/assets/js/402.f2c8802d.js"><link rel="prefetch" href="/assets/js/403.bd98e777.js"><link rel="prefetch" href="/assets/js/404.d2dab4f7.js"><link rel="prefetch" href="/assets/js/405.f83ce379.js"><link rel="prefetch" href="/assets/js/406.69a91345.js"><link rel="prefetch" href="/assets/js/407.3bc1a860.js"><link rel="prefetch" href="/assets/js/408.8b88a93c.js"><link rel="prefetch" href="/assets/js/409.269ef2c9.js"><link rel="prefetch" href="/assets/js/41.79fbb067.js"><link rel="prefetch" href="/assets/js/410.40dc1b76.js"><link rel="prefetch" href="/assets/js/411.6679eea2.js"><link rel="prefetch" href="/assets/js/412.2cdd21ea.js"><link rel="prefetch" href="/assets/js/413.f5418356.js"><link rel="prefetch" href="/assets/js/414.ed9da9ad.js"><link rel="prefetch" href="/assets/js/415.4cd14246.js"><link rel="prefetch" href="/assets/js/416.cd80178b.js"><link rel="prefetch" href="/assets/js/417.d650a560.js"><link rel="prefetch" href="/assets/js/418.ad71cbc7.js"><link rel="prefetch" href="/assets/js/419.8e6c87c0.js"><link rel="prefetch" href="/assets/js/42.101ecd13.js"><link rel="prefetch" href="/assets/js/420.71ec69ad.js"><link rel="prefetch" href="/assets/js/421.91d6b7be.js"><link rel="prefetch" href="/assets/js/422.353f77c5.js"><link rel="prefetch" href="/assets/js/423.60ef06c0.js"><link rel="prefetch" href="/assets/js/424.2e57687c.js"><link rel="prefetch" href="/assets/js/425.9413632b.js"><link rel="prefetch" href="/assets/js/426.e1b29e8b.js"><link rel="prefetch" href="/assets/js/427.ed640a0c.js"><link rel="prefetch" href="/assets/js/428.90a9eecd.js"><link rel="prefetch" href="/assets/js/429.bcc51151.js"><link rel="prefetch" href="/assets/js/43.cf663bf1.js"><link rel="prefetch" href="/assets/js/430.d7a129bf.js"><link rel="prefetch" href="/assets/js/431.6f0b95f4.js"><link rel="prefetch" href="/assets/js/432.c9964a14.js"><link rel="prefetch" href="/assets/js/433.fb0bc3bb.js"><link rel="prefetch" href="/assets/js/434.cbb78303.js"><link rel="prefetch" href="/assets/js/435.7633d592.js"><link rel="prefetch" href="/assets/js/436.dd3d00e6.js"><link rel="prefetch" href="/assets/js/437.40a87461.js"><link rel="prefetch" href="/assets/js/438.640ceed6.js"><link rel="prefetch" href="/assets/js/439.4bc626d3.js"><link rel="prefetch" href="/assets/js/44.0e34047e.js"><link rel="prefetch" href="/assets/js/440.840fff96.js"><link rel="prefetch" href="/assets/js/441.e8e14977.js"><link rel="prefetch" href="/assets/js/442.0f0a17b6.js"><link rel="prefetch" href="/assets/js/443.44c2279e.js"><link rel="prefetch" href="/assets/js/444.6d775f58.js"><link rel="prefetch" href="/assets/js/445.dfec1767.js"><link rel="prefetch" href="/assets/js/446.8282b220.js"><link rel="prefetch" href="/assets/js/447.4b8f1a4c.js"><link rel="prefetch" href="/assets/js/448.03b53f95.js"><link rel="prefetch" href="/assets/js/449.39dea464.js"><link rel="prefetch" href="/assets/js/45.fa02a8c0.js"><link rel="prefetch" href="/assets/js/450.948c5957.js"><link rel="prefetch" href="/assets/js/451.b4e00223.js"><link rel="prefetch" href="/assets/js/452.634de921.js"><link rel="prefetch" href="/assets/js/453.957a3638.js"><link rel="prefetch" href="/assets/js/454.d410cf71.js"><link rel="prefetch" href="/assets/js/455.8c5a2163.js"><link rel="prefetch" href="/assets/js/456.877d611f.js"><link rel="prefetch" href="/assets/js/457.8b24b950.js"><link rel="prefetch" href="/assets/js/458.591d759d.js"><link rel="prefetch" href="/assets/js/459.e114c85b.js"><link rel="prefetch" href="/assets/js/46.3a265755.js"><link rel="prefetch" href="/assets/js/460.1a928144.js"><link rel="prefetch" href="/assets/js/461.2a0384d2.js"><link rel="prefetch" href="/assets/js/462.5c3649e2.js"><link rel="prefetch" href="/assets/js/463.4221227c.js"><link rel="prefetch" href="/assets/js/464.866ac902.js"><link rel="prefetch" href="/assets/js/465.05a96c32.js"><link rel="prefetch" href="/assets/js/466.3efed881.js"><link rel="prefetch" href="/assets/js/467.ddd524e5.js"><link rel="prefetch" href="/assets/js/468.9eebe3d9.js"><link rel="prefetch" href="/assets/js/469.281b53ec.js"><link rel="prefetch" href="/assets/js/47.2d120101.js"><link rel="prefetch" href="/assets/js/470.decda882.js"><link rel="prefetch" href="/assets/js/471.242be672.js"><link rel="prefetch" href="/assets/js/472.da4abae1.js"><link rel="prefetch" href="/assets/js/473.9d64ea3e.js"><link rel="prefetch" href="/assets/js/474.5362ec5b.js"><link rel="prefetch" href="/assets/js/475.6904e585.js"><link rel="prefetch" href="/assets/js/476.c460d90a.js"><link rel="prefetch" href="/assets/js/477.474813fa.js"><link rel="prefetch" href="/assets/js/478.d51e07b1.js"><link rel="prefetch" href="/assets/js/479.f0fa0689.js"><link rel="prefetch" href="/assets/js/48.57af7d42.js"><link rel="prefetch" href="/assets/js/480.8b194bbe.js"><link rel="prefetch" href="/assets/js/481.f2f1aeeb.js"><link rel="prefetch" href="/assets/js/482.6903e11b.js"><link rel="prefetch" href="/assets/js/483.65d04ad9.js"><link rel="prefetch" href="/assets/js/484.51e94629.js"><link rel="prefetch" href="/assets/js/485.415550f4.js"><link rel="prefetch" href="/assets/js/486.d24d0355.js"><link rel="prefetch" href="/assets/js/487.9eea1be6.js"><link rel="prefetch" href="/assets/js/488.eb3d4584.js"><link rel="prefetch" href="/assets/js/489.6f97c453.js"><link rel="prefetch" href="/assets/js/49.3de3d3a7.js"><link rel="prefetch" href="/assets/js/490.e83cd7f7.js"><link rel="prefetch" href="/assets/js/491.4a6acdf2.js"><link rel="prefetch" href="/assets/js/492.e0548c45.js"><link rel="prefetch" href="/assets/js/493.29b0d0b2.js"><link rel="prefetch" href="/assets/js/494.9f66922c.js"><link rel="prefetch" href="/assets/js/495.31a136ac.js"><link rel="prefetch" href="/assets/js/496.4c1f303f.js"><link rel="prefetch" href="/assets/js/497.b03e6c3f.js"><link rel="prefetch" href="/assets/js/498.a8178b3e.js"><link rel="prefetch" href="/assets/js/499.9f38526a.js"><link rel="prefetch" href="/assets/js/5.33db7f08.js"><link rel="prefetch" href="/assets/js/50.27055b53.js"><link rel="prefetch" href="/assets/js/500.262b9103.js"><link rel="prefetch" href="/assets/js/501.c97f4e75.js"><link rel="prefetch" href="/assets/js/502.5d5c5edd.js"><link rel="prefetch" href="/assets/js/503.62a2a01d.js"><link rel="prefetch" href="/assets/js/504.855415b5.js"><link rel="prefetch" href="/assets/js/505.79d4fddb.js"><link rel="prefetch" href="/assets/js/506.f2675378.js"><link rel="prefetch" href="/assets/js/507.7d811dcb.js"><link rel="prefetch" href="/assets/js/508.6c63d710.js"><link rel="prefetch" href="/assets/js/509.a6dbe871.js"><link rel="prefetch" href="/assets/js/51.82e12c0c.js"><link rel="prefetch" href="/assets/js/510.6ba536a4.js"><link rel="prefetch" href="/assets/js/511.47fcc7dd.js"><link rel="prefetch" href="/assets/js/512.f5b2b05c.js"><link rel="prefetch" href="/assets/js/513.d1a9a405.js"><link rel="prefetch" href="/assets/js/514.4768319a.js"><link rel="prefetch" href="/assets/js/515.4a7312b1.js"><link rel="prefetch" href="/assets/js/516.2a75898b.js"><link rel="prefetch" href="/assets/js/517.0734d077.js"><link rel="prefetch" href="/assets/js/518.a0affa56.js"><link rel="prefetch" href="/assets/js/519.3b143230.js"><link rel="prefetch" href="/assets/js/52.08471186.js"><link rel="prefetch" href="/assets/js/520.98088423.js"><link rel="prefetch" href="/assets/js/521.09d6f9e3.js"><link rel="prefetch" href="/assets/js/522.0a7f1cfd.js"><link rel="prefetch" href="/assets/js/523.460a682d.js"><link rel="prefetch" href="/assets/js/53.81c949e4.js"><link rel="prefetch" href="/assets/js/54.23834020.js"><link rel="prefetch" href="/assets/js/55.98bddbab.js"><link rel="prefetch" href="/assets/js/56.f33c89be.js"><link rel="prefetch" href="/assets/js/57.974b4102.js"><link rel="prefetch" href="/assets/js/58.e357e1b7.js"><link rel="prefetch" href="/assets/js/59.1cf2f460.js"><link rel="prefetch" href="/assets/js/6.d37d398a.js"><link rel="prefetch" href="/assets/js/60.bccde908.js"><link rel="prefetch" href="/assets/js/61.33679650.js"><link rel="prefetch" href="/assets/js/62.fe42a718.js"><link rel="prefetch" href="/assets/js/63.910cc28d.js"><link rel="prefetch" href="/assets/js/64.3a046b10.js"><link rel="prefetch" href="/assets/js/65.6bc58366.js"><link rel="prefetch" href="/assets/js/66.29ed3089.js"><link rel="prefetch" href="/assets/js/67.3a4a22d1.js"><link rel="prefetch" href="/assets/js/68.05fa411c.js"><link rel="prefetch" href="/assets/js/69.44dfc2db.js"><link rel="prefetch" href="/assets/js/7.8c733af6.js"><link rel="prefetch" href="/assets/js/70.059cdd51.js"><link rel="prefetch" href="/assets/js/71.d58561d2.js"><link rel="prefetch" href="/assets/js/72.056ba678.js"><link rel="prefetch" href="/assets/js/73.25916778.js"><link rel="prefetch" href="/assets/js/74.1f1823dc.js"><link rel="prefetch" href="/assets/js/75.2f5b0b73.js"><link rel="prefetch" href="/assets/js/76.06e76fe6.js"><link rel="prefetch" href="/assets/js/77.206d48bf.js"><link rel="prefetch" href="/assets/js/78.2f07e42d.js"><link rel="prefetch" href="/assets/js/79.994c527d.js"><link rel="prefetch" href="/assets/js/8.e8c4adeb.js"><link rel="prefetch" href="/assets/js/80.82c6c4f9.js"><link rel="prefetch" href="/assets/js/81.83bd28d9.js"><link rel="prefetch" href="/assets/js/82.7fbb77e1.js"><link rel="prefetch" href="/assets/js/83.e5773686.js"><link rel="prefetch" href="/assets/js/84.13db35cf.js"><link rel="prefetch" href="/assets/js/85.e6a2aa9d.js"><link rel="prefetch" href="/assets/js/86.715ac425.js"><link rel="prefetch" href="/assets/js/87.10b54644.js"><link rel="prefetch" href="/assets/js/88.477faa20.js"><link rel="prefetch" href="/assets/js/89.a562feda.js"><link rel="prefetch" href="/assets/js/9.635384b9.js"><link rel="prefetch" href="/assets/js/90.c7874d64.js"><link rel="prefetch" href="/assets/js/91.e61cbe07.js"><link rel="prefetch" href="/assets/js/92.45b11d5e.js"><link rel="prefetch" href="/assets/js/93.f587deb4.js"><link rel="prefetch" href="/assets/js/94.19940b43.js"><link rel="prefetch" href="/assets/js/95.d9763768.js"><link rel="prefetch" href="/assets/js/96.3ed0322b.js"><link rel="prefetch" href="/assets/js/97.d368e630.js"><link rel="prefetch" href="/assets/js/98.8b86b8af.js"><link rel="prefetch" href="/assets/js/99.53eb946a.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.262891fb.js">
<link rel="stylesheet" href="/assets/css/0.styles.679f71b6.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/img/logo.png" alt=" " class="logo"></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Document</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/Master/Get Started/QuickStart.html" class="nav-link">In progress</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.11.x/Get Started/QuickStart.html" class="nav-link">V0.11.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.10.x/Get Started/QuickStart.html" class="nav-link">V0.10.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.9.x/0-Get Started/1-QuickStart.html" class="nav-link">V0.9.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.8.x/0-Get Started/1-QuickStart.html" class="nav-link">V0.8.x</a></li></ul></div></div><div class="nav-item"><a href="/SystemDesign/Architecture/Architecture.html" class="nav-link">System design</a></div><div class="nav-item"><a href="/Download/" class="nav-link">Download</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Community</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://cwiki.apache.org/confluence/display/iotdb" class="nav-link external">
Wiki
<!----></a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Project Committers.html" class="nav-link">People</a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Powered By.html" class="nav-link">Powered By</a></li><li class="dropdown-item"><!----> <a href="/Community/Materials.html" class="nav-link">Resources</a></li><li class="dropdown-item"><!----> <a href="/Community/Feedback.html" class="nav-link">Feedback</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Development</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Development/VoteRelease.html" class="nav-link">How to vote</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToCommit.html" class="nav-link">How to Commit</a></li><li class="dropdown-item"><!----> <a href="/Development/Committer.html" class="nav-link">Become a Committer</a></li><li class="dropdown-item"><!----> <a href="/Development/ContributeGuide.html" class="nav-link">ContributeGuide</a></li><li class="dropdown-item"><!----> <a href="/Development/format-changelist.html" class="nav-link">Changelist of TsFile</a></li><li class="dropdown-item"><!----> <a href="/Development/rpc-changelist.html" class="nav-link">Changelist of RPC</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Blog</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Blog/Index.html" class="nav-link">Overview</a></li><li class="dropdown-item"><!----> <a href="/Blog/Release0_93.html" class="nav-link">Some Notes on Release 0.9.3 and upcoming 0.10.0</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">ASF</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="http://www.apache.org/" class="nav-link external">
Foundation
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/licenses/" class="nav-link external">
License
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/security/" class="nav-link external">
Security
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/sponsorship.html" class="nav-link external">
Sponsorship
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/thanks.html" class="nav-link external">
Thanks
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/events/current-event" class="nav-link external">
Current Events
<!----></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/SystemDesign/DataQuery/LastQuery.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/zh/SystemDesign/DataQuery/LastQuery.html" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/apache/iotdb.git" target="_blank" rel="noopener noreferrer" class="repo-link">
gitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Document</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/Master/Get Started/QuickStart.html" class="nav-link">In progress</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.11.x/Get Started/QuickStart.html" class="nav-link">V0.11.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.10.x/Get Started/QuickStart.html" class="nav-link">V0.10.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.9.x/0-Get Started/1-QuickStart.html" class="nav-link">V0.9.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.8.x/0-Get Started/1-QuickStart.html" class="nav-link">V0.8.x</a></li></ul></div></div><div class="nav-item"><a href="/SystemDesign/Architecture/Architecture.html" class="nav-link">System design</a></div><div class="nav-item"><a href="/Download/" class="nav-link">Download</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Community</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://cwiki.apache.org/confluence/display/iotdb" class="nav-link external">
Wiki
<!----></a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Project Committers.html" class="nav-link">People</a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Powered By.html" class="nav-link">Powered By</a></li><li class="dropdown-item"><!----> <a href="/Community/Materials.html" class="nav-link">Resources</a></li><li class="dropdown-item"><!----> <a href="/Community/Feedback.html" class="nav-link">Feedback</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Development</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Development/VoteRelease.html" class="nav-link">How to vote</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToCommit.html" class="nav-link">How to Commit</a></li><li class="dropdown-item"><!----> <a href="/Development/Committer.html" class="nav-link">Become a Committer</a></li><li class="dropdown-item"><!----> <a href="/Development/ContributeGuide.html" class="nav-link">ContributeGuide</a></li><li class="dropdown-item"><!----> <a href="/Development/format-changelist.html" class="nav-link">Changelist of TsFile</a></li><li class="dropdown-item"><!----> <a href="/Development/rpc-changelist.html" class="nav-link">Changelist of RPC</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Blog</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Blog/Index.html" class="nav-link">Overview</a></li><li class="dropdown-item"><!----> <a href="/Blog/Release0_93.html" class="nav-link">Some Notes on Release 0.9.3 and upcoming 0.10.0</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">ASF</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="http://www.apache.org/" class="nav-link external">
Foundation
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/licenses/" class="nav-link external">
License
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/security/" class="nav-link external">
Security
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/sponsorship.html" class="nav-link external">
Sponsorship
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/thanks.html" class="nav-link external">
Thanks
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/events/current-event" class="nav-link external">
Current Events
<!----></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/SystemDesign/DataQuery/LastQuery.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/zh/SystemDesign/DataQuery/LastQuery.html" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/apache/iotdb.git" target="_blank" rel="noopener noreferrer" class="repo-link">
gitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>System design</span> <!----></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Architecture</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>TsFile</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>QueryEngine</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>SchemaManager</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>StorageEngine</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>DataQuery</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/SystemDesign/DataQuery/DataQuery.html" class="sidebar-link">DataQuery</a></li><li><a href="/SystemDesign/DataQuery/QueryFundamentals.html" class="sidebar-link">QueryFundamentals</a></li><li><a href="/SystemDesign/DataQuery/SeriesReader.html" class="sidebar-link">SeriesReader</a></li><li><a href="/SystemDesign/DataQuery/RawDataQuery.html" class="sidebar-link">RawDataQuery</a></li><li><a href="/SystemDesign/DataQuery/AggregationQuery.html" class="sidebar-link">AggregationQuery</a></li><li><a href="/SystemDesign/DataQuery/GroupByQuery.html" class="sidebar-link">GroupByQuery</a></li><li><a href="/SystemDesign/DataQuery/LastQuery.html" aria-current="page" class="active sidebar-link">LastQuery</a></li><li><a href="/SystemDesign/DataQuery/AlignByDeviceQuery.html" class="sidebar-link">AlignByDeviceQuery</a></li><li><a href="/SystemDesign/DataQuery/FillFunction.html" class="sidebar-link">FillFunction</a></li><li><a href="/SystemDesign/DataQuery/GroupByFillQuery.html" class="sidebar-link">GroupByFillQuery</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Tools</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Connector</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Client</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="content content__default"><h1 id="last-query"><a href="#last-query" class="header-anchor">#</a> Last query</h1> <p>The main logic of Last query is in LastQueryExecutor</p> <ul><li>org.apache.iotdb.db.query.executor.LastQueryExecutor</li></ul> <p>The Last query executes the <code>calculateLastPairForOneSeries</code> method for each specified time series.</p> <h2 id="read-mnode-cache-data"><a href="#read-mnode-cache-data" class="header-anchor">#</a> Read MNode cache data</h2> <p>We add a Last data cache to the MNode structure corresponding to the time series that needs to be queried.</p> <p><code>calculateLastPairForOneSeries</code> method For the last query of a certain time series, first try to read the cached data in the MNode.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>try {
node = IoTDB.metaManager.getDeviceNodeWithAutoCreateStorageGroup(seriesPath.toString());
} catch (MetadataException e) {
throw new QueryProcessException(e);
}
if (((LeafMNode) node).getCachedLast() != null) {
return ((LeafMNode) node).getCachedLast();
}
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><p>If it is found that the cache has not been written, execute the following standard query process to read the TsFile data.</p> <h2 id="last-standard-query-process"><a href="#last-standard-query-process" class="header-anchor">#</a> Last standard query process</h2> <p>Last standard query process needs to scan sequential files and unsequential files in a reverse order to get query result, and finally write the query result back to the MNode cache. In the algorithm, sequential files and unsequential files are processed separately.</p> <ul><li><p>The sequential files are sorted by its writing time, so use the <code>loadTimeSeriesMetadata()</code> method directly to get the last valid <code>TimeseriesMetadata</code>. If the statistics of <code>TimeseriesMetadata</code> is available, the Last pair could be returned directly, otherwise we need to call <code>loadChunkMetadataList()</code> to get the last <code>ChunkMetadata</code> structure and obtain the Last time-value pair via the statistical data of <code>ChunkMetadata</code>.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>for (int i = seqFileResources.size() - 1; i &gt;= 0; i--) {
TimeseriesMetadata timeseriesMetadata = FileLoaderUtils.loadTimeSeriesMetadata(
seqFileResources.get(i), seriesPath, context, null, sensors);
if (timeseriesMetadata != null) {
if (!timeseriesMetadata.isModified()) {
Statistics timeseriesMetadataStats = timeseriesMetadata.getStatistics();
resultPair = constructLastPair(
timeseriesMetadataStats.getEndTime(),
timeseriesMetadataStats.getLastValue(),
tsDataType);
break;
} else {
List&lt;ChunkMetadata&gt; chunkMetadataList = timeseriesMetadata.loadChunkMetadataList();
if (!chunkMetadataList.isEmpty()) {
ChunkMetadata lastChunkMetaData = chunkMetadataList.get(chunkMetadataList.size() - 1);
Statistics chunkStatistics = lastChunkMetaData.getStatistics();
resultPair =
constructLastPair(
chunkStatistics.getEndTime(), chunkStatistics.getLastValue(), tsDataType);
break;
}
}
}
}
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div></li> <li><p>For unsequential files, we need to traverse all valid <code>TimeseriesMetadata</code> structures and keep updating the current Last timestamp to find the biggest timestamp. It should be noted that when multiple <code>ChunkMetadata</code> have the same timestamp, we take the data in<code>ChunkMatadata</code> with the largest <code>version</code> value as the result of Last.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>long version = 0;
for (TsFileResource resource : unseqFileResources) {
if (resource.getEndTime(seriesPath.getDevice()) &lt; resultPair.getTimestamp()) {
continue;
}
TimeseriesMetadata timeseriesMetadata =
FileLoaderUtils.loadTimeSeriesMetadata(resource, seriesPath, context, null, sensors);
if (timeseriesMetadata != null) {
for (ChunkMetadata chunkMetaData : timeseriesMetadata.loadChunkMetadataList()) {
if (chunkMetaData.getEndTime() &gt; resultPair.getTimestamp()
|| (chunkMetaData.getEndTime() == resultPair.getTimestamp()
&amp;&amp; chunkMetaData.getVersion() &gt; version)) {
Statistics chunkStatistics = chunkMetaData.getStatistics();
resultPair =
constructLastPair(
chunkStatistics.getEndTime(), chunkStatistics.getLastValue(), tsDataType);
version = chunkMetaData.getVersion();
}
}
}
}
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br></div></div></li> <li><p>Finally write the query results to the MNode's Last cache</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>((LeafMNode) node).updateCachedLast(resultPair, false, Long.MIN_VALUE);
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div></li></ul> <h2 id="last-cache-update-strategy"><a href="#last-cache-update-strategy" class="header-anchor">#</a> Last cache update strategy</h2> <p>The last cache update logic is located in the <code>UpdateCachedLast</code> method of<code>LeafMNode</code>. Here, two additional parameters <code>highPriorityUpdate</code> and<code>latestFlushTime</code> are introduced. <code>highPriorityUpdate</code> is used to indicate whether this update is high priority. Cache updates caused by new data writing are considered high priority updates, and the update cache defaults to low priority updates when querying. <code>latestFlushTime</code> is used to record the maximum timestamp of data that has been currently written back to disk.</p> <p>The cache update strategy is as follows:</p> <ol><li>When there is no record in the cache, the query results are written directly into the cache for the last data that is queried.</li> <li>When there is no record in the cache, if the latest data written is a timestamp greater than or equal to <code>latestFlushTime</code>, the written data is written to the cache.</li> <li>When there are records in the cache, the timestamp of the query or written data is compared with the timestamp in the current cache. The written data has a high priority, and the cache is updated when the timestamp is not less than the cache record; the data that is queried has a lower priority and must be greater than the timestamp of the cache record to update the cache.</li></ol> <p>The specific code is as follows</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>public synchronized void updateCachedLast(
TimeValuePair timeValuePair, boolean highPriorityUpdate, Long latestFlushedTime) {
if (timeValuePair == null || timeValuePair.getValue() == null) return;
if (cachedLastValuePair == null) {
// If no cached last, (1) a last query (2) an unseq insertion or (3) a seq insertion will update cache.
if (!highPriorityUpdate || latestFlushedTime &lt;= timeValuePair.getTimestamp()) {
cachedLastValuePair =
new TimeValuePair(timeValuePair.getTimestamp(), timeValuePair.getValue());
}
} else if (timeValuePair.getTimestamp() &gt; cachedLastValuePair.getTimestamp()
|| (timeValuePair.getTimestamp() == cachedLastValuePair.getTimestamp()
&amp;&amp; highPriorityUpdate)) {
cachedLastValuePair.setTimestamp(timeValuePair.getTimestamp());
cachedLastValuePair.setValue(timeValuePair.getValue());
}
}
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br></div></div></div> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/SystemDesign/DataQuery/GroupByQuery.html" class="prev">
GroupByQuery
</a></span> <span class="next"><a href="/SystemDesign/DataQuery/AlignByDeviceQuery.html">
AlignByDeviceQuery
</a>
</span></p></div> <p style="text-align: center;">Copyright © 2020 The Apache Software Foundation.<br>
Apache and the Apache feather logo are trademarks of The Apache Software Foundation</p> <p style="text-align: center; margin-top: 10px; color: #444">
Contact us: Join QQ Group 659990460 | Add friend <i>tietouqiao</i> and be invited to Wechat Group<br>
see <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a> for more</p></main></div><div class="global-ui"></div></div>
<script src="/assets/js/app.ee472f44.js" defer></script><script src="/assets/js/3.49f0f20a.js" defer></script><script src="/assets/js/36.d1e9d19f.js" defer></script>
</body>
</html>