(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{412:function(e,a,o){"use strict";o.r(a);var t=o(29),n=Object(t.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"powered-by"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#powered-by"}},[e._v("#")]),e._v(" Powered By")]),e._v(" "),a("h3",{attrs:{id:"project-and-product-names-using-iotdb"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#project-and-product-names-using-iotdb"}},[e._v("#")]),e._v(' Project and Product names using "IoTDB"')]),e._v(" "),a("p",[e._v("Organizations creating products and projects using Apache IoTDB, along with associated marketing materials, should take care to respect the trademark in “Apache IoTDB” and its logo. Please refer to "),a("a",{attrs:{href:"https://www.apache.org/foundation/marks/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ASF Trademarks Guidance"),a("OutboundLink")],1),e._v(" and associated "),a("a",{attrs:{href:"https://www.apache.org/foundation/marks/faq/",target:"_blank",rel:"noopener noreferrer"}},[e._v("FAQ"),a("OutboundLink")],1),e._v(' for comprehensive and authoritative guidance on proper usage of ASF trademarks.\nIt is recommended to not include “IoTDB” in any names to prevent potential trademark issue with the IoTDB project.\nAs an example, names like “IoTDB BigDataProduct” should not be used, as the name include “IoTDB” in general. The above links, however, describe some exceptions, like for names such as “BigDataProduct, powered by Apache IoTDB” or “BigDataProduct for Apache IoTDB”. In summary, any names contain "Apache IoTDB" as a whole are acceptable.'),a("br"),e._v("\nA common practice you can take is to create software identifiers (Maven coordinates, module names, etc.) like “iotdb-tool”. These are permitted. Nominative use of trademarks in descriptions is also allowed, as in “BigDataProduct is a subproduct for Apache IoTDB”.")]),e._v(" "),a("h3",{attrs:{id:"companies-and-organizations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#companies-and-organizations"}},[e._v("#")]),e._v(" Companies and Organizations")]),e._v(" "),a("p",[e._v("To add yourself to the list, please email dev@iotdb.apache.org with your organization name, URL, a list of IoTDB components you are using, and a short description of your use case.")]),e._v(" "),a("p",[e._v("You can also leave the info on "),a("a",{attrs:{href:"https://github.com/apache/iotdb/issues/748",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("School of Software (Tsinghua University), and National Engineering Laboratery for Big Data Software  that initially launched IoTDB")]),e._v(" "),a("ul",[a("li",[e._v("We have both graduate students and a team of professional software engineers working on the stack")]),e._v(" "),a("li",[e._v("We use Apache IoTDB in Shanghai Metro and two other cities in China to replace KairosDB.")]),e._v(" "),a("li",[e._v("We use Apache IoTDB in CMA (China Meteorological Administration) for storing 10-years station data. There are about 100 thousand stations.")])])]),e._v(" "),a("li",[a("p",[e._v("Lenovo developed TsFile Go version, and uses it in YOFC (Yangtze Optical Fiber and Cable Company). The system collects data from more than 90 thousand data points, stores them to the TsFile (with Go) as the edge storage and then reads them later to send to the cloud.")])]),e._v(" "),a("li",[a("p",[e._v("Goldwind uses Apache IoTDB to manage the wind turbine data. They consume the SCADA data from Kafka, write to IoTDB and use IoTDB to support queries.")])]),e._v(" "),a("li",[a("p",[e._v("DaTangXianYi deployed IoTDB in many power stations in China.")])]),e._v(" "),a("li",[a("p",[e._v("Beijing ZhiChuangXinKe uses IoTDB to store the battery data of signal towers for China Tower company. There are about 3 million towers.")])]),e._v(" "),a("li",[a("p",[e._v("Beijing QingZhiWuLian uses IoTDB for electric generator's monitoring. Currently they look forward to the cluster mode of IoTDB.")])]),e._v(" "),a("li",[a("p",[e._v("JianLongGangTie is testing IoTDB for using it in their applications.")])])])])}),[],!1,null,null,null);a.default=n.exports}}]);