{"id":5408,"date":"2021-08-13T09:05:53","date_gmt":"2021-08-13T09:05:53","guid":{"rendered":"http:\/\/www.odbms.org\/blog\/?p=5408"},"modified":"2021-08-13T19:35:58","modified_gmt":"2021-08-13T19:35:58","slug":"on-time-series-databases-interview-with-ryan-betts","status":"publish","type":"post","link":"https:\/\/www.odbms.org\/blog\/2021\/08\/on-time-series-databases-interview-with-ryan-betts\/","title":{"rendered":"On Time Series Databases. Interview with Ryan Betts"},"content":{"rendered":"\n<p>I have interviewed <strong>Ryan Betts<\/strong><em>, <\/em>VP of Engineering at<a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.influxdata.com\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms');\"  href=\"https:\/\/www.influxdata.com\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" data-type=\"URL\" data-id=\"https:\/\/www.influxdata.com\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" target=\"_blank\" rel=\"noreferrer noopener\"> InfluxData<\/a>. We talked about time series databases, InfluxDB and the InfluxData stack.  RVZ<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>&#8220;<em>Time series databases have key architectural design properties that make them very different from other databases. These include time-stamped data storage and compression, data lifecycle management, data summarization, ability to handle large time-series-dependent scans of many records, and time-series-aware queries.<\/em>&#8220;&#8211;<strong>Ryan Betts<\/strong><\/p><\/blockquote>\n\n\n\n<h3>Q1. What is time series data?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Time_series');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Time_series\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Time_series\" target=\"_blank\" rel=\"noreferrer noopener\">Time series<\/a> data consists of measurements or events that are captured and analyzed, often in real time, to operate a service within an <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Service-level_objective');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Service-level_objective\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Service-level_objective\" target=\"_blank\" rel=\"noreferrer noopener\">SLO<\/a>, detect anomalies, or visualize changes and trends. Common time series applications include server metrics, application performance monitoring, network monitoring, and sensor data analytics and control loops. Metrics, events, traces and logs are examples of time series data.<\/p>\n\n\n\n<h3>Q2. What are the hard database requirements for time series applications?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: Managing time series data requires high-performance ingest (time series data is often high-velocity, high-volume), real-time analytics for alerting and alarming, and the ability to perform historical analytics against the data that\u2019s been collected. Additionally, many time series applications apply a lifecycle policy to the data collected \u2014 perhaps downsampling or aggregating raw data for historical use.&nbsp;&nbsp;<\/p>\n\n\n\n<p>With time series, it\u2019s common to perform analytics queries over a substantial amount of data. Time series queries commonly include columnar scans, grouped and windowed aggregates, and lag calculations. This kind of workload is difficult to optimize in a distributed key value store. <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.influxdata.com?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms');\"  href=\"https:\/\/www.influxdata.com?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" data-type=\"URL\" data-id=\"https:\/\/www.influxdata.com?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" target=\"_blank\" rel=\"noreferrer noopener\">InfluxDB<\/a> uses columnar database techniques to optimize for exactly these use cases, giving sub-second query times over swathes of data and supporting a rich analytics vocabulary.<\/p>\n\n\n\n<p>While time series data is typically structured, it often has dynamic properties that aren\u2019t well-suited to strict schema enforcement. Time series databases often specify the structure of data but allow schema-on-write. Another way of saying this is that time series databases often support arbitrary dimension data to decorate the contents of the fact table. This allows developers to create new instrumentation or collect metrics from new sources without performing frequent schema migrations. Document databases and column-family stores similarly allow flexible schema in their own contexts. The motivation with time series is similar \u2014 optimizing for developer productivity.<\/p>\n\n\n\n<p>In addition to high-performance ingest, non-trivial analytics queries, and flexible schema, TSDBs also need to bridge real-time analytics to real-time action. There\u2019s little point doing real-time monitoring if you can\u2019t also automate real-time responses. So time series databases, like other real-time analytics systems, need to provide the analytics function and the ability to tie into real-time operations. That means integrating automated alerting, alarming, and API invocations with the query analytics performed for monitoring.&nbsp;<\/p>\n\n\n\n<h3>Q3. How do you manage the massive volumes and countless sources of time-stamped data produced by sensors, applications and infrastructures?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: The <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.influxdata.com\/products\/influxdb-cloud\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms');\"  href=\"https:\/\/www.influxdata.com\/products\/influxdb-cloud\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" data-type=\"URL\" data-id=\"https:\/\/www.influxdata.com\/products\/influxdb-cloud\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" target=\"_blank\" rel=\"noreferrer noopener\">InfluxData stack<\/a> is optimized for both regular (metrics often gathered from software or hardware sensors) and irregular time series data (events driven either by users or external events), which is a significant differentiator from other solutions like <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/graphiteapp.org');\" rel=\"noreferrer noopener\"  href=\"https:\/\/graphiteapp.org\" data-type=\"URL\" data-id=\"https:\/\/graphiteapp.org\" target=\"_blank\">Graphite<\/a>, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/stackoverflow.com\/questions\/32266919\/rrd-time-series-data');\" rel=\"noreferrer noopener\"  href=\"https:\/\/stackoverflow.com\/questions\/32266919\/rrd-time-series-data\" data-type=\"URL\" data-id=\"https:\/\/stackoverflow.com\/questions\/32266919\/rrd-time-series-data\" target=\"_blank\">RRD<\/a>, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/opentsdb.net');\" rel=\"noreferrer noopener\"  href=\"http:\/\/opentsdb.net\" data-type=\"URL\" data-id=\"http:\/\/opentsdb.net\" target=\"_blank\">OpenTSDB<\/a>, or <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/prometheus.io');\" rel=\"noreferrer noopener\"  href=\"https:\/\/prometheus.io\" data-type=\"URL\" data-id=\"https:\/\/prometheus.io\" target=\"_blank\">Prometheus<\/a>. Many services and time series databases support only the regular time series metrics use case.&nbsp;<\/p>\n\n\n\n<p>InfluxDB lets users collect from multiple and diverse sources, store, query, process and visualize raw high-precision data in addition to the aggregated and downsampled data. This makes InfluxDB a viable choice for applications in science and sensors that require storing raw data.<\/p>\n\n\n\n<p>At the storage level, InfluxDB organizes data into a columnar format and applies various compression algorithms, typically reducing storage to a fraction of the raw uncompressed size. Time series applications are \u201cappend-mostly\u201d.&nbsp;&nbsp;The majority of arriving data is appended.&nbsp;&nbsp;Late arriving data and deletes occur with some frequency \u2014 but primarily writes result in appending to the fact table. The database uses a log structured merge tree architecture to meet these requirements. Deletes are recorded first as tombstones and are later removed through LSM compaction.<\/p>\n\n\n\n<h3>Q4. Can you give us some time series examples?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: Time series data, also referred to as time-stamped data, is a sequence of data points indexed in time order. Time-stamped is data collected at different points in time.<\/p>\n\n\n\n<p>These data points typically consist of successive measurements made from the same source over a time interval and are used to track change over time.<\/p>\n\n\n\n<p>Weather records, step trackers, heart rate monitors, all are time series data. If you look at the stock exchange, a time series tracks the movement of data points, such as a security\u2019s price over a specified period of time with data points recorded at regular intervals.<\/p>\n\n\n\n<p>InfluxDB has a line protocol for sending time series data which takes the following form:<\/p>\n\n\n\n<p>&lt;measurement name&gt;,&lt;tag set&gt; &lt;field set&gt; &lt;timestamp&gt;<\/p>\n\n\n\n<p>The measurement name is a string, the tag set is a collection of key\/value pairs where all values are strings, and the field set is a collection of key\/value pairs where the values can be int64, float64, bool, or string. The measurement name and tag sets are kept in an inverted index which makes lookups for specific series very fast.<\/p>\n\n\n\n<p>For example, if we have CPU metrics:<\/p>\n\n\n\n<p>cpu,host=serverA,region=uswest idle=23,user=42,system=12 1549063516<\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Timestamp');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Timestamp\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Timestamp\">Timestamps<\/a> in InfluxDB can be by second, millisecond, microsecond, or nanosecond precision. The micro and nanosecond scales make InfluxDB a good choice for use cases in finance and scientific computing where other solutions would be excluded. Compression is variable depending on the level of precision the user needs.<\/p>\n\n\n\n<h3>Q5. The fact that time series data is ordered makes it unique in the data space because it often displays serial dependence. What does it mean in practice?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: Serial dependence occurs when the value of a datapoint at one time is statistically dependent on another datapoint at another time.<\/p>\n\n\n\n<p>Though there are no events that exist outside of time, there are events where time isn\u2019t relevant. Time series data isn\u2019t simply about things that happen in chronological order \u2014 it\u2019s about events whose value increases when you add time as an axis. Time series data sometimes exists at high levels of granularity, as frequently as microseconds or even nanoseconds. With time series data, change over time is everything.<\/p>\n\n\n\n<h3>Q6. How is time series data understood and used?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: Time series data is gathered, stored, visualized and analyzed for various purposes across various domains:<\/p>\n\n\n\n<ol type=\"1\"><li>In <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Data_mining');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Data_mining\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Data_mining\" target=\"_blank\" rel=\"noreferrer noopener\">data mining<\/a>, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Pattern_recognition');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Pattern_recognition\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Pattern_recognition\" target=\"_blank\" rel=\"noreferrer noopener\">pattern recognition<\/a> and <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Machine_learning');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Machine_learning\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Machine_learning\" target=\"_blank\" rel=\"noreferrer noopener\">machine learning<\/a>, time series analysis is used for clustering, classification, query by content, anomaly detection and forecasting.<\/li><li>In <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Signal_processing');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Signal_processing\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Signal_processing\" target=\"_blank\" rel=\"noreferrer noopener\">signal processing<\/a>, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Control_engineering');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Control_engineering\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Control_engineering\" target=\"_blank\" rel=\"noreferrer noopener\">control engineering<\/a> and <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Telecommunications_engineering');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Telecommunications_engineering\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Telecommunications_engineering\" target=\"_blank\" rel=\"noreferrer noopener\">communication engineering<\/a>, time series data is used for signal detection and estimation.<\/li><li>In statistics, econometrics, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Quantitative_analysis_(finance)');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Quantitative_analysis_(finance)\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Quantitative_analysis_(finance)\" target=\"_blank\" rel=\"noreferrer noopener\">quantitative finance<\/a>, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Seismology');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Seismology\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Seismology\" target=\"_blank\" rel=\"noreferrer noopener\">seismology<\/a>, <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Meteorology');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Meteorology\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Meteorology\" target=\"_blank\" rel=\"noreferrer noopener\">meteorology<\/a>, and <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Geophysics');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Geophysics\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Geophysics\" target=\"_blank\" rel=\"noreferrer noopener\">geophysics<\/a>, time series analysis is used for forecasting.<\/li><\/ol>\n\n\n\n<p>Time series data can be visualized in different types of charts to facilitate insight extraction, trend analysis, and anomaly detection. Time series data is used in time series analysis (historical or real-time) and time series forecasting to detect and predict patterns \u2014 essentially looking at change over time.&nbsp;<\/p>\n\n\n\n<h3>Q7. You also handle two other kinds of data, namely cross-section and panel data. What are these? How do you handle them?<\/h3>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Cross-sectional_data');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Cross-sectional_data\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Cross-sectional_data\" target=\"_blank\" rel=\"noreferrer noopener\">Cross-sectional data<\/a> is a collection of observations (behavior) for multiple entities at a single point in time. For example: Max Temperature, Humidity and Wind (all three behaviors) in New York City, SFO, Boston, Chicago (multiple entities) on 1\/1\/2015 (single instance).<\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Panel_data');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Panel_data\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Panel_data\" target=\"_blank\" rel=\"noreferrer noopener\">Panel data<\/a> is usually called cross-sectional time series data, as it is a combination of both time series data and cross-sectional data (i.e., collection of observations for multiple subjects at multiple instances).<\/p>\n\n\n\n<p>This collection of data can be combined in a single series, or you can use <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Flux_(machine-learning_framework)');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Flux_(machine-learning_framework)\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Flux_(machine-learning_framework)\" target=\"_blank\" rel=\"noreferrer noopener\">Flux lang<\/a> to combine and review this data to gather insights.&nbsp;<\/p>\n\n\n\n<h3>Q8. There are several time series databases available in the market. What makes InfluxDB time series database unique?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: When doing a comparison, the entire InfluxDB Platform should be taken into account. There are multiple types of databases that get brought up for comparison. Mostly, these are distributed databases like <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Apache_Cassandra');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\" target=\"_blank\" rel=\"noreferrer noopener\">Cassandra<\/a> or more time-series-focused databases like <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Graphite_(software)');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Graphite_(software)\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Graphite_(software)\" target=\"_blank\" rel=\"noreferrer noopener\">Graphite<\/a> or <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/RRDtool');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/RRDtool\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/RRDtool\" target=\"_blank\" rel=\"noreferrer noopener\">RRD<\/a>. When comparing InfluxDB with Cassandra or <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/Apache_HBase');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_HBase\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Apache_HBase\" target=\"_blank\" rel=\"noreferrer noopener\">HBase<\/a>, there are some stark differences. First, those databases require a significant investment in developer time and code to recreate the functionality provided out of the box by InfluxDB. Finally, they\u2019ll have to create an API to write and query their new service.<\/p>\n\n\n\n<p>Developers using Cassandra or HBase need to write tools for data collection, introduce a real-time processing system and write code for monitoring and alerting. Finally, they\u2019ll need to write a visualization engine to display the time series data to the user. While some of these tasks are handled with other time series databases, there are a few key differences between the other solutions and InfluxDB. First, other time series solutions like Graphite or <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/opentsdb.net');\"  href=\"http:\/\/opentsdb.net\" data-type=\"URL\" data-id=\"http:\/\/opentsdb.net\" target=\"_blank\" rel=\"noreferrer noopener\">OpenTSD<\/a>B are designed with only regular time series data in mind and don\u2019t have the ability to store raw high-precision data and downsample it on the fly.<\/p>\n\n\n\n<p>While with other time series databases, the developer must summarize their data before they put it into the database, InfluxDB lets the developer seamlessly transition from raw time series data into summarizations.<\/p>\n\n\n\n<p>InfluxDB also has key advantages for developers over <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/aws.amazon.com\/timestream\/');\"  href=\"https:\/\/aws.amazon.com\/timestream\/\" data-type=\"URL\" data-id=\"https:\/\/aws.amazon.com\/timestream\/\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon Timestream<\/a>. Among them:<\/p>\n\n\n\n<ul><li>InfluxData is first and foremost an open source company. It is committed to sharing ideas and information openly, collaborating on solutions and providing full transparency to drive innovation.<\/li><li>Hybrid cloud and on-premises support. Every business has specific functionalities, and a hybrid cloud system offers the flexibility to choose services that best fit their needs, whether to support <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/en.wikipedia.org\/wiki\/General_Data_Protection_Regulation');\"  href=\"https:\/\/en.wikipedia.org\/wiki\/General_Data_Protection_Regulation\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/General_Data_Protection_Regulation\" target=\"_blank\" rel=\"noreferrer noopener\">GDPR regulatory <\/a>requirements or teams that are spread across multiple providers.<\/li><\/ul>\n\n\n\n<h3>Q9. What distinguishes the time series workload?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: Time series databases have key architectural design properties that make them very different from other databases. These include time-stamped data storage and compression, data lifecycle management, data summarization, ability to handle large time-series-dependent scans of many records, and time-series-aware queries.<\/p>\n\n\n\n<p>For example: With a time series database, it is common to request a summary of data over a large time period. This requires going over a range of data points to perform some computation like a percentile increase this month of a metric over the same period in the last six months, summarized by month. This kind of workload is very difficult to optimize for with a distributed key value store. TSDB\u2019s are optimized for exactly this use case giving millisecond- level query times over months of data.<\/p>\n\n\n\n<h3>Q10. Let&#8217;s talk about integrations. Software services don\u2019t work alone. Suppose an application relies on Amazon Web Services, or monitors Kubernetes with Grafana or deploys applications through Docker, how easy is it to integrate them with InfluxDB?<\/h3>\n\n\n\n<p><strong>Ryan Betts<\/strong>: InfluxData provides tools and services that help you integrate your favorite systems across the spectrum of IT offerings, from applications to services, databases to containers. We currently offer 200+ <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.influxdata.com\/time-series-platform\/telegraf\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms');\"  href=\"https:\/\/www.influxdata.com\/time-series-platform\/telegraf\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" data-type=\"URL\" data-id=\"https:\/\/www.influxdata.com\/time-series-platform\/telegraf\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" target=\"_blank\" rel=\"noreferrer noopener\">Telegraf <\/a>plugins to allow these seamless integrations. Developers using the InfluxDB platform build their applications with less effort, less code, and less configuration with the use of a set of powerful APIs and tools. InfluxDB client libraries are language-specific tools that integrate with the InfluxDB API and can be used to write data into InfluxDB as well as query the stored data.<\/p>\n\n\n\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.odbms.org\/blog\/wp-content\/uploads\/2021\/08\/image.jpeg');\"  href=\"http:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2021\/08\/image.jpeg\"><img decoding=\"async\" loading=\"lazy\" width=\"197\" height=\"256\" src=\"http:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2021\/08\/image.jpeg\" alt=\"\" class=\"wp-image-5410\"\/><\/a><\/figure>\n\n\n\n<p><strong>Ryan Betts <\/strong><em>is VP of Engineering at InfluxData. Ryan has been building high performance infrastructure software for over twenty years. Prior to InfluxData, Ryan was the second employee and CTO at VoltDB. Before VoltDB, he spent time building SOA security and core networking products. Ryan holds a B.S. in Mathematics from Worcester Polytechnic Institute and an MBA from Babson College.<\/em><\/p>\n\n\n\n<p><strong>Resources<\/strong><\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/github.com\/influxdata\/influxdb');\" rel=\"noreferrer noopener\"  href=\"https:\/\/github.com\/influxdata\/influxdb\" data-type=\"URL\" data-id=\"https:\/\/github.com\/influxdata\/influxdb\" target=\"_blank\">influxdata\/influxdb: Scalable datastore for metrics &#8211; GitHub<\/a><\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.youtube.com\/watch?v=MwaoRsa0oU8');\"  href=\"https:\/\/www.youtube.com\/watch?v=MwaoRsa0oU8\" data-type=\"URL\" data-id=\"https:\/\/www.youtube.com\/watch?v=MwaoRsa0oU8\" target=\"_blank\" rel=\"noreferrer noopener\">Introduction to Time Series Databases | Getting Started [1 of 7] YouTube<\/a><\/p>\n\n\n\n<p><strong>Related Posts<\/strong><\/p>\n\n\n\n<h5><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.influxdata.com\/blog\/covid-19-tracking-using-telegraf-and-influxdb-dashboards\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms');\"  href=\"https:\/\/www.influxdata.com\/blog\/covid-19-tracking-using-telegraf-and-influxdb-dashboards\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\" data-type=\"URL\" data-id=\"https:\/\/www.influxdata.com\/blog\/covid-19-tracking-using-telegraf-and-influxdb-dashboards\/?utm_source=vendor&amp;utm_medium=referral&amp;utm_campaign=2021_spnsr-web_website-content_odbms\">COVID-19 Tracking Using Telegraf and InfluxDB Dashboards<\/a><\/h5>\n\n\n\n<p><\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.odbms.org\/2021\/05\/on-big-data-benchmarking-qa-with-richard-stevens\/');\"  href=\"http:\/\/www.odbms.org\/2021\/05\/on-big-data-benchmarking-qa-with-richard-stevens\/\">On Big Data Benchmarking. Q&amp;A with Richard Stevens<\/a><\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.odbms.org\/2021\/03\/the-2021-ai-index-report-hai-stanford-university\/');\"  href=\"http:\/\/www.odbms.org\/2021\/03\/the-2021-ai-index-report-hai-stanford-university\/\">The 2021 AI Index report (HAI Stanford University)<\/a><\/p>\n\n\n\n<p><strong>Follow us on Twitter: <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/twitter.com\/odbmsorg');\" rel=\"noreferrer noopener\"  href=\"https:\/\/twitter.com\/odbmsorg\" data-type=\"URL\" data-id=\"https:\/\/twitter.com\/odbmsorg\" target=\"_blank\">@odbmsorg<\/a><\/strong><\/p>\n\n\n\n<p>##<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>I have interviewed Ryan Betts, VP of Engineering at InfluxData. We talked about time series databases, InfluxDB and the InfluxData stack. RVZ &#8220;Time series databases have key architectural design properties that make them very different from other databases. These include time-stamped data storage and compression, data lifecycle management, data summarization, ability to handle large time-series-dependent [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[29,1650,1267,1649,1651,1386,446,1051,650,1652],"_links":{"self":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts\/5408"}],"collection":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/comments?post=5408"}],"version-history":[{"count":16,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts\/5408\/revisions"}],"predecessor-version":[{"id":5427,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts\/5408\/revisions\/5427"}],"wp:attachment":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/media?parent=5408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/categories?post=5408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/tags?post=5408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}