Open APIs
Full documentation
The project documentation in Eliona for administrators is created fully in MKDocs and is available in machine-readable Markdown.
We employ swagger framework for the interface description. It provides all the interface descriptions in a language-neutral and machine-readable fashion in JSON or YAML. We create individual API solutions for customer-specific API requirements.
Eliona Edge Node technology
Eliona Edge Nodes act as data concentrators and offer gateway functionalities for the targeted forwarding of data in a cluster network.
Free hardware selection for the edge nodes ensures manufacturer independence.
From a functional perspective, the Eliona Edge Node to the cloud represents a real-time big data cluster that exchanges encrypted data via an SSL or TLS certificate.
Specific data communication with the subsystem takes place with data buffering in the Edge Node. The scaling range at the Edge Node is unlimited.
Efficient evaluation of large amounts of data to optimize operational performance and a qualitative overview of the systems.
104/5000Import of complete 3D models via the BIM exchange format IFC for a simple overview of all assets.
All data and functions can also be accessed and processed via our RESTful API.
Most development teams, including our own Eliona developers, work in the smart building provider sector collecting, organizing and analyzing large sets of data, called big data. For reasons of performance, this huge flood of times series data is often stored in a NoSQL database and the meta-data in a relational database. Almost all IoT platforms use NoSQL databases. Needless to say, each of these databases works differently; however, using a polyglot database architecture increases operational and application complexity. For Eliona, we do without a NoSQL database, with no drop in performance, thereby eliminating highly complex operational issues and the challenges that configuration brings.
To guarantee the excellent scalability of the data acquisition rates (time series) and to be able to keep all meta-data in one database, we utilize PostgreSQL and TimescaleDB. It is even possible to write time series and meta-data at the same time and achieve enormous data throughput. 120,000 data series a second with a database of gigantic proportions. In fact, you could write the entire energy data of the whole of Switzerland in Eliona in roughly one minute.
But let us go back and take a look at what IoT/smart building projects actually focus on: Collecting, analyzing and responding to data in order to improve benefits/efficiency, reduce downtime/waste and to provide better services. In other words, we need more than just a database: We also require a simple way to harvest actionable insights from the data. And this is where SQL comes into play. Although it has been fashionable in recent years to denounce SQL and praise NoSQL, SQL is actually extremely powerful.
If the standard performance of PostgreSQL needs to be increased (from 100,000 transactions per second), there is a PostgreSQL further development called «TimescaleDB», which can easily compete with InfluxDB.
data records in the history of a sensor
(trd_0 BTREE/trd_1 BRIN)
records filtered in
ms
Test results on our Eliona servers
Scanning 9,676,401 stored data records in the history (trd_0 BTREE/trd_1 BRIN) and filtering 311,665 records of a sensor takes about 68 ms
See query
$ psql iot
Pager-Verwendung ist aus.
psql (11.6 (Ubuntu 11.6-1.pgdg18.04+1))
Geben Sie »help« für Hilfe ein.
iot=> explain analyze select count(*) from trd_0 where aks_id=2209 ;
QUERY PLAN
Finalize Aggregate (cost=186581.87..186581.88 rows=1 width=8) (actual time=64.506..64.506 rows=1 loops=1)
-> Gather (cost=186581.66..186581.87 rows=2 width=8) (actual time=64.399..68.275 rows=3 loops=1)
Workers Planned: 2
Workers Launched: 2
-> Partial Aggregate (cost=185581.66..185581.67 rows=1 width=8) (actual time=61.938..61.938 rows=1 loops=3)
-> Parallel Append (cost=0.00..185464.10 rows=47022 width=0) (actual time=0.871..57.409 rows=103888 loops=3)
-> Parallel Bitmap Heap Scan on trd_1 (cost=209.95..181121.06 rows=30859 width=0) (actual time=0.893..41.957 rows=90913 loops=3)
Recheck Cond: (aks_id = 2209)
Rows Removed by Index Recheck: 248
Heap Blocks: lossy=3672
-> Bitmap Index Scan on trd_1_aks_id_ts_idx (cost=0.00..191.44 rows=109216 width=0) (actual time=2.497..2.497 rows=108640 loops=1)
Index Cond: (aks_id = 2209)
-> Parallel Seq Scan on trd_0 (cost=0.00..4107.93 rows=22819 width=0) (actual time=0.019..14.709 rows=19463 loops=2)
Filter: (aks_id = 2209)
Rows Removed by Filter: 60200
Planning Time: 0.151 ms
Execution Time:68.345ms
BUS systems/Building automation
IoT protocols
Web services
Third-party systems
Big data, IoT platforms