(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{646:function(a,n,e){"use strict";e.r(n);var r=e(69),t=Object(r.a)({},(function(){var a=this,n=a.$createElement,e=a._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"research-papers"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#research-papers"}},[a._v("#")]),a._v(" Research Papers")]),a._v(" "),e("p",[a._v("Apache IoTDB starts at Tsinghua University, School of Software. IoTDB is a database for managing large amount of time series data with columnar storage, data encoding, pre-computation, and index techniques. It has SQL-like interface to write millions of data points per second per node and is optimized to get query results in few seconds over trillions of data points. It can also be easily integrated with Apache Hadoop MapReduce and Apache Spark for analytics.")]),a._v(" "),e("p",[a._v("The research papers related are as follows:")]),a._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://www.vldb.org/pvldb/vol13/p2901-wang.pdf",target:"_blank",rel:"noopener noreferrer"}},[a._v("Apache IoTDB: time-series database for internet of things"),e("OutboundLink")],1),a._v(", Chen Wang, Xiangdong Huang, Jialin Qiao,\nTian Jiang, Lei Rui, Jinrui Zhang, Rong Kang, Julian Feinauer, Kevin A. McGrail, Peng Wang, Jun Yuan, Jianmin Wang, Jiaguang Sun. VLDB 2020")]),a._v(" "),e("li",[e("a",{attrs:{href:"https://dl.acm.org/citation.cfm?id=2983775&dl=ACM&coll=DL",target:"_blank",rel:"noopener noreferrer"}},[a._v("PISA: An Index for Aggregating Big Time Series Data"),e("OutboundLink")],1),a._v(", Xiangdong Huang and Jianmin Wang and Raymond K. Wong and Jinrui Zhang and Chen Wang. CIKM 2016.")]),a._v(" "),e("li",[e("a",{attrs:{href:"https://link.springer.com/chapter/10.1007/978-3-319-96893-3_8",target:"_blank",rel:"noopener noreferrer"}},[a._v("Matching Consecutive Subpatterns over Streaming Time Series"),e("OutboundLink")],1),a._v(", Rong Kang and Chen Wang and Peng Wang and Yuting Ding and Jianmin Wang. APWeb/WAIM 2018.")]),a._v(" "),e("li",[e("a",{attrs:{href:"https://www.semanticscholar.org/paper/KV-match%3A-A-Subsequence-Matching-Approach-and-Time-Wu-Wang/9ed84cb15b7e5052028fc5b4d667248713ac8592",target:"_blank",rel:"noopener noreferrer"}},[a._v("KV-match: A Subsequence Matching Approach Supporting Normalization and Time Warping"),e("OutboundLink")],1),a._v(", Jiaye Wu and Peng Wang and Chen Wang and Wei Wang and Jianmin Wang. ICDE 2019.")]),a._v(" "),e("li",[e("a",{attrs:{href:"http://ndbc2019.sdu.edu.cn/info/1002/1044.htm",target:"_blank",rel:"noopener noreferrer"}},[a._v("The Design of Apache IoTDB distributed framework"),e("OutboundLink")],1),a._v(", Tianan Li, Jianmin Wang, Xiangdong Huang, Yi Xu, Dongfang Mao, Jun Yuan. NDBC 2019")]),a._v(" "),e("li",[e("a",{attrs:{href:"https://www.sciencedirect.com/science/article/pii/S0306437918305489",target:"_blank",rel:"noopener noreferrer"}},[a._v("Dual-PISA: An index for aggregation operations on time series data"),e("OutboundLink")],1),a._v(", Jialin Qiao, Xiangdong Huang, Jianmin Wang, Raymond K Wong. IS 2020")])]),a._v(" "),e("h1",{attrs:{id:"benchmark-tools"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#benchmark-tools"}},[a._v("#")]),a._v(" Benchmark tools")]),a._v(" "),e("p",[a._v("We also developed Benchmark tools for time series databases")]),a._v(" "),e("p",[a._v("https://github.com/thulab/iotdb-benchmark")])])}),[],!1,null,null,null);n.default=t.exports}}]);