index.md 15.9 KB
Newer Older
1 2 3 4 5
---
title: Introduction
toc_max_heading_level: 2
---

W
wade zhang 已提交
6
TDengine is an open source, high-performance, cloud native [time-series database](https://tdengine.com/tsdb/) optimized for Internet of Things (IoT), Connected Cars, and Industrial IoT. Its code, including its cluster feature is open source under GNU AGPL v3.0. Besides the database engine, it provides [caching](../develop/cache), [stream processing](../develop/stream), [data subscription](../develop/tmq) and other functionalities to reduce the system complexity and cost of development and operation.
7

C
Chait Diwadkar 已提交
8
This section introduces the major features, competitive advantages, typical use-cases and benchmarks to help you get a high level overview of TDengine.
9 10 11 12 13

## Major Features

The major features are listed below:

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
14
1. Insert data
15 16 17
   - Supports [using SQL to insert](../develop/insert-data/sql-writing).
   - Supports [schemaless writing](../reference/schemaless/) just like NoSQL databases. It also supports standard protocols like [InfluxDB Line](../develop/insert-data/influxdb-line), [OpenTSDB Telnet](../develop/insert-data/opentsdb-telnet), [OpenTSDB JSON ](../develop/insert-data/opentsdb-json) among others.
   - Supports seamless integration with third-party tools like [Telegraf](../third-party/telegraf/), [Prometheus](../third-party/prometheus/), [collectd](../third-party/collectd/), [StatsD](../third-party/statsd/), [TCollector](../third-party/tcollector/), [EMQX](../third-party/emq-broker), [HiveMQ](../third-party/hive-mq-broker), and [Icinga2](../third-party/icinga2/), they can write data into TDengine with simple configuration and without a single line of code.
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
18
2. Query data
19 20 21
   - Supports standard [SQL](../taos-sql/), including nested query.
   - Supports [time series specific functions](../taos-sql/function/#time-series-extensions) and [time series specific queries](../taos-sql/distinguished), like downsampling, interpolation, cumulated sum, time weighted average, state window, session window and many others.
   - Supports [User Defined Functions (UDF)](../taos-sql/udf).
W
wade zhang 已提交
22
3. [Caching](../develop/cache/): TDengine always saves the last data point in cache, so Redis is not needed for time-series data processing.
23 24
4. [Stream Processing](../develop/stream/): Not only is the continuous query is supported, but TDengine also supports event driven stream processing, so Flink or Spark is not needed for time-series data processing.
5. [Data Subscription](../develop/tmq/): Application can subscribe a table or a set of tables. API is the same as Kafka, but you can specify filter conditions.
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
25
6. Visualization
26 27
   - Supports seamless integration with [Grafana](../third-party/grafana/) for visualization.
   - Supports seamless integration with Google Data Studio.
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
28
7. Cluster
29 30 31
   - Supports [cluster](../deployment/) with the capability of increasing processing power by adding more nodes.
   - Supports [deployment on Kubernetes](../deployment/k8s/).
   - Supports high availability via data replication.
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
32
8. Administration
33 34
   - Provides [monitoring](../operation/monitor) on running instances of TDengine.
   - Provides many ways to [import](../operation/import) and [export](../operation/export) data.
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
35
9. Tools
36 37
   - Provides an interactive [Command-line Interface (CLI)](../reference/taos-shell) for management, maintenance and ad-hoc queries.
   - Provides a tool [taosBenchmark](../reference/taosbenchmark/) for testing the performance of TDengine.
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
38
10. Programming
39 40
    - Provides [connectors](../reference/connector/) for [C/C++](../reference/connector/cpp), [Java](../reference/connector/java), [Python](../reference/connector/python), [Go](../reference/connector/go), [Rust](../reference/connector/rust), [Node.js](../reference/connector/node) and other programming languages.
    - Provides a [REST API](../reference/rest-api/).
41

42
For more details on features, please read through the entire documentation.
43 44 45

## Competitive Advantages

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
46
By making full use of [characteristics of time series data](https://tdengine.com/tsdb/characteristics-of-time-series-data/), TDengine differentiates itself from other time series databases, with the following advantages.
47

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
48
- **[High-Performance](https://tdengine.com/tdengine/high-performance-time-series-database/)**: TDengine is the only time-series database to solve the high cardinality issue to support billions of data collection points while out performing other time-series databases for data ingestion, querying and data compression.
49

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
50
- **[Simplified Solution](https://tdengine.com/tdengine/simplified-time-series-data-solution/)**: Through built-in caching, stream processing and data subscription features, TDengine provides a simplified solution for time-series data processing. It reduces system design complexity and operation costs significantly.
51

52
- **[Cloud Native](https://tdengine.com/tdengine/cloud-native-time-series-database/)**: Through native distributed design, sharding and partitioning, separation of compute and storage, RAFT, support for Kubernetes deployment and full observability, TDengine is a cloud native Time-series Database and can be deployed on public, private or hybrid clouds.
53

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
54
- **[Ease of Use](https://tdengine.com/tdengine/easy-time-series-data-platform/)**: For administrators, TDengine significantly reduces the effort to[
55
  ](https://tdengine.com/tdengine/easy-time-series-data-platform/) deploy and maintain. For developers, it provides a simple interface, simplified solution and seamless integrations for third party tools. For data users, it gives easy data access.
56

57
- **[Easy Data Analytics](https://tdengine.com/tdengine/time-series-data-analytics-made-easy/)**: Through super tables, storage and compute separation, data partitioning by time interval, pre-computation and other means, TDengine makes it easy to explore, format, and get access to data in a highly efficient way.
58

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
59
- **[Open Source](https://tdengine.com/tdengine/open-source-time-series-database/)**: TDengine’s core modules, including cluster feature, are all available under open source licenses. It has gathered over 19k stars on GitHub. There is an active developer community, and over 140k running instances worldwide.
60

61 62 63 64 65
With TDengine, the total cost of ownership of your time-series data platform can be greatly reduced.

1. With its superior performance, the computing and storage resources are reduced significantly.
2. With SQL support, it can be seamlessly integrated with many third party tools, and learning costs/migration costs are reduced significantly.
3. With its simplified solution and nearly zero management, the operation and maintenance costs are reduced significantly.
66 67

## Technical Ecosystem
68

C
Chait Diwadkar 已提交
69
This is how TDengine would be situated, in a typical time-series data processing platform:
70

71 72
<figure>

D
dingbo 已提交
73
![TDengine Database Technical Ecosystem ](eco_system.webp)
74

75 76
<center><figcaption>Figure 1. TDengine Technical Ecosystem</figcaption></center>
</figure>
77

C
Chait Diwadkar 已提交
78
On the left-hand side, there are data collection agents like OPC-UA, MQTT, Telegraf and Kafka. On the right-hand side, visualization/BI tools, HMI, Python/R, and IoT Apps can be connected. TDengine itself provides an interactive command-line interface and a web interface for management and maintenance.
79

C
Chait Diwadkar 已提交
80
## Typical Use Cases
81

C
Chait Diwadkar 已提交
82
As a high-performance, scalable and SQL supported time-series database, TDengine's typical use case include but are not limited to IoT, Industrial Internet, Connected Vehicles, IT operation and maintenance, energy, financial markets and other fields. TDengine is a purpose-built database optimized for the characteristics of time series data. As such, it cannot be used to process data from web crawlers, social media, e-commerce, ERP, CRM and so on. More generally TDengine is not a suitable storage engine for non-time-series data. This section makes a more detailed analysis of the applicable scenarios.
83 84 85

### Characteristics and Requirements of Data Sources

86 87 88 89 90
| **Data Source Characteristics and Requirements** | **Not Applicable** | **Might Be Applicable** | **Very Applicable** | **Description**                                                                                                                                                                                                                                               |
| ------------------------------------------------ | ------------------ | ----------------------- | ------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| A massive amount of total data                   |                    |                         | √                   | TDengine provides excellent scale-out functions in terms of capacity, and has a storage structure with matching high compression ratio to achieve the best storage efficiency in the industry.                                                                |
| Data input velocity is extremely high            |                    |                         | √                   | TDengine's performance is much higher than that of other similar products. It can continuously process larger amounts of input data in the same hardware environment, and provides a performance evaluation tool that can easily run in the user environment. |
| A huge number of data sources                    |                    |                         | √                   | TDengine is optimized specifically for a huge number of data sources. It is especially suitable for efficiently ingesting, writing and querying data from billions of data sources.                                                                           |
91 92 93

### System Architecture Requirements

94 95
| **System Architecture Requirements**      | **Not Applicable** | **Might Be Applicable** | **Very Applicable** | **Description**                                                                                                                                                                                                     |
| ----------------------------------------- | ------------------ | ----------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
96
| A simple and reliable system architecture |                    |                         | √                   | TDengine's system architecture is very simple and reliable, with its own message queue, cache, stream computing, monitoring and other functions. There is no need to integrate any additional third-party products. |
97 98
| Fault-tolerance and high-reliability      |                    |                         | √                   | TDengine has cluster functions to automatically provide high-reliability and high-availability functions such as fault tolerance and disaster recovery.                                                             |
| Standardization support                   |                    |                         | √                   | TDengine supports standard SQL and provides SQL extensions for time-series data analysis.                                                                                                                           |
99 100 101

### System Function Requirements

102 103 104 105
| **System Function Requirements**             | **Not Applicable** | **Might Be Applicable** | **Very Applicable** | **Description**                                                                                                                                                                                |
| -------------------------------------------- | ------------------ | ----------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Complete data processing algorithms built-in |                    | √                       |                     | While TDengine implements various general data processing algorithms, industry specific algorithms and special types of processing will need to be implemented at the application level.       |
| A large number of crosstab queries           |                    | √                       |                     | This type of processing is better handled by general purpose relational database systems but TDengine can work in concert with relational database systems to provide more complete solutions. |
106 107 108

### System Performance Requirements

109 110 111 112 113
| **System Performance Requirements**               | **Not Applicable** | **Might Be Applicable** | **Very Applicable** | **Description**                                                                                                             |
| ------------------------------------------------- | ------------------ | ----------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Very large total processing capacity              |                    |                         | √                   | TDengine’s cluster functions can easily improve processing capacity via multi-server coordination.                          |
| Extremely high-speed data processing              |                    |                         | √                   | TDengine’s storage and data processing are optimized for IoT, and can process data many times faster than similar products. |
| Extremely fast processing of high resolution data |                    |                         | √                   | TDengine has achieved the same or better performance than other relational and NoSQL data processing systems.               |
114 115 116

### System Maintenance Requirements

117 118 119 120 121
| **System Maintenance Requirements**     | **Not Applicable** | **Might Be Applicable** | **Very Applicable** | **Description**                                                                                                                                                                                                                |
| --------------------------------------- | ------------------ | ----------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Native high-reliability                 |                    |                         | √                   | TDengine has a very robust, reliable and easily configurable system architecture to simplify routine operation. Human errors and accidents are eliminated to the greatest extent, with a streamlined experience for operators. |
| Minimize learning and maintenance costs |                    |                         | √                   | In addition to being easily configurable, standard SQL support and the TDengine CLI for ad hoc queries makes maintenance simpler, allows reuse and reduces learning costs.                                                     |
| Abundant talent supply                  | √                  |                         |                     | Given the above, and given the extensive training and professional services provided by TDengine, it is easy to migrate from existing solutions or create a new and lasting solution based on TDengine.                        |
122 123 124 125 126 127 128 129

## Comparison with other databases

- [Writing Performance Comparison of TDengine and InfluxDB ](https://tdengine.com/2022/02/23/4975.html)
- [Query Performance Comparison of TDengine and InfluxDB](https://tdengine.com/2022/02/24/5120.html)
- [TDengine vs OpenTSDB](https://tdengine.com/2019/09/12/710.html)
- [TDengine vs Cassandra](https://tdengine.com/2019/09/12/708.html)
- [TDengine vs InfluxDB](https://tdengine.com/2019/09/12/706.html)