ApsaraDB for Lindorm (Lindorm) provides a high-performance, low-cost, stable, and reliable online time series engine named LindormTS. LindormTS provides multiple capabilities, including efficient reading and writing, storage with a high compression ratio, and aggregate computing of time series data. LindormTS is highly compatible with OpenTSDB protocols. It uses techniques that are developed by Alibaba Cloud, such as indexing, data models, and streaming aggregation, to provide powerful computing capabilities for time series data. This topic describes the similarities and differences between LindormTS and OpenTSDB in operations and maintenance (O&M), features, cost-effectiveness, and performance to facilitate understanding.


Lindorm OpenTSDB
Operations, administration, and management Service availability 99.9% You must create clusters and add dependencies to ensure service availability.
Data reliability 99.9999% You must create your own clusters and add dependencies to ensure data reliability.
Software and hardware You do not need to deploy software or hardware. You are charged based on your actual resource usage. The cost of database servers is relatively high.
Maintenance cost LindormTS provides hosting services. OpenTSDB requires database administrators (DBAs) dedicated to Time Series Database (TSDB). This greatly increases the labor cost.
Deployment and scaling LindormTS supports instant activation, fast deployment, and elastic scaling. OpenTSDB requires you to procure hardware, host data centers, and deploy machines. This is time-consuming.
Dependency management Free of O&M operations. You must add dependencies, such as the AysncHBase and HBase dependencies. This results in a high maintenance cost.
Performance parameter tuning Default parameter settings are concluded based on best practices. You must configure multiple parameters, such as the salt, the number of connections, the synchronous flushing mode, and compaction.
Table creation statements LindormTS can manage table creation statements. The process is transparent to users. O&M operations are required for static table creation statements.
Monitoring and alert system LindormTS provides a built-in complete monitoring system. You must use external tools to build a monitoring system.
Features Data model LindormTS supports the multi-value and single-value models. OpenTSDB supports only the single-value model.
SDK LindormTS provides an SDK for Java to deliver stable and robust capabilities. SDK The open source SDK cannot be used for queries.
Support for data types LindormTS supports multiple data types, such as numeric, boolean, and string. OpenTSDB supports the numeric data type.
SQL query capability LindormTS allows you to execute SQL statements to analyze and query data. Not supported.
Management console Provides multiple features, such as multidimensional data visualization, data management, and time series insight. Provides a built-in system to present data in graphs.
Whether the tags parameter is required The tags parameter is optional. The tags parameter is required.
Number of tag keys The maximum number is 16. The maximum number is 8.
Integration LindormTS can be seamlessly integrated with Flink and IoT Platform to build a variety of ecosystems. OpenTSDB is an open source service and can barely be integrated with Alibaba Cloud services.
Cost-effectiveness Data compression LindormTS uses a compression algorithm dedicated to time series data to ensure a high compression ratio. OpenTSDB uses general compression algorithms that yield a low compression ratio.
Stability Data reading LindormTS separates read threads from write threads by using different thread pools. This simplifies connection management and delivers stable performance for read and write operations. OpenTSDB couples reading and writing. This may exhaust the connection resources and increase the probability of read/write failures.
Data aggregation LindormTS uses streaming aggregation and fine-grained memory management to ensure strong controllability. OpenTSDB uses in-memory aggregation. This may cause OutOfMemory exceptions.