喀什网站建设,百度官网下载安装免费,长春网站开发senluowx,创意设计图片大全12 月 3 日#xff0c;2023 IoTDB 用户大会在北京成功举行#xff0c;收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题#xff0c;多位学术泰斗、企业代表、开发者#xff0c;深度分享了工业物联网时序数据库 IoTDB 的技术创新… 12 月 3 日2023 IoTDB 用户大会在北京成功举行收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题多位学术泰斗、企业代表、开发者深度分享了工业物联网时序数据库 IoTDB 的技术创新、应用效果与各行业标杆用户的落地实践、解决方案并共同探讨时序数据管理领域的行业趋势。 我们邀请到德国普戈曼公司 CEO Julian Feinauer 博士参加此次大会并做主题报告——《Apache IoTDB 在德国工业和关键基础设施中的应用》。以下为英文内容和中文翻译全文。 目录 Digitalization in Germany 德国数字化进程 Building Industrial Applications 工业应用实践 Use Case 1: BZ-NEA 应用案例一BZ-NEA 铁路能源项目 Use Case 2: Smart Core 应用案例二Smart Core 车厂项目 Summary 总结 非常感谢主持人的热情介绍也感谢大会主办方邀请我在这里发言很荣幸能够在本次大会上进行演讲。我将尽量放慢语速、清晰地讲述希望大家都能理解我的发言。 我来自德国所以打算谈谈德国的工业。我们听到了许多关于 Apache IoTDB 的用户案例这些案例都来自中国因为 IoTDB 在中国已经相当受欢迎。而我将分享两个我们在德国通过 IoTDB 实现的具体用例。 那么我要讲些什么呢首先我将简要介绍德国的数字化进程。对我来说看到中国企业如何实现数字化是令人印象深刻的而我将谈一下德国工业通常实现数字化的方式。然后我将简要介绍我们正在开发的 Open MAchine Platform 框架以在应用中集成 IoTDB。最后我将介绍两个用户案例一个是在德国铁路的燃料电池的应用另一个是在汽车行业的铸造领域的应用。 Thank you very much for a nice introduction, and thanks for having me here. Its a great honor for me to speak in front of you. I will try to speak slowly and clearly that hopefully everybody can follow. I am from Germany and I was asked to talk a bit about the German industry. We heard many use cases of Apache IoTDB, and all of them I think are from China, where IoTDB is quite popular already. I will share 2 concrete use cases that we have done in Germany. So what do I want to talk about? First, I will talk shortly about digitization in Germany. Its very impressive for me to see how companies in China handle things, and I will talk a bit about how things usually go in Germany in the industry. Then I will shortly present the framework, the Open MAchine Platform that we are developing to help integrate IoTDB in applications. And then I have 2 use cases, one about fuel cell application at German railway, a cooperation, and one called Smart Core, which is an application at automotive foundry. 01 Digitalization in Germany 德国数字化进程 那么在德国我们的数字化发展目前处于什么阶段呢这张图是德国劳动力的年龄分布可以看到这张图的重心略微偏向右侧。德国劳动力的平均年龄为 45 岁此外这些人通常并不非常具有 IT 经验这对我们引入新技术造成了一定的负担。 So where are we at in Germany? This is the age distribution of the German workforce, and as you see, its screwed a bit towards the right. So the average age of a German worker is 45 years, which on the other hand means that those people usually are not super IT-experienced, which is kind of a burden for us to introduce new technologies. 这张图表是德国工厂中典型设备的年龄。德国工厂设备的平均年龄超过 11 年因此我们的设备资产相当陈旧这带来的不利因素是这些设备中的控制系统也一样非常老旧。举一个比较典型的例子右图是西门子 S7-300 设备它在德国的工厂设备中非常常见。所以要配合这些设备收集工厂设备的数据是非常困难的。 The second slide here is the age of the typical German machines in our plants. The average age of the machinery in German plants is over 11 years, so our assets are quite old, which has the downside that the control systems in those machines are very old. So this is a typical example, Siemens S7-300 device, which is very common in those machines. And its very hard to interfere with these devices and to collect data from those machines. 最后对我来说最有趣的一点是看到中国工业中有很多案例在专注于深度挖掘工业数据的价值因为德国许多企业并没有专门的数据科学家或能够处理这些原始数据的人。因此我们通常不得不对数据进行很多的聚合操作以便设备的操作员、班组领导或工厂经理能够获取并理解数据信息这是德国企业常见的做法。图中给出了一些典型示例展示了我们通常会提供的结果样式其中包括有关吞吐量、工厂效率等方面的一些数字。 The last aspect, for me, it was really interesting to see how many use cases in Chinese industry really focus on the data in depth, because a lot of companies in Germany dont have designated data scientists or people that are able to work with the raw data. So we usually have to aggregate the data quite a bit, so that the operators on the machines or the leaders of the shifts or the managers of the plant get the information out. This is nothing that typically German companies to bind themselves. So these are typical examples of the results we have to provide, which is just some numbers about throughput, efficiency of the factory, and things like this. 02 Building Industrial Applications 工业应用实践 这也就引出了我接下来想说的。在德国我们不太关注原始数据有时候原始数据量也没有那么大。对我们而言更重要的是对数据进行良好的全栈集成以便我们能够向客户及其公司提供我刚才所说的信息即从数据收集结果到计算的指标和 KPI这对于他们更高效地运行、管理工厂非常重要。 通常在构建这类解决方案时大家应该已经意识到了我们需要一些基本的系统。我们需要用户管理系统、资产管理系统当然还有数据管理系统。对于时间序列数据我们需要有效的分析系统或指标计算体系。并且我刚刚提到对于我们来说为专业人员和那些不会每天查看这类信息的普通员工都提供清晰的可视化呈现是相当重要的。 This leads me to the next point. So we do not focus so much on the raw data, and sometimes we dont have that much data. For us, its more important to have a nice integration in the sense of a full stack, so that we are able to provide our customers and these companies with exactly what I said, from the data collection up to calculated metrics and KPIs that they are interested in to run their plant more efficiently. Usually, when you develop these kinds of solutions, many of you might notice, then you need very basic things. You need user management, asset management, then of course, data management. For time series data, we need some kind of analytics system or calculation of metrics. And as I said, its quite important for us to have a nice visualization which is suited not only for experts but for regular people that do not look at these kinds of chances daily. 因为我们现在可能还处于传统应用开发的阶段接触 IoTDB 的开发人员通常并不是数据库专家。他们可能是普通的开发人员、网络开发人员以及后端开发人员等等。鉴于 Django 在网络开发领域比较受欢迎我们最初开发的成果之一就是一个名为 Django_IoTDB 的框架它使得 IoTDB 与 Django 的集成更加便捷你不需要成为 IoTDB 和时序数据查询语言的专家也可以使用 IoTDB。 我们建立了一个抽象层使得读取数据变得非常容易并无需完全理解数据库语句的语法比如 group by 是如何工作的等等。因此这让开发人员可以更容易、更直观地基于 IoTDB 编写应用程序。 Because we are probably now in the domain of classical application development, the developers dealing with IoTDB oftentimes are no database experts. They are regular developers, web developers, backend developers, etc. And as Django is quite popular in this area, one of the first things we did was to develop a framework called Django_IoTDB, which makes it very easy to integrate IoTDB with Django, so that you dont need to be an expert in IoTDB and the query language. So we have an abstraction, which makes it quite easy to fetch data without the need to fully understand the syntax with all its details, how does the group by work, and things like this. So this makes it way easier, more accessible for developers to write applications based on IoTDB. 我们开发的另一个框架称为 Open MAchine PlatformOMAP旨在解决我之前谈到的问题即我们需要建立一些基本的系统作为使用 IoTDB 的前提包括用户管理系统、资产管理系统等等。因此这个框架基本上是我们启动基于 IoTDB 项目的基础。 Another thing that we have developed is a framework, we call the Open MAchine Platform, which solves exactly the problem Ive talked about earlier, that we need a certain set of preconditions, user management, asset management, all these things. So this framework basically serves as the baseline to start off for the kind of project Ive talked about. 这里可以看到我们开发解决方案的整体架构。对我们来说这个被称为 PLC 服务器的模块非常重要它基于另一个国际开源项目 Apache PLC4X。此时此刻另一个分论坛应该正在介绍这个项目。我们使用 PLC4X 来收集来自不同设备的数据。在右侧可以看到 OMAP 的架构它基于几个模块。对我们而言基于角色的访问控制、设备管理、数据分析等模块非常重要此外 OMAP 还包括应用程序与扩展模块。 当我们开始开发解决方案或其他使用该框架的用户由于它是开源的开发解决方案时整个架构都是免费的用户可以根据其在特定领域或在应用场景中的具体需求进行解决方案开发。 Here you see a bit of the architecture. What is very important for us is the thing called PLC server, which is based on another open-source project, Apache PLC4X, which is right at this time presented at the other room, which we used to gather data from those different machines. And then on the right side, you see the structure. Its based on several modules. Very important for us are things like Role-Based Access Controls, device management, also analytics. And then we have this part here, which is Apps and Extentions. So basically when we started to develop a solution or other users of this framework, as it is open source, started to develop a solution, you get all this basically for free, and then you start with referring to what youre interested in for your specific domain or your specific field of application. 03 Use Case 1: BZ-NEA 应用案例一BZ-NEA 铁路能源项目 现在我将介绍第一个案例它基于我刚刚展示的架构是与德国铁路公司合作的一个名为 BZ-NEA 的项目。 德国铁路公司Deutsche Bahn在某种程度上类似于中国国家铁路集团有限公司。这是一家国有企业负责与火车和轨道设施有关的所有事务包括客运、货运以及所有与车站、铁轨等相关的基础设施管理。 And now I move over to the first example, which is based on the architecture Ive just shown, which is a project called BZ-NEA with the German railway company. The Deutsche Bahn is roughly similar, I guess, to China Railway Corporation. This is a government-owned entity which takes care of everything related to trains and infrastructures, passenger transport, freight transport, and all kinds of infrastructure management for train stations, for the rails, everything. 两年前德国铁路公司启动了一个名为 BZ-NEA 的项目旨在用燃料电池替代目前由化石燃料驱动的备用发电机。德国铁路系统和它们重要开关的所在地区大都非常偏远因此为了防止能源系统出现问题会部署备用发电机为开关供电以确保铁路系统仍能正常工作。随着我们朝着碳中和的方向发展用燃料电池替代这些备用发电机就成为了一个重要目标。 And they started, 2 years ago, a project BZ-NEA, where they want to replace the backup power generators that are currently run by fossil fuels with fuel cells. In many areas in the German train system and their epic switches, the areas are very rural, then there are some backup power generators which, in case of problem with the energy system, will power the switches and ensure that the train system is still working the way its expected to do. And as we move towards carbon neutrality, the goal is to replace these backup generators with fuel cells. 下图是德国铁路中备用发电机的外观示例。这是一个发电机在非常偏远地区的例子因此在这种环境部署备用发电机是一项必要的措施。 This is an example of how such a generator looks like. This is just an example in a very rural area, thats a necessary action. 也许大家已经有所了解与我们使用了一百多年的内燃机相比燃料电池是一种相当复杂的技术。我们必须管理不同种类的介质并持续关注多种操作参数以便实现燃料电池运行的实时监控。 As some of you might know, fuel cells are quite a complex technology compared to regular combustion engines, which we used since more than one hundred years. So we have to manage different kinds of media, and we have to keep taking care of many operation parameters, which makes it very important in this case of a good monitoring. 这张图是 BZ-NEA 项目中一个燃料电池的示例。从外观上看它也比基于常规内燃机的备用发电机复杂得多。 This is an example, and this looks at least way more complex than a regular combustion engine-based backup generator. 在我深入介绍解决方案的细节之前我想提及对于这个项目的另一个关注点。大家可能知道德国有很多有关数据保护的法规比如 GDPR但在这个案例中还有另一种重要的法规称为 KRITIS。KRITIS 可以理解为关键基础设施所以对于用于关键基础设施的所有软件德国都有特殊的法规。而德国的铁路系统就被视为关键基础设施因此我们必须满足对于安全的特殊要求。 And before I go into the details of the solution, theres another thing in Germany. I mean, you might know that in Germany we have many regulations regarding data protection, GDPR, but theres also another kind of regulation which is important here, which is called KRITIS. KRITIS is a term which roughly translated to critical infrastructure, so with very special regulations for all software that is used in critical infrastructure. And the German train system is considered such an area, considered critical infrastructure. So we have special requirements regarding security that we have to make. 下面是这个项目系统的架构图。大家可能发现了它看起来与我之前展示的架构很相似。不同之处是 PLC4X 被 MQTT 代替了因为在这个场景下德国各地的所有站点都是直接通过 PLC 发送数据的。在该图的右侧有一个连接器可以将数据直接写入到 Apache IoTDB 中这个架构与之前展示的通用架构的另一个主要区别就是 Apache IoTDB 与基于角色的访问控制模块之间存在直接连接。 This is an example or this is the diagram of how the system looks like. You might notice that it looks quite similar to what Ive shown earlier. Besides the PLC4X was replaced by an MQTT broker because in this case, all those stations sent the data by themselves directly from PLCs, from all over Germany. On the right side we have a connector which ingests the data directly into Apache IoTDB, and the major difference that you can see here basically, is theres a connection between Apache IoTDB and the role-based access control module. 这里的前端架构基本上与我们今天看到的许多应用程序非常相似即我们写入数据消费数据或以多种不同的方式展示数据。但由于我们有特殊的法规我们不能只在前端进行用户管理然后在后端查询数据而是必须在数据库层级直接提供用户管理服务。 Of course, the front end basically is pretty similar to many applications we have seen today. So we ingest data, and we digest data or display data in several different ways. But due to the special kind of regulations we have, we cannot only use user management in the front end, which then queries the backend, but we have to provide a user management down to the database level basically. 在 IoTDB 中有一个组件我不知道这个组件是否有名叫做“可插拔权限组件”。通过这个组件用户可以为权限创建自定义的实现。每当在 IoTDB 中执行读取或写入操作时该模块都会检查发送该请求的用户是否对此设备或时间序列具有相应的权限。IoTDB 的这个组件默认使用基于文件系统的解决方案而我们在此基础之上提供了一个名为 OpenIdTokenAuthorizer 的实现。 In IoTDB theres a module, I dont know how known or common this is. Theres a framework which is called pluggable authorizations, so you can provide your own implementation for the authorization. So whenever an operation is performed in IoTDB, it might be a read or insert operation, then this module is checked to see if the user that sent a request has appropriate permissions for this device or this time series. It defaults to a file-system-based solution, but theres an implementation we did which is called OpenIdTokenAuthorizer. 这里可以看到一个实现示例。如果有一个来自前端的请求它将携带 OpenID Token 或 JSON Web Token我们会将这个 Token 同步到数据库。然后在数据库层级上我们会设置代码读取 Token、识别用户并检查该用户的权限以确认其是否有权执行请求的操作。这为我们提供了一种以很小的运维成本满足这些非常严格的法规要求的可能性。 This is an example of implementation, which means that if a request comes from the front end, it has an OpenID Token or JSON Web Token. Then we pass this token also to the database. And then on the database level, you see here, we have some code which takes the token, identifies the user, and then checks the rights for this user to see if the requested user is appropriate or not. This is a nice possibility for us to really enforce these very strict regulations with very little effort that we need to do. 04 Use Case 2: Smart Core 应用案例二Smart Core 车厂项目 现在我将介绍第二个案例名为智能核心Smart Core是一个铸造车间的项目。我认为这个案例会很有趣因为它涉及到德国汽车工业这个行业的一举一动通常都令人瞩目。 这个项目是在一个宝马生产 8 缸发动机气缸体的铸造车间。通常在每个铸造厂中都有一个被称为核心车间的地方这个车间是制造所谓的砂芯的稍后我将详细介绍。作为发动机气缸体的零部件具有非常复杂的内部结构用于冷却液或电缆连通等等因此这些零部件只能在使用砂芯的情况下高效生产。 Now Ill go over the second use case I want to present, which is called Smart Core, which takes place in a foundry. I think this use case might be interesting because its from the German automotive industry, which is usually an industry that many people look at what they do or how they do things. In this project, its about one of the foundries where motor blocks are produced, for an 8-cylinder block. In each foundry, usually theres a part of a foundry which is called a core shop. This is the place where so-called sand cores are made, I will go into details a bit later. The parts that are produced as motor blocks are very complex and have very complex inner structures for cooling liquids or cables that go for it and stuff like this. And those parts can only be produced efficiently with the help of sand cores. 这是这类车间砂芯的一个实例它们在制模过程中被放置在零件内。在制模完成后砂芯被拿走留下零件中的孔洞。对于熟悉低压铸造的人来说这是一个标准的步骤。 This is an example of such sand core, which are placed inside the part during the molding process. Then after the molding process, the sand goes away and then you have the holes in it. This is a standard procedure for everybody who knows low-pressure casting. 这是一个非常有趣的过程因为它非常复杂。在一条铸造生产线上我们有多达 10 台图中这样的设备被称为射芯机也就是是生产砂芯的设备而这些设备有超过 200 个传感器。 同时这类机器的制芯过程中包括物理过程和化学过程既涉及化学反应同时还受到温度和压力等物理因素的较大影响。而且这些过程的时间跨度均不相同从砂被注入模具时的微秒级一直到砂的处理和冷却过程可能需要数秒甚至数小时。 在这个过程中我们对所有这些时间序列数据进行汇总然后使用这些传感器上报的原始值进行聚合生成有助于提高工厂运营效率的指标。 This is a very interesting process for us because its a very complex process. In one single foundry line, we have up to 10 of those machines, which are called core shooting machines, which basically produce sand cores, and those machines have over 200 sensors. The processes that happen in this kind of machines during the shooting process are physical and chemical processes, like chemical reactions but also high physical influence, like temperature and pressure. And those process happens in several timescales, from microseconds when the sand is shot in the toolbox, up to several seconds or even several hours when the sand is treated afterwards and in a cooling process. What we do here in this process is a central aggregation of all those time series, and then we use those raw sensor values to do aggregations, to provide metrics which help the people to run the factory more efficiently. 这个案例的架构图如前所示依旧基于 OMAP 平台。其中有 PLC 服务器以及一个分析框架模块负责处理从 PLC 获取的所有数据并进行必要的计算以生成客户需要的度量指标。我认为这是一个德国工业中相当标准的 IoTDB 应用场景了。 这其中可能最有趣的部分发生在图表标出的这一区域。目前我们使用 Apache Flink 作为流处理框架这也是一个相当普遍的模式。但随着 Apache IoTDB 的发展我们正在尝试迁移到一种基于用户自定义函数 UDF、连续查询和触发器的方法这将实现在数据库内部完成所有时间序列分析任务从而可以简化我们的应用架构。 The architecture is, this is a picture youve seen before, the architecture is again based on the open MAchine platform. You have the PLC server, and we have an analytics framework which takes all the data we get from the PLCs. Thats the necessary calculations to provide the kind of metrics that the customers need. Its a pretty standard IoTDB application, I would say. Perhaps the most interesting part is happening in this area of the graph. Currently, we use Apache Flink as a stream processing framework, which is, I think, a pretty common pattern. But with the recent developments in Apache IoTDB, we are trying to migrate to an approach which is based on user-defined functions, continuous queries, and triggers, which would then push all analytics on the time series inside the database, and we could eliminate one part of our application. 这些图片我之前展示过体现出的是我们进行数据分析的结果。基于我们从传感器和 PLC 获取的数据信息我们可以计算生产率和与质量相关的指标等等。我们还能够生成一些有关制造过程的报告用于质量检查和质量控制。 汽车行业中的另一个重要关注方向是生产成本。生产成本是汽车高效制造的关键部分所以宝马进行了相当深入的计算。在汽车制模过程中将使用很多种介质包括水、压缩空气、能源、砂和一些化学添加剂。到目前为止这个项目刚刚对一周内使用的材料量和生产的零件数量进行了整体统计。 现在我们也可以在每个单独的汽车制模环节中深入挖掘这些数据比如某种类型的砂芯更有可能制造失败、更容易破裂因为它质地更脆弱或者设计更复杂。这也将导致它可能消耗更多的砂或者导致使用它的其中一些汽车更容易报废。这是一类非常重要的分析所以我们每天都会生成这些报告以了解哪个订单、哪个零件、哪个砂芯消耗了多少能源、介质等等然后这些信息将被用于严格的制造成本计算。 我们实现的另一件事是通过从设备上报并读取的参数我们可以了解到设备上装备了哪些工具、砂芯的质量以及砂芯的具体加工方法。因此我们可以利用这个系统来控制后续的生产流程。例如我们可以仅基于数据自动生成供 SAP 系统、ERP 系统和仓库使用的订单信息而无需额外的集成应用层。因为我们已经通过数据了解了砂芯的类型和质量所以可以自动指令仓库在何处存储它们以及在何时提供它们等等。 This is a picture Ive shown you before. Basically, this is the result of the analytics we do. Based on the information we get from the sensors, from the PLCs, we calculate metrics like productivity, quality-related metrics. We also generate several reports about the manufacturing process which I use for quality inspection, quality control. In another aspect, which is quite important in the automotive industries, is pretty much all about production costs. Production costs is a crucial part in efficient manufacturing of cars, so they do pretty extensive calculations. And during this car shooting processor are several media that you use. You use water, you use compressed air, use energy, use sand, and use some chemicals, additives that they are called. Up to now, they just did global calculation of how much material they used over a week, how much parts they produced, and this is what theyve done. Now, we have the possibility to drill down those values basically on every single car shooting process. One part or one type of core is more likely to fail, more likely to break, because its more brittle, or perhaps more complex. Then, of course, it will consume way more sand, because some of those cars have to be thrown away. This is a module which is quite important because we on a daily basis generate all those reports to say which order, which part, which sand core consumed how much energy, media, and so on, which is then used for pretty strict calculation about the costs of the manufacturing process. Another aspect we do here is from the parameters we read from the machine, we know things like which toolboxes are equipped on the machine. We know the quality of the sand cores, we know the exact treatment of the sand cores, so we can use the system also to control processes that happened later. For example, we automatically generate orders for SAP, for the ERP system, and also for the warehouse without the need to have any other integration layer, just out of the data, because we know what kind of cores, which quality they are, so we can automatically tell our warehouse where to store them and then where to provide them later on. 05 Summary 总结 到此我可以来做个总结。很遗憾我不得不说与我在其他国家以及这次中国之行的最后一天所看到的情况相比德国的数字化转型进程仍然较慢。这源于我所谈到的各种原因或许还涉及一些心态问题但这确实也与我们的工业有着悠久的传统有关。这是一件好事但另一方面这意味着我们的设备资产有时可能较为陈旧使得将它们整合到数字化流程中变得更加困难。 另一点是正如我之前讲的即使是德国的公司甚至是汽车领域大多也还没能建立自己的数据分析团队而是更专注于非常传统的工厂管理这就给我们这样的数据管理从业人员带来了一些负担。如果我们想向他们介绍 IoTDB那么我们不能只是提供给他们一个数据库说“嘿这是一个很好的数据库你可以将你的数据存储在里面”而是必须覆盖全生命周期从数据采集、分析到指标评估提供一个完整的解决方案。 另外德国的工业应用需要的数据量并不是很大因为我们无法收集所有设备的所有数据特别是旧的设备。另一方面我们进行分析所需的数据粒度也不是很高因此对于这类应用来说我们肯定没有将 IoTDB 的性能极限发挥出来。 以及集成应用非常非常重要。因此我们还构建了上述提到的这些框架以帮助其他公司基于 IoTDB 构建他们自己的解决方案而无需一遍又一遍地编写相同的样板文件代码。 我想要强调的另一个重要方面是IoTDB 的通用性与灵活性使其几乎适用于任何应用场景包括这里提到的德国关键基础设施领域的应用场景。而且IoTDB 作为开源项目这也加强了它的适用性对我们非常有帮助。 总的来说这就是我的演讲内容谢谢 This brings me to my summary. Sadly, I would say the adoption of the digitalization in Germany is still slow, compared to what I see in other countries, and what Ive seen today, in the last day here in China. Due to various reasons that Ive talked about, perhaps also mentality thing, but it really is also related to the fact that our industry has a long tradition, which is a good thing, but on the other hand this means that our assets are sometimes a bit older, which makes it harder to integrate them into these processes. And another thing is, as Ive told you, that the German companies, even the automotive area, are not yet at the point where they have their own teams, which do the data analytics by themselves, but are more focused on very classical plant management, which imposes the burden of us. If we want to introduce them to IoTDB, then we cannot only provide them a database, say Hey, this is a good database. You can store your data in it, but we have to do the full stack in the sense that we have to come up with a complete solution from data collection up to evaluation of the metrics. And as Ive also said, the applications are not too data-heavy because we cannot collect all data from all machines, especially not from old machines. On the other hand, the granularity of data we need for these kinds of analytics is not that high, so were certainly not pushing IoTDB to its limits with these kinds of applications. And as Ive also said, the integration is very, very important. So we also created those frameworks to help other companies build their own solution based on IoTDB, without having the same boilerplate to be written over and over again. And another aspect which I really want to emphasize because its important for us is, there is the possibility to extend IoTDB in a way which makes it feasible for basically every application here, in this case, for a critical infrastructure application in Germany. And another factor which helps us in this case is the nature that IoTDB is open source, of course. So basically this sums up my talk. Thank you! 可加欧欧获取大会相关PPT 微信号apache_iotdb