Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tdXg2-007ykh-7W for pgsql-general@arkaria.postgresql.org; Thu, 30 Jan 2025 16:46:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tdXg0-00CVG5-Ig for pgsql-general@arkaria.postgresql.org; Thu, 30 Jan 2025 16:46:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tdXfz-00CVFw-Lw for pgsql-general@lists.postgresql.org; Thu, 30 Jan 2025 16:46:00 +0000 Received: from fout-a5-smtp.messagingengine.com ([103.168.172.148]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tdXfw-002NDm-0T for pgsql-general@lists.postgresql.org; Thu, 30 Jan 2025 16:45:59 +0000 Received: from phl-compute-09.internal (phl-compute-09.phl.internal [10.202.2.49]) by mailfout.phl.internal (Postfix) with ESMTP id 8E6BE138017A; Thu, 30 Jan 2025 11:45:54 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-09.internal (MEProxy); Thu, 30 Jan 2025 11:45:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aklaver.com; h= cc:content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1738255554; x=1738341954; bh=nSTwE3e6i1YBRCrFRq8+wmUxihdv9E6maMZaDRE/9jI=; b= X1vrNOGOcVtlG0h+c6d6SeT6qOowZ99XVcA2NsU+HP4TV44rrWX/R/JGZS3tDgVi 5y2QKKbm251/Bv1clFx1CGwDLV18ufBie19Mr2l9GLthxGe3/9bpLHMpG6gJH/Gp wAzTzxGwElq1qwFSJsS30jlGMZ7zy7DqTT3gMK33TaGnB7DSwwT0pU8x3lOTuQuF sHm3dcM2lP03FypvK/dAe+kAdvlSDaLycqtC7IlUF/nSu3otOQdMmIWMNVZHbLPO rsD6VsOSOyPwXF2spGAKZ7F3m4j/nLq8sNsrTBINvtaFUrZedgLD3bHtlTTb5gas 2g5C0/9ujZiMQ1l/uVmYDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; t=1738255554; x=1738341954; bh=n STwE3e6i1YBRCrFRq8+wmUxihdv9E6maMZaDRE/9jI=; b=L0e/fHabfvb6oB0RG Nnsxwq8rfYpJL8mB7SxcMSCAl6GvI+8uSMoxOF7a8lDWVC593/aGgZufrTTh1+Kc RMB2AXgwQyGb/SGRKkAN4SLkwjaKwecSh9IcMVD6S4U6J+JbcuAiZCGBZLgp3gHb 8oEG5/P7M/V3nm57KXR8rvWh3fdO58nNyJM2WL1b9AiCm1tAVaikubEs0+CR1dUF TVXf3b+KG8xGynMBsW3Nfy0py0Iqbg+K6u+q91vh54NWdRSAZn/Wb5u/qajzEzca Frq+y7d2a9pei/Bnqd8wGH7arRdljs7L08ptEWANhjW0wTHcrGY/un66piOfMSN+ 36kvA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeifeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepkfffgggfuffvfhfhjggtgfesthekredttddvjeen ucfhrhhomheptegurhhirghnucfmlhgrvhgvrhcuoegrughrihgrnhdrkhhlrghvvghrse grkhhlrghvvghrrdgtohhmqeenucggtffrrghtthgvrhhnpeffleegieefgfevudehtdfh keeutdffjeevgeffgeejvedthefgudeiteefheejheenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrughrihgrnhdrkhhlrghvvghrsegrkhhl rghvvghrrdgtohhmpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprh gtphhtthhopegrrdhmrghnthiiihhoshestghlohhuugdrghgrthgvfigrhihnvghtrdgt ohhmpdhrtghpthhtohepphhgshhqlhdqghgvnhgvrhgrlheslhhishhtshdrphhoshhtgh hrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i76984098:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 30 Jan 2025 11:45:52 -0500 (EST) Message-ID: Date: Thu, 30 Jan 2025 08:45:52 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Ideas about presenting data coming from sensors To: Achilleas Mantzios - cloud , "pgsql-general@lists.postgresql.org" References: <8d2dd92a-da16-435b-a38e-fe72191fc9d1@cloud.gatewaynet.com> Content-Language: en-US From: Adrian Klaver In-Reply-To: <8d2dd92a-da16-435b-a38e-fe72191fc9d1@cloud.gatewaynet.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 1/30/25 06:18, Achilleas Mantzios - cloud wrote: > Dear PostgreSQL people > > We have a project having to do with capturing sensor data and alarms > from various machinery using various protocols/standards (e.g. NMEA , > MODBUS). We have about 150 sites (vessels of various types) and each > site will generate about 500 rows per minute. We have solved most of the > design + issues regarding DB, data transfer to the central DB, etc and > now we have started to think about presenting them. > > Ideally and eventually each one of those will be connected to some > machinery item defined in our inventory / live system, so the final goal > is to have smth like "mimics" and interactive UI that will let the user > have an overall view of  the fleet (all vessels), spot the red/orange > ones, then click on a vessel, spot the red/orange areas, then keep on > zooming in until he/she finds the exact item that is in trouble. > > This is the rough idea. > > But for now we are more interested in just viewing the incoming data > that will be basically tag/value pairs. > > The types of those data will be divided in normal tag with a normal > float value, or alarm data which have about 2 discrete boolean variables > (valid and acknowledged). So we want to cover those two cases as far as > viewing is concerned. > > The data will have minutely resolution. So if a vessel e.g. has 700 > discrete tags then the system will generate and transfer to the central > DB 700 rows for every minute. > > Any ideas? Graphs time series? We have graphs (Java) that show time > series with daily resolution. What would you guys recommend for showing > such data, coming from data acquisition systems ? It seems there are two uses in play here: 1) Minute by minute data acquisition to track sensor and alarm output in general. 2) Troubleshooting emerging problems. For 2) you seem to already have the idea of drilling down on values that have moved into the orange --> red area. That does not require displaying all the data, just the data that enters the zone of interest. For 1) the question is do you think folks are going to look at 700 values recorded on a minute by minute basis on 150 ships? Where that information could help is supplying context for the problems arising in 2), especially intermittent issues. I could see picking a problem defined in 2) and allowing for the user to select both a time period and related values over that period to help determine how the problem developed. > > Thank you! > > > > -- Adrian Klaver adrian.klaver@aklaver.com