Viacheslav Klimov 86b5378d59 EDQS (#3196)
* Experiments with CSV

* CSV Loader v1

* EDQ tests

* Volatile variables instead of final

* Improvements

* updated loader with new entities

* Fix double memory usage issue

* Basic data structures and load

* Minor improvements

* Snappy + Large String reuse

* added EntityFields classes for each entity

* Basic implementation

* Minor improvements to KeyFilters

* implemented RepositoryUtils.checkKeyFilters

* Generic query implementation

* New structure

* Refactoring and few processors implementation

* extended DeviceData with shared/client attributes and device profile

* Minor refactoring of attribute scopes

* DeviceTypeFilter support

* Strong types of fields for each entity data class

* DeviceType and AssetType filters

* EntityView and Edge queries

* Relations Query

* Relation Query Implementation

* Update EDQS module version

* Sync with EDQS via Kafka

* EDQS: major refactoring

* EDQS API requests via Kafka

* EDQS: full sync with the database

* Refactoring for EDQS sync

* EDQS: major refactoring and new features

* EDQS refactoring, count query support, fix tests

* EDQS: refactoring for query processors

* Fix EDQS pom version

* Cleanup edqs.yml

* EDQS: tenant partitioning strategy; refactoring

* EDQS: latest events queue

* EDQS: support for monolith setup; RocksDB; other improvements

* EDQS: merge sync and events topics, introduce state topic

* EDQS: dynamic repartitioning

* implemented entity data query filters for edqs

* EdqsEntityQueryControllerTest - use in-memory queue

* edqs-filter fixes, added test

* EDQS: blob entity support

* EdqsEntityQueryControllerTest - use in-memory queue

* Use DummyEdqsService when disabled

* Fixes for EDQS

* Refactoring for EDQS tests

* Fix edqs requests partitioning

* EDQS: Fix for attributes handling

* Fix attributes saving in EntityServiceTest

* EDQS: refactoring, fixes

* Minor refactoring for query processor

* added ownerName/ownerType support

* fixed relation query processor

* fixed EntityServiceTest

* refactoring

* added support for parentId for relation query result

* Get rid of EntityNameFetcher

* Add fixme for relation query processor

* db restore with select all edqs fields

* fixed entity deletion

* fixed FieldUtils with new EntityFields

* dao method renamed

* EDQS: instance groups with same partitions; automatic sync; multiple fixes

* Refactoring for EDQS sync

* EDQS: refactoring

* Fix startup with Kafka

* fixed EntityQueryControllerTest

* fixed EdqsEntityServiceTest

* Separate queue admin for EDQS request template

* Implement new EDQS partitioning strategy

* EDQS: multiple fixes and refactoring

* Add mock EdqsRocksDb beans to tests

* added edqs stats for inmemory/grafana

* fixed filter tests

* Update todos

* Refactoring for QueueConfig

* Improvements and refactoring for EDQS consumers

* implemented TODOs

* test fixes

* Consume state topic up to end offsets

* edqs stats refactoring

* EDQS: cleanup on partitions removal; refactoring

* EDQS: minor refactoring

* EDQS: remove CSV loader

---------

Co-authored-by: Andrii Shvaika <ashvayka@thingsboard.io>
Co-authored-by: dashevchenko <dshevchenko@thingsboard.io>
2025-01-27 17:41:12 +02:00
2025-01-27 17:41:12 +02:00
2025-01-27 17:41:12 +02:00
2025-01-27 17:41:12 +02:00
2025-01-27 17:41:12 +02:00
2018-10-25 15:11:03 +03:00
2024-12-04 16:53:19 +02:00
2025-01-06 15:39:41 +02:00
2024-12-04 16:53:19 +02:00
2024-12-04 16:53:19 +02:00
2024-12-04 16:53:19 +02:00
2025-01-22 18:25:11 +02:00
2016-12-01 11:38:15 +02:00
2022-11-10 23:48:08 +01:00
2025-01-27 17:41:12 +02:00
2024-11-28 17:14:08 +02:00
2023-05-16 17:33:26 +03:00

ThingsBoard

ThingsBoard Builds Server Status

ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management.

Documentation

ThingsBoard documentation is hosted on thingsboard.io.

IoT use cases

Smart energy Smart energy

Fleet tracking Fleet tracking

Smart farming Smart farming

IoT Rule Engine IoT Rule Engine

Smart metering Smart metering

Getting Started

Collect and Visualize your IoT data in minutes by following this guide.

Support

Licenses

This project is released under Apache 2.0 License.

Languages
Java 56%
TypeScript 25.1%
HTML 9%
JavaScript 7.1%
SCSS 2.1%
Other 0.6%