October 2023 Summaries
15 posts from InfluxData
Filter
Month:
Year:
Post Summaries
Back to Blog
Converting between text and types related to dates and times is a common task in programming languages, and Python is no exception. In this post, we'll explain why converting between string and datetime is necessary due to Python's dynamically typed nature and the concept of naive and aware objects. The datetime module in Python contains several classes for handling date and time concerns, including date, time, datetime, and tzinfo. To convert a string to a datetime object in Python, you can use the fromisoformat class method on the datetime class or the strptime method with a defined format. It's essential to handle different date and time formats when converting strings to datetime objects, as an error occurs if the input string doesn't match the pattern. By importing the datetime module and using the correct methods, you can perform efficient and accurate conversions between strings and datetime objects in Python.
Oct 30, 2023
1,573 words in the original blog post.
MQTT, an asynchronous publish/subscribe communication protocol used extensively in Industrial IoT (IIoT), facilitates data exchange between devices at the edge and a centralized server. HiveMQ provides an MQTT platform that supports edge-driven development with its embedded lightweight MQTT broker, HiveMQ Edge. InfluxDB is purpose-built for time series data and has been improved with InfluxDB 3.0, which offers better write throughput, faster queries, and 90%+ storage cost savings through Apache Parquet persistence. The edge-to-cloud architecture discussed in the webinar integrates HiveMQ Edge and HiveMQ Cloud to seamlessly integrate OT and IT environments, enabling contextualization and normalization of data, and ensuring safe data transfer between devices and InfluxDB.
Oct 27, 2023
727 words in the original blog post.
InfluxDB v3 allows users to query data at a rate of 4.3 million points per second, but this is meaningless without the ability to query that data. Apache DataFusion, an extensible query execution framework written in Rust, enables faster query responses across various query types compared to previous versions of InfluxDB. DataFusion uses Apache Arrow as its in-memory format, which allows for 5–25x faster query responses. The SQL DataFusion API and Python DataFrame API are used for queries, allowing users to work with Arrow tables, Pandas DataFrames, and Parquet files. Pandas 2.0 supports Arrow and NumPy as the backend, offering performance benefits over Pandas 1.0. Querying Arrow tables with SQL is easier than performing transformations with Pandas, especially for users with SQL backgrounds.
Oct 25, 2023
690 words in the original blog post.
The FDAP stack, which stands for Flight, DataFusion, Arrow, and Parquet, is a set of open-source technologies used to build data-centric systems. InfluxDB 3.0, a time series database, leverages the FDAP stack to achieve faster performance, scalability, and integration with other systems. The stack provides reusable components that enable developers to focus on application logic rather than building low-level, complex table stakes OLAP technology. By using Arrow for efficient data representation, Flight for fast network communication, DataFusion for modular and state-of-the-art analytic query engine, and Parquet for well-compressed storage, InfluxDB 3.0 achieves faster performance, scalability, and integration with other systems. The FDAP stack is expected to play a significant role in underpinning next-generation data systems, similar to the LAMP stack did for web application development.
Oct 25, 2023
2,470 words in the original blog post.
The Python Time Library provides various functions to work with time-related operations such as working timestamps, measuring time intervals, and manipulating time in various ways. It's part of the Python Standard Library and can be used without installing any additional modules. The library includes functions like `time()`, `ctime()`, `gmtime()`, `asctime()`, `mktime()`, `sleep()`, `strftime()`, and `strptime()` that allow developers to handle time-related operations such as displaying the current time, calculating the time difference between two dates, measuring the execution of code, and converting time tuples or structs to human-readable formats. The library is useful in various use cases including date and time calculations, data logging with timestamps, profiling and benchmarking code, and more.
Oct 20, 2023
1,631 words in the original blog post.
InfluxDB 3.0 introduces a separation of storage and compute, with hot and cold storage tiers, where frequently queried data resides in the hot tier, while less frequently accessed data is moved to cold storage, which uses data compression techniques such as Apache Arrow and Parquet file format to optimize storage costs, utilizing low-cost cloud object storage for final storage, resulting in significant cost savings of 90% or more.
Oct 18, 2023
390 words in the original blog post.
The Quix platform has released two new community plugins for InfluxDB, which enable users to create a streaming task engine for InfluxDB 3.0 using Python. The plugins allow users to query InfluxDB using Apache Arrow Flight and publish data to a Quix stream topic, as well as ingest data from a Quix stream topic and write it to an InfluxDB instance. These plugins are highly customizable based on user needs, with environment variables that can be defined to run the scripts. The plugins provide a flexible way for users to transform and analyze data in real-time, making them ideal for industrial IoT use cases. By using these plugins, users can create event streaming pipelines that efficiently scale to meet their needs.
Oct 18, 2023
1,948 words in the original blog post.
The Home Assistant hardware guide provides a comprehensive overview of the requirements and recommendations for setting up an efficient home automation system. It discusses various options such as Raspberry Pi, Odroid-N2, Intel NUC, and SD cards, highlighting their strengths and weaknesses. The guide emphasizes the importance of considering future expansions, add-ons, and integrations when selecting hardware, and provides tips on how to choose the right hardware for specific needs. It also covers compatibility issues and offers advice on planning a budget and assessing needs before making a decision. Ultimately, the goal is to help users make an informed choice that aligns with their home automation setup and ensures a smooth experience.
Oct 16, 2023
1,342 words in the original blog post.
Stream processing is a crucial paradigm in big data analytics that involves continuously ingesting, analyzing, and acting on data as it's generated, offering real-time insights and operational efficiency. The architecture of stream-processing systems typically consists of data producers, data ingestion, data processing, data storage, and various tools like InfluxDB, Telegraf, Kafka, Amazon Kinesis, Grafana, AWS Lambda, Apache Spark, and Node-RED that facilitate the flow of data through these components. These tools enable businesses to harness real-time data and make informed decisions quickly, but understanding and choosing the right tool is just the beginning, and hands-on experience and prototyping are essential before committing to a production stream-processing system.
Oct 13, 2023
1,512 words in the original blog post.
Infrastructure monitoring is crucial for ensuring software reliability and reducing costs by collecting and analyzing data from various components such as network, server, application performance, and cloud infrastructure. To achieve this, companies can use popular tools like Telegraf, OpenTelemetry, InfluxDB, Prometheus, Graphite, Grafana, Apache Superset, Jaeger, and others to collect, store, and analyze data. A suitable monitoring system should be scalable, extensible, and user-friendly, allowing teams to view and manage their infrastructure effectively. By setting up a robust infrastructure monitoring system, companies can gain insights into the performance and health of their infrastructure, reduce downtime, and optimize resources, ultimately leading to cost savings and improved reliability.
Oct 11, 2023
2,140 words in the original blog post.
InfluxDB Clustered is the next evolution of InfluxDB Enterprise, a self-hosted and self-managed instance of InfluxDB designed for large enterprises that require high performance, control over their data and infrastructure, and enterprise-grade security. It leverages Kubernetes fundamentals and allows customers to fine-tune their database controls to meet specific requirements, with customization options including environments and workload tuning based on individual criteria. InfluxDB 3.0 is built on Apache Arrow, an in-memory columnar format, providing real-time query responses and low latency analytical query responses, while also persisting data as Apache Parquet files for high compression and cost savings benefits. The DataFusion query engine brings native SQL support to InfluxDB 3.0, delivering fast results even when querying across longer time ranges, and unlocking new use cases such as storing metrics, events, and traces with unlimited cardinality.
Oct 09, 2023
636 words in the original blog post.
InfluxData's flagship product, InfluxDB, was rewritten from scratch in Rust due to performance demands of handling high-cardinality time series data. Rust's fearless concurrency, borrow checker, and foreign function interface capabilities made it an attractive choice for building a columnar database that could support the company's vision for all time series use cases. The new version, InfluxDB 3.0, offers significant performance gains, scalability, and cost savings through its use of Apache Arrow, columnar databases, and low-cost cloud object storage. Despite challenges such as a high learning curve, Rust's benefits have made it a key factor in InfluxData's decision to continue using the language for future development.
Oct 09, 2023
1,092 words in the original blog post.
How date conversion works in SQL is crucial for tasks like timestamping entries, managing current events, keeping historical records, and tracking events. Understanding the basics of SQL date conversion is essential to effectively manipulate and convert dates with SQL Server's built-in functions. The post explores various methods for date conversion using CAST, CONVERT, DATE_FORMAT, and FORMAT functions, along with practical examples and best practices to avoid common mistakes like incorrect date formats or invalid non-existent dates. By following these guidelines and utilizing the appropriate SQL functions, developers can efficiently handle date conversion in their SQL databases, ensuring data accuracy and query performance.
Oct 06, 2023
1,653 words in the original blog post.
InfluxDB 3.0 achieves drastic improvements in data ingest efficiency and compression by introducing a new data model that persists data by table, rather than time series, and uses the Parquet file format for efficient storage and querying. The database's default behavior generates a new Parquet file every 15 minutes, with each file representing one day of data for a single measurement, and limits the size of each Parquet file to 100 megabytes. InfluxDB 3.0 also optimizes analytical queries by using custom partitioning, which allows users to define their own partitioning scheme based on tag keys and values, and enables faster query performance for specific query types. The database's ingest process is streamlined, requiring fewer compute resources compared to previous versions, and uses a write ahead log (WAL) to ensure durability and availability. Additionally, InfluxDB 3.0 optimizes leading edge queries by using the Apache Arrow ecosystem, including Parquet, for high-performance analytical queries on large datasets. The combination of these features results in significant compression gains, enabling users to store more data in less space for a fraction of the cost.
Oct 04, 2023
1,821 words in the original blog post.
This tutorial shows how to use time series data to test home internet speeds using the TIG stack, which includes Telegraf, InfluxDB Cloud Serverless, and Grafana. To start, users need to set up their environment with a free InfluxDB Cloud Serverless account, a free Grafana cloud account, and Telegraf installed on their machine. The process involves creating a Telegraf configuration that collects data from the home internet speed test servers using the Speedtest by Ookla plugin. The data is then sent to InfluxDB Cloud Serverless, where it can be queried and visualized in real-time using Grafana. Users can analyze their internet speeds, identify potential issues, and gain insights into their connection quality.
Oct 04, 2023
1,285 words in the original blog post.