import{_ as t,C as o,O as r,P as c,ah as s,Q as e,U as n,ai as i}from"./framework-62ad666a.js";const h={},d=e("h2",{id:"研究论文",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#研究论文","aria-hidden":"true"},"#"),n(" 研究论文")],-1),l=e("p",null,"Apache IoTDB 始于清华大学软件学院。IoTDB 是一个用于管理大量时间序列数据的数据库，它采用了列式存储、数据编码、预计算和索引技术，具有类 SQL 的接口，可支持每秒每节点写入数百万数据点，可以秒级获得超过数万亿个数据点的查询结果。它还可以很容易地与 Apache Hadoop、MapReduce 和 Apache Spark 集成以进行分析。",-1),g=e("p",null,"相关研究论文如下：",-1),u={href:"https://dl.acm.org/citation.cfm?id=2983775&dl=ACM&coll=DL",target:"_blank",rel:"noopener noreferrer"},p={href:"https://link.springer.com/chapter/10.1007/978-3-319-96893-3_8",target:"_blank",rel:"noopener noreferrer"},m={href:"https://www.semanticscholar.org/paper/KV-match%3A-A-Subsequence-Matching-Approach-and-Time-Wu-Wang/9ed84cb15b7e5052028fc5b4d667248713ac8592",target:"_blank",rel:"noopener noreferrer"},_={href:"http://ndbc2019.sdu.edu.cn/info/1002/1044.htm",target:"_blank",rel:"noopener noreferrer"},f={href:"https://www.sciencedirect.com/science/article/pii/S0306437918305489",target:"_blank",rel:"noopener noreferrer"},b=e("h2",{id:"benchmark-工具",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#benchmark-工具","aria-hidden":"true"},"#"),n(" Benchmark 工具")],-1),A=e("p",null,"我们还研发了面向时间序列数据库的 Benchmark 工具：",-1),S={href:"https://github.com/thulab/iot-benchmark",target:"_blank",rel:"noopener noreferrer"};function W(I,k){const a=o("ExternalLinkIcon");return r(),c("div",null,[s(`

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

`),d,l,g,e("ul",null,[e("li",null,[e("a",u,[n("PISA: An Index for Aggregating Big Time Series Data"),i(a)]),n(", Xiangdong Huang and Jianmin Wang and Raymond K. Wong and Jinrui Zhang and Chen Wang. CIKM 2016.")]),e("li",null,[e("a",p,[n("Matching Consecutive Subpatterns over Streaming Time Series"),i(a)]),n(", Rong Kang and Chen Wang and Peng Wang and Yuting Ding and Jianmin Wang. APWeb/WAIM 2018.")]),e("li",null,[e("a",m,[n("KV-match: A Subsequence Matching Approach Supporting Normalization and Time Warping"),i(a)]),n(", Jiaye Wu and Peng Wang and Chen Wang and Wei Wang and Jianmin Wang. ICDE 2019.")]),e("li",null,[e("a",_,[n("The Design of Apache IoTDB distributed framework"),i(a)]),n(", Tianan Li, Jianmin Wang, Xiangdong Huang, Yi Xu, Dongfang Mao, Jun Yuan. NDBC 2019")]),e("li",null,[e("a",f,[n("Dual-PISA: An index for aggregation operations on time series data"),i(a)]),n(", Jialin Qiao, Xiangdong Huang, Jianmin Wang, Raymond K Wong. IS 2020")])]),b,A,e("p",null,[e("a",S,[n("https://github.com/thulab/iot-benchmark"),i(a)])])])}const T=t(h,[["render",W],["__file","Publication.html.vue"]]);export{T as default};