<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[Tiger Data Blog]]></title>
        <description><![CDATA[Insights, product updates, and tips from TigerData (Creators of TimescaleDB) engineers on Postgres, time series & AI. IoT, crypto, and analytics tutorials & use cases.]]></description>
        <link>https://www.tigerdata.com/blog</link>
        <image>
            <url>https://www.tigerdata.com/icon.ico</url>
            <title>Tiger Data Blog</title>
            <link>https://www.tigerdata.com/blog</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Tue, 07 Apr 2026 09:58:04 GMT</lastBuildDate>
        <atom:link href="https://www.tigerdata.com/blog" rel="self" type="application/rss+xml"/>
        <ttl>60</ttl>
        <item>
            <title><![CDATA[A Sneak Peek Into the State of PostgreSQL 2024]]></title>
            <description><![CDATA[The 2024 State of PostgreSQL survey report is out! Read its first findings.
]]></description>
            <link>https://www.tigerdata.com/blog/state-of-postgresql-2024</link>
            <guid isPermaLink="true">https://www.tigerdata.com/blog/state-of-postgresql-2024</guid>
            <category><![CDATA[State of PostgreSQL]]></category>
            <category><![CDATA[PostgreSQL]]></category>
            <dc:creator><![CDATA[Ana Tavares]]></dc:creator>
            <pubDate>Tue, 17 Dec 2024 14:49:07 GMT</pubDate>
            <media:content medium="image" href="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_cover.png">
            </media:content>
            <content:encoded><![CDATA[<p>Software trends may come and go, but PostgreSQL continues to be a bastion of resilience and innovation. With more than 35 years of active development under its belt, this relational database has established itself as a cornerstone of the open-source ecosystem—and as part of its community, we’re happy to celebrate it once more by sharing the results of the fifth edition of the State of PostgreSQL survey. 🎉</p><p>The <em>2024 State of PostgreSQL</em> survey ran for two months (September 1 through October 31), and 688 people provided responses. If you answered our questions, shared the survey on social media, or sent it to a friend—thank you! Your support is everything to us.♥️</p><p>So, sit back and grab your beverage of choice as we highlight 2024’s trends in PostgreSQL adoption, usage, and community engagement. Drum roll, please. 🥁 Here are some key insights from the <em>2024 State of PostgreSQL</em> survey:</p><ul><li><strong>Decline in new user adoption:</strong> There are fewer new PostgreSQL users. Only 4.1&nbsp;% of respondents reported less than one year of experience with PostgreSQL, down from 8.1&nbsp;% in 2023.</li><li><strong>AI tools on the rise:</strong> 55.3&nbsp;% of PostgreSQL developers now use AI tools, a sharp increase from 36.9&nbsp;% in 2023. This highlights AI's growing role in development workflows. Check our State of PostgreSQL AI blog post to learn more about how PostgreSQL users are building with AI.</li><li><strong>Versatility across use cases:</strong> 60&nbsp;% of respondents use PostgreSQL for both personal and professional projects, a significant 20&nbsp;% increase from last year.</li></ul><p>Curious about what else we uncovered? 👀 Read on for a comprehensive dive into the State of PostgreSQL in 2024, and don’t forget to <a href="https://www.timescale.com/state-of-postgres/2024" rel="noreferrer">check out the full report</a>!</p><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">✨</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">About the State of PostgreSQL</strong></b><br><i><em class="italic" style="white-space: pre-wrap;">Timescale’s love for PostgreSQL, one of the world’s most advanced open-source databases with 35+ years of history, runs deep.</em></i><a href="http://www.timescale.com/?ref=timescale.com"> <u><i><em class="italic underline" style="white-space: pre-wrap;">We built our products on PostgreSQL</em></i></u></a><i><em class="italic" style="white-space: pre-wrap;">, we love</em></i><a href="https://www.timescale.com/developers?ref=timescale.com"> <u><i><em class="italic underline" style="white-space: pre-wrap;">enabling other developers to use this reliable technology</em></i></u></a><i><em class="italic" style="white-space: pre-wrap;">, and </em></i><a href="https://www.timescale.com/blog/scaling-postgresql-to-petabyte-scale/"><u><i><em class="italic underline" style="white-space: pre-wrap;">we wouldn’t exist without it and the extensibility it provides</em></i></u></a><i><em class="italic" style="white-space: pre-wrap;">.</em></i><br><br><i><em class="italic" style="white-space: pre-wrap;">In 2019, Timescale launched the first State of PostgreSQL report, advancing our desire to provide greater insights into the vibrant and growing PostgreSQL user base. The report provides valuable insights into this great community, from whether respondents use PostgreSQL for work or personal projects (or both!) to their favorite PostgreSQL tools, features, and information sources. Following a one-year hiatus due to the pandemic, we resumed the annual survey in 2021.</em></i> <i><em class="italic" style="white-space: pre-wrap;">This is the</em></i><a href="https://www.timescale.com/state-of-postgres/2024" rel="noreferrer"><i><em class="italic" style="white-space: pre-wrap;"> fifth State of PostgreSQL report</em></i></a><i><em class="italic" style="white-space: pre-wrap;">. Check out the</em></i><a href="https://drive.google.com/drive/folders/14elckaNv7FLKyWhzp3JKd3tH6PvI9F45?usp=sharing&amp;ref=timescale.com"> <u><i><em class="italic underline" style="white-space: pre-wrap;">second</em></i></u></a><i><em class="italic" style="white-space: pre-wrap;">,</em></i><a href="https://s3.amazonaws.com/assets.timescale.com/resources/state_of_postgres/State_of_PostgreSQL_2022_Full_Report.pdf?ref=timescale.com"> <u><i><em class="italic underline" style="white-space: pre-wrap;">third</em></i></u></a><i><em class="italic" style="white-space: pre-wrap;">, and </em></i><a href="https://www.timescale.com/state-of-postgres/2023?ref=timescale.com"><u><i><em class="italic underline" style="white-space: pre-wrap;">fourth</em></i></u></a><i><em class="italic" style="white-space: pre-wrap;"> report editions.</em></i></div></div><h2 id="the-state-of-postgresql-2024-demographics">The State of PostgreSQL 2024 Demographics</h2><p>Let’s start by finding out who are this year’s State of PostgreSQL respondents.</p><h3 id="what-is-your-primary-geographic-location">What is your primary geographic location? </h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP_2024_geo-location-1.png" class="kg-image" alt="A world map with the respondents geo location by percentage" loading="lazy" width="1304" height="745" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP_2024_geo-location-1.png 600w, https://timescale.ghost.io/blog/content/images/size/w1000/2024/12/SOP_2024_geo-location-1.png 1000w, https://timescale.ghost.io/blog/content/images/2024/12/SOP_2024_geo-location-1.png 1304w" sizes="(min-width: 720px) 720px"></figure><p>For another year, respondents from <strong>EMEA (Europe, Middle East, Africa)</strong> dominated the survey, representing over half of all participants. <strong>North America</strong> remains steady at 25&nbsp;%, while <strong>APAC (Asia-Pacific)</strong> saw a notable dip, dropping from 12&nbsp;% to 7&nbsp;%. These shifts underline PostgreSQL's stronghold in EMEA and opportunities for growth in APAC.</p><h3 id="how-long-have-you-been-using-postgresql">How long have you been using PostgreSQL? </h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_usage-time.png" class="kg-image" alt="A line graph on how long respondents have been using PostgreSQL" loading="lazy" width="1305" height="743" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP2024_usage-time.png 600w, https://timescale.ghost.io/blog/content/images/size/w1000/2024/12/SOP2024_usage-time.png 1000w, https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_usage-time.png 1305w" sizes="(min-width: 720px) 720px"></figure><p>Seasoned PostgreSQL users are on the rise. Respondents with <strong>15+ years of experience</strong> surged to 21&nbsp;% from 11&nbsp;% in 2023, while those with <strong>10-15 years of experience</strong> also saw an uptick. However, <strong>new user adoption is declining sharply,</strong> with users having less than two years of experience dropping from 23.8&nbsp;% in 2023 to just 12.5&nbsp;% this year.</p><h3 id="what-is-your-current-profession-or-job-status">What is your current profession or job status?</h3><p>The top industries using PostgreSQL remain <strong>Software/SaaS (21&nbsp;%), Information Technology (18&nbsp;%),</strong> and <strong>Finance/Fintech (18&nbsp;%).</strong> Healthcare/Pharmaceuticals entered the top five for the first time, highlighting PostgreSQL’s growing appeal in diverse fields.</p><p>In terms of job roles, <strong>Backend Software Developers (28&nbsp;%), Fullstack Developers (16&nbsp;%),</strong> and <strong>Database Administrators (12&nbsp;%)</strong> lead the way.</p><h2 id="the-postgresql-community">The PostgreSQL Community</h2><h3 id="how-did-you-first-find-out-about-postgresql">How did you first find out about PostgreSQL?</h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_first-find-out-postgresql.png" class="kg-image" alt="A bar graph on how respondents first found out about PostgreSQL. Work or colleague is #1." loading="lazy" width="1680" height="1808" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP2024_first-find-out-postgresql.png 600w, https://timescale.ghost.io/blog/content/images/size/w1000/2024/12/SOP2024_first-find-out-postgresql.png 1000w, https://timescale.ghost.io/blog/content/images/size/w1600/2024/12/SOP2024_first-find-out-postgresql.png 1600w, https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_first-find-out-postgresql.png 1680w" sizes="(min-width: 720px) 720px"></figure><p>Workplace environments are becoming a primary introduction point for PostgreSQL, with 30&nbsp;% of respondents reporting they learned about it from colleagues or work settings. This marks a small but steady increase over last year’s 28&nbsp;%. Technical forums and online communities remain stable at 6&nbsp;%, while 25&nbsp;% of respondents—second only to workplace discovery—can’t recall where they first encountered PostgreSQL.</p><h3 id="have-you-ever-contributed-to-postgresql">Have you ever contributed to PostgreSQL?</h3><p><em><strong>Note</strong>: In 2024, we added Developer Relations to the multiple-choice options.</em></p><p>This year, the question "Have you contributed to PostgreSQL?" expanded to include multiple contribution options. While <strong>58&nbsp;% of respondents</strong> reported no contributions, the remaining 42&nbsp;% have engaged with PostgreSQL in diverse ways:</p><ul><li><strong>Advocacy</strong>: 17&nbsp;%</li><li><strong>Bug reporting</strong>: 16&nbsp;%</li><li><strong>Hosting user groups or meetups</strong>: 11&nbsp;%</li><li><strong>Documentation</strong>: 9&nbsp;%</li></ul><p>These findings highlight the many ways developers contribute beyond just writing code, enriching the PostgreSQL ecosystem.</p><h3 id="how-would-you-rate-your-ability-to-connect-with-the-postgresql-community">How would you rate your ability to connect with the PostgreSQL community?&nbsp;</h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024-ability-to-connect-to-community.png" class="kg-image" alt="A bar graph displaying the respondents' take on their ability to connect with the PostgreSQL community" loading="lazy" width="1680" height="1580" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP2024-ability-to-connect-to-community.png 600w, https://timescale.ghost.io/blog/content/images/size/w1000/2024/12/SOP2024-ability-to-connect-to-community.png 1000w, https://timescale.ghost.io/blog/content/images/size/w1600/2024/12/SOP2024-ability-to-connect-to-community.png 1600w, https://timescale.ghost.io/blog/content/images/2024/12/SOP2024-ability-to-connect-to-community.png 1680w" sizes="(min-width: 720px) 720px"></figure><p>As opposed to last year’s numbers, respondents are finding it <strong>slightly easier to connect to the community</strong> than in previous years, with Medium (43&nbsp;%) and Extremely easy (18&nbsp;%) responses up by two percentage points from 2023.</p><p>A total of 384 respondents answered bonus questions, shedding light on what they like the most about the PostgreSQL community:</p><h3 id="in-your-experience-what%E2%80%99s-the-best-thing-about-the-postgresql-community-what-do-you-like-the-most">In your experience, what’s the best thing about the PostgreSQL community / what do you like the most? </h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_community-opinions.png" class="kg-image" alt="Three quotes from community members on the best thing about the PostgreSQL community" loading="lazy" width="936" height="428" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP2024_community-opinions.png 600w, https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_community-opinions.png 936w" sizes="(min-width: 720px) 720px"></figure><h2 id="ecosystem-and-tools">Ecosystem and Tools</h2><p>PostgreSQL’s ecosystem is one of its strongest assets, offering a rich array of tools and extensions that enhance its already robust feature set. This year’s survey explored which PostgreSQL features, complementary tools, and extensions resonate most with users. Here's what the PostgreSQL community highlighted in 2024.</p><h3 id="what-is-your-favorite-postgresql-feature">What is your favorite PostgreSQL feature?</h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_fav-feature.png" class="kg-image" alt="A word cloud of the community'es favorite PostgreSQL features" loading="lazy" width="935" height="373" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP2024_fav-feature.png 600w, https://timescale.ghost.io/blog/content/images/2024/12/SOP2024_fav-feature.png 935w" sizes="(min-width: 720px) 720px"></figure><p>When asked about their favorite PostgreSQL features, respondents overwhelmingly pointed to <strong>extensibility</strong>, which remains PostgreSQL’s standout capability. This was followed by <strong>JSON support</strong>, prized for its flexibility in managing semi-structured data, and <strong>replication</strong>, a key enabler of high availability and fault tolerance.</p><p>👉 Interested in <a href="https://www.timescale.com/learn/postgresql-database-replication-guide"><u>PostgreSQL replication</u></a>? Check out our guide.</p><h3 id="what-other-tools-do-you-use-that-complement-postgresql">What other tools do you use that complement PostgreSQL?</h3><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/12/SOP2024-other-tools.png" class="kg-image" alt="A list with the answers to the question &quot;What other tools do you use that complement PostgreSQL?&quot; In order: TimescaleDB, Redis, pgBouncer, Patroni, AWS RDS, pgAdmin, PostGIS, Grafana, Barman, Docker, Kubernetes." loading="lazy" width="1680" height="695" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/12/SOP2024-other-tools.png 600w, https://timescale.ghost.io/blog/content/images/size/w1000/2024/12/SOP2024-other-tools.png 1000w, https://timescale.ghost.io/blog/content/images/size/w1600/2024/12/SOP2024-other-tools.png 1600w, https://timescale.ghost.io/blog/content/images/2024/12/SOP2024-other-tools.png 1680w" sizes="(min-width: 720px) 720px"></figure><p>Respondents highlighted the tools they most frequently use alongside PostgreSQL, with <a href="https://github.com/timescale/timescaledb"><strong><u>TimescaleDB</u></strong></a> emerging as the top choice for time-series and analytics workloads. This was followed by <strong>Redis</strong>, often used for caching and real-time applications, and <strong>PgBouncer</strong>, valued for its connection pooling capabilities.</p><p>👉 Get our <a href="https://www.timescale.com/blog/using-pgbouncer-to-improve-your-postgresql-database-performance/"><u>Support team’s advice on PgBouncer</u></a>.</p><h3 id="what-are-your-top-three-favorite-or-most-frequently-used-postgresql-extensions">What are your top three favorite or most frequently used PostgreSQL extensions?</h3><p>The top three PostgreSQL extensions this year demonstrate its versatility across industries and use cases. For the second consecutive year, <a href="https://www.timescale.com/learn/postgresql-extensions-postgis"><strong><u>PostGIS</u></strong></a> led the pack, favored for its advanced geospatial data capabilities. <strong>Pg_stat_statements</strong> remains a favorite for performance monitoring, while <a href="https://github.com/timescale/timescaledb"><strong><u>TimescaleDB</u></strong></a> rounds out the top three for its time-series database capabilities.</p><p>👉 Learn how to <a href="https://www.timescale.com/blog/using-pg-stat-statements-to-optimize-queries/"><u>optimize your queries with pg_stat_statements</u></a>.</p><h2 id="read-the-report">Read the Report</h2><p>We hope you enjoyed this sneak peek of our <em>State of PostgreSQL 2024 </em>survey! If you’d like to learn more insights about the PostgreSQL community<em>, </em>including why respondents chose PostgreSQL, where they go to find jobs requiring PostgreSQL experience, and <a href="https://www.timescale.com/blog/ai-state-of-postgresql-2024" rel="noreferrer">how they use AI with PostgreSQL</a>, don’t miss our complete <a href="https://www.timescale.com/state-of-postgres/2024" rel="noreferrer"><em>2024</em> <em>State of PostgreSQL </em>report</a>.&nbsp;</p><p>Finally, a genuine word of appreciation to all the remarkable partners who have collaborated with us on this survey and helped us capture the collective experience of developers using PostgreSQL:</p><p><strong>Community members</strong>: <a href="https://vyruss.org/computing/"><u>Jimmy Angelakos</u></a>, <a href="https://www.linkedin.com/in/andyatkinson/"><u>Andrew Atkinson</u></a>, <a href="https://www.linkedin.com/in/ryanbooz/"><u>Ryan Booz</u></a>, <a href="https://www.softwareandbooz.com/"><u>Software &amp; Booz</u></a>, <a href="https://www.linkedin.com/in/elizabeth-garrett-christensen?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3BhMC98Y4mSqi4mp%2B8PBn4Fw%3D%3D"><u>Elizabeth Christensen</u></a>, <a href="https://www.linkedin.com/in/henrietta-dombrovskaya-367b26?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3B2GsMvizjSs21BHfoj03Aig%3D%3D"><u>Henrietta Dombrovskaya</u></a>, <a href="https://floor.dev/"><u>Floor Drees</u></a>, <a href="https://pgstef.github.io/"><u>Stefan Fercot</u></a>, <a href="https://github.com/hunleyd"><u>Douglas Hunley</u></a>, <a href="https://www.linkedin.com/in/gulcinyildirim?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3BvOnSt0fQRlKOpC26iX6p7g%3D%3D"><u>Gülçin Yıldırım Jelinek</u></a>, <a href="https://www.linkedin.com/in/valeriakaplan?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3B4iExj06cSMuGxklmLGnTvQ%3D%3D"><u>Valeria Kaplan</u></a>, <a href="http://www.jk-consult.nl/"><u>Jan Karremans</u></a>, <a href="https://www.linkedin.com/in/philipmarks?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3Bjah4K90WTnaLYWGn9bd7ng%3D%3D"><u>Philip Marks</u></a>, <a href="https://www.linkedin.com/in/doug-ortiz-illustris?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3B7Y7fZ%2BnCRJiPBmXRkFBDeQ%3D%3D"><u>Doug Ortiz</u></a>, <a href="https://www.youtube.com/@techbits-dougortiz"><u>Tech Bits</u></a>, <a href="https://www.techravenconsulting.com"><u>Steven Pousty</u></a>, <a href="https://www.linkedin.com/in/anastasia-raspopina/"><u>Anastasia Raspopina</u></a>, <a href="https://www.linkedin.com/in/daniel-sarosi-2197902?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3BhfhOegllSu%2BcWy2Mhz%2Fl%2Bw%3D%3D"><u>Daniel Sarosi</u></a>, Jeremy Schneider, <a href="https://www.linkedin.com/in/sjstoelting?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3Bht3v74mjQTu215t6vtOO2A%3D%3D"><u>Stefanie Janine Stölting</u></a>, <a href="https://bonesmoses.org"><u>Shaun Thomas</u></a></p><p><strong>Companies</strong>: <a href="https://aiven.io/"><u>Aiven</u></a>, <a href="https://www.basedash.com/"><u>Basedash</u></a> <a href="https://www.cybertec-postgresql.com/en/"><u>CYBERTEC</u></a>, <a href="https://www.data-bene.io/en/"><u>Data Bene</u></a>, <a href="https://www.datacloudgaze.com/"><u>DataCloudGaze</u></a>, <a href="https://www.dataegret.com/"><u>Data Egret</u></a>, <a href="https://device-insight.com/en/"><u>Device Insight</u></a>, <a href="https://www.enterprisedb.com/"><u>EDB</u></a>, <a href="https://www.kmon.net/"><u>KM.ON</u></a>, <a href="https://www.mga.com.au/"><u>Mark Gurry Associates</u></a>, <a href="https://neon.tech/"><u>Neon</u></a>, <a href="https://www.paradedb.com/"><u>ParadeDB</u></a>, <a href="https://postgresweekly.com/"><u>PG Weekly</u></a>, <a href="https://plotly.com/python/"><u>Plotly</u></a>, <a href="https://proopensource.eu/"><u>ProOpenSource</u></a>, <a href="https://www.simplyblock.io/"><u>simplyblock</u></a>, <a href="https://tembo.io/"><u>Tembo</u></a>, <a href="https://www.timbira.com.br/"><u>Timbira</u></a>, <a href="https://trebellar.com/"><u>Trebellar</u></a>, <a href="https://www.umh.app/"><u>United Manufacturing Hub</u></a>, <a href="https://xata.io/"><u>Xata</u></a></p><p><strong>Communities</strong>: Barcelona PostgreSQL User Groups, <a href="https://www.linkedin.com/in/kad%C4%B1n-yaz%C4%B1l%C4%B1mc%C4%B1-9b3a89275?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_contact_details%3Br30Zn%2FN2Q6O0JMoDGoY7NA%3D%3D"><u>Kadin Yazilimci</u></a>, Madrid PostgreSQL User Groups, <a href="https://github.com/hunleyd"><u>PgDay CMH</u></a>, <a href="https://www.meetup.com/Chicago-PostgreSQL-User-Group"><u>PG Day Chicago</u></a>, <a href="https://www.meetup.com/prague-postgresql-meetup/events/"><u>Prague PostgreSQL Meetup</u></a></p><p>Thank you for amplifying our reach and enabling us to connect with more developers across various channels!</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What We’re Excited About PostgreSQL 17]]></title>
            <description><![CDATA[As we count the days until September’s release, here are the features we’re excited about in PostgreSQL 17.]]></description>
            <link>https://www.tigerdata.com/blog/what-were-excited-about-postgresql-17</link>
            <guid isPermaLink="true">https://www.tigerdata.com/blog/what-were-excited-about-postgresql-17</guid>
            <category><![CDATA[PostgreSQL]]></category>
            <dc:creator><![CDATA[Aleksander Alekseev]]></dc:creator>
            <pubDate>Thu, 16 May 2024 12:59:30 GMT</pubDate>
            <media:content medium="image" href="https://timescale.ghost.io/blog/content/images/2024/05/What-we-re-excited-about-postgres-17--1-.png">
            </media:content>
            <content:encoded><![CDATA[<p>The next major PostgreSQL release (PostgreSQL 17) is <a href="https://www.postgresql.org/developer/roadmap/"><u>scheduled for September</u></a>.</p><figure class="kg-card kg-image-card"><img src="https://media.tenor.com/R7dseIrp4N8AAAAC/party-the-office.gif" class="kg-image" alt="" loading="lazy" width="410" height="200"></figure><p>In 2023, PostgreSQL regained the attention it deserves as a rock-solid relational database. It was voted the <a href="https://survey.stackoverflow.co/2023/?ref=timescale.com#most-popular-technologies-database-prof"><u>most popular DB in the Stack Overflow Developer Survey</u></a> and named <a href="https://db-engines.com/en/blog_post/106"><u>database management system of the year by DB-Engines</u></a>. Here at Timescale, we also consolidated our status as fierce PostgreSQL fans: besides having built Timescale on PostgreSQL, we believe PostgreSQL is evolving as a platform and becoming the <a href="https://timescale.ghost.io/blog/postgres-for-everything/"><u>bedrock for the future of data</u></a>. So, excuse us for being a <em>bit </em>excited about PostgreSQL 17.</p><p>In its latest releases, we’ve watched PostgreSQL develop toward higher performance, scalability, security, and compatibility while introducing new features to meet the evolving needs of users and applications, especially enterprise ones. The improvements to privilege administration, logical replication, and monitoring are examples of that. More importantly, during this time, <a href="https://timescale.ghost.io/blog/how-and-why-to-become-a-postgresql-contributor/"><u>we contributed</u></a>, <a href="https://timescale.ghost.io/blog/what-does-a-postgresql-commitfest-manager-do-and-should-you-become-one/"><u>managed commitfests</u></a>, and created new features and products to expand it—from <a href="https://timescale.ghost.io/blog/how-we-made-real-time-data-aggregation-in-postgres-faster-by-50-000/"><u>boosting real-time aggregation by 50,000&nbsp;%</u></a> to <a href="https://docs.timescale.com/ai/latest/"><u>powering production AI applications</u></a>.</p><p>In this blog post, we gathered Timescale contributors and enthusiasts to discuss a few of the most exciting PostgreSQL 17 commits. As we count the days until September, we’ll also examine PostgreSQL’s direction for this release. Finally, we’ll share some of our commits, as we help build up PostgreSQL as a <a href="https://timescale.ghost.io/blog/postgres-for-everything/"><u>versatile development platform for everything</u></a>.&nbsp;</p><h2 id="postgresql-17-where-it-came-from-and-where-it%E2%80%99s-headed">PostgreSQL 17: Where It Came From and Where It’s Headed</h2><p>Looking at the several PostgreSQL 17 commits, <a href="https://www.linkedin.com/in/afiskon/?ref=timescale.com"><u>Aleksander Alekseev</u></a>, long-time PostgreSQL contributor and Timescaler, says significant changes to modernize PostgreSQL are underway. “I believe the future of Postgres is bright,” he notes, adding that “new people are <a href="https://www.postgresql.org/message-id/ccbc2cfa-7711-4a52-bd8e-8746e28550a2%40joeconway.com"><u>joining the project</u></a>.” Perhaps influenced by the new wave of contributors, the changes to PostgreSQL 17 reflect the project’s commitment to embracing modern methodologies and adapting to the ever-evolving tech landscape</p><p>One such notable change in version 17, says Aleksander, is the decision to <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=0b16bb8776bb834eb1ef8204ca95dd7667ab948b"><u>drop support for AIX</u></a>, an operating system developed by IBM. AIX, while historically significant, has seen declining usage in recent years, prompting PostgreSQL to reallocate resources towards supporting more widely adopted platforms. This strategic move enables PostgreSQL to focus on enhancing compatibility with modern operating systems.&nbsp;</p><p>While they may seem more focused today, the PostgreSQL community's efforts to make PostgreSQL a solid database for modern data needs were already visible in previous versions, including the current one, PostgreSQL 16. As a specific example, Aleksander mentions the transition from Autotools to the Meson build system. Autotools, a long-standing suite of tools for configuring, building, and installing software packages, has been a stalwart in the development process of PostgreSQL.&nbsp;</p><p>However, with the advent of <a href="https://mesonbuild.com/"><u>Meson</u></a>, a contemporary build system known for its simplicity, speed, and scalability, PostgreSQL managed to streamline its development workflows. Meson offers advantages such as improved performance, easier maintenance, and better cross-platform compatibility, which PostgreSQL currently extends to its users.</p><h2 id="what-we%E2%80%99re-excited-about-postgresql-17">What We’re Excited About PostgreSQL 17</h2><p>Now that we’ve seen where PostgreSQL 17 is headed, let’s discuss some of the commits that have caught our 👀.</p><h3 id="pgcreatesubscriber">pg_createsubscriber</h3><p>Suggested by Timescaler and PostgreSQL contributor <a href="https://br.linkedin.com/in/fabriziomello"><u>Fabrízio de Mello</u></a>, <a href="https://www.postgresql.org/docs/devel/app-pgcreatesubscriber.html"><u>pg_createsubscriber is a new PostgreSQL 17 tool</u></a> that allows users to create a new logical replica from a physical standby server. “The main advantage of this tool over a common logical replication setup is the initial data copy, which can take longer on large databases and have side effects, like autovacuum issues, due to the long-running transaction to copy data from one server to another. This tool will also help reduce the catchup phase,” explains Fabrízio.</p><h3 id="support-for-merge-partitions-and-split-partitions">Support for MERGE PARTITIONS and SPLIT PARTITIONS</h3><p>While <code>ALTER TABLE</code> is a well-known statement that changes the structure of a PostgreSQL table, PostgreSQL 17 comes along with two new commands: <code>MERGE PARTITIONS</code> and <code>SPLIT PARTITIONS</code>. As the name indicates, these new DDL commands merge or split several partitions. “The current implementation has certain limitations though,” says Aleksander. “It works as a single process and holds the <code>ACCESS EXCLUSIVE LOCK</code> on the parent table during all operations. This is why the new DDL commands are not advisable for large partitioned tables under a high load,” he adds.</p><h3 id="add-support-for-incremental-file-system-backup">Add support for incremental file system backup</h3><p>“This is another feature worth mentioning,” says Aleksander. Adding support for incremental file system backup in PostgreSQL enhances the database's ability to perform efficient and effective backups. Incremental backups only save changes made since the last backup (full or incremental). This significantly reduces the volume of data to be backed up compared to full backups, which capture the entire database. And since incremental backups involve less data, the backup process is faster, minimizing the impact on system performance and reducing downtime. </p><p>Developed by Robert Haas, Jakub Wartak, and Tomas Vondra, <a href="http://rhaas.blogspot.com/2024/05/hacking-on-postgresql-is-really-hard.html"><u>this commit has been struggling with stability issues</u></a>, as explained by Robert on his blog. “Hopefully it won’t be reverted (as many other commits this month),” comments Aleksander.</p><h3 id="enable-the-failover-of-logical-slots">Enable the failover of logical slots&nbsp;</h3><p>Picked by two Timescalers, Fabrízio and our head of Developer Advocacy, <a href="https://twitter.com/jamessewell"><u>James Blackwood-Sewell</u></a>, this commit by Hou Zhijie, Shveta Malik, and Ajin Cherian lets high-availability <a href="https://www.timescale.com/learn/postgresql-database-replication-guide"><u>PostgreSQL use logical replication</u></a> and not lose downstream data in case of a failover. Enabling the failover of logical replication slots in PostgreSQL enhances the robustness and reliability of logical replication setups by allowing logical slots to be transferred and maintained across different database instances.</p><h3 id="allow-explain-to-report-optimizer-memory-usage">Allow EXPLAIN to report optimizer memory usage</h3><p>“This commit by Ashutosh Bapat is another good one,” notes Aleksander. Allowing the <code>EXPLAIN</code> command to report optimizer memory usage in PostgreSQL provides valuable insights into the resources consumed by the query planner and optimizer during the preparation of query execution plans.“It will allow the developer to choose the query that uses less memory,” explains Aleksander. This makes it especially helpful for those trying to fine-tune PostgreSQL’s performance.</p><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">💻</div><div class="kg-callout-text"><a href="https://www.timescale.com/learn/postgres-guides#:~:text=Overview-,Performance,-Guide%20to%20PostgreSQL"><u>If you’re struggling to improve your PostgreSQL performance, these resources will help you get the most out of your database</u></a>.</div></div><p><br><br>Any on this list, really</p><p><a href="https://timescale.ghost.io/blog/how-postgresql-aggregation-works-and-how-it-inspired-our-hyperfunctions-design/"><u>Bruce Momjian has always been an inspiration to us—bow tie included</u></a>—so we can safely say that any of the contributions <a href="https://momjian.us/pgsql_docs/release-17.html#RELEASE-17-SERVER"><u>on this list</u></a>, which Aleksander describes as “overall performance improvements” make us excited about getting our hands on the new PostgreSQL version.&nbsp;</p><h2 id="what-we-committed-to-postgresql-17">What We Committed to PostgreSQL 17</h2><p>In total, 90 commits (3.5 percent of all commits) were authored, co-authored, and/or reviewed by Timescalers during the PostgreSQL 17 cycle. 😎We’re not going to bother you by going over all of them, but we asked our team of upstreamers to name some of their personal favorites.</p><h3 id="the-slru-move-to-64-bit-indexes">The SLRU move to 64-bit indexes</h3><p>“Personally, I’m most excited about the series of patches that moved SLRU (simple least recently used) caches to the 64-bit indexes,” says Aleksander. While we’re not there yet, this opens the path to 64-bit XIDs, which will mitigate the problem of <a href="https://timescale.ghost.io/blog/how-to-fix-transaction-id-wraparound/"><u>XID wraparound</u></a> certain users face under specific workloads, such as mixing long-living OLAP (online analytical processing) transactions and <a href="https://www.tigerdata.com/learn/understanding-oltp" rel="noreferrer">OLTP</a> (on-line transaction processing) workloads on the same PostgreSQL instance.&nbsp;</p><h3 id="transitive-comparisons">Transitive comparisons</h3><p>Another Timescaler who contributed to PostgreSQL was database architect <a href="https://se.linkedin.com/in/matskindahl"><u>Mats Kindahl</u></a>. Mats helped with refactoring to ensure transitive comparisons in PostgreSQL, which brings several benefits to users. Transitive comparisons allow for more concise and intuitive query expressions, improve <a href="https://www.tigerdata.com/blog/best-practices-for-query-optimization-in-postgresql" rel="noreferrer">query optimization</a>, enhance index usage, and facilitate data modeling, as developers can define relationships between entities more naturally.</p><h3 id="standardexplainonequery">standard_ExplainOneQuery</h3><p>Mats also worked on the introduction of&nbsp; <code>standard_ExplainOneQuery</code> in PostgreSQL 17. This addition helps ensure consistent behavior when adding explain hooks, making it easier to predict and understand the effects of explain hooks on query explanation. Developers can focus on implementing specific hooks without worrying about the nuances of query explanation behavior, leading to more efficient development processes and facilitating query performance tuning.</p><h3 id="uuidv7">UUIDv7</h3><p>On the reviewing front, Aleksander reviewed (along with other contributors) the <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=794f10f6b920670cb9750b043a2b2587059d5051"><u>partial merge of UUIDv7 support</u></a> authored by Andrey Borodin. “While there are several UUIDv7 implementations available, the UUIDv7 standard is currently in draft condition,” explains Aleksander, adding that PostgreSQL will only support when the standard is finalized. Once it’s fully supported by PostgreSQL, UUIDv7 will help make time-based queries more efficient.&nbsp;</p><h2 id="expanding-postgresql">Expanding PostgreSQL</h2><p>Here you have it, a reflection on the direction of PostgreSQL 17, the new updates we’re excited about, and some of the contributions we made. If like us, you want to carry on (or start) building on PostgreSQL, give Timescale a try. Features like hypertables (automatically partitioned PostgreSQL tables), continuous aggregates (automatically refreshed materialized views), and advanced data management techniques will significantly enhance PostgreSQL's ability to manage your most demanding workloads effectively.</p><p>If you want to expand PostgreSQL’s capabilities while using the PostgreSQL you know and love, <a href="https://console.cloud.timescale.com/signup"><u>create a free Timescale account today</u></a>. </p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How Edeva Uses Continuous Aggregations and IoT to Build Smarter Cities]]></title>
            <description><![CDATA[Swedish company Edeva is making a real impact in city life by quickly presenting decision-makers with trends based on IoT data.]]></description>
            <link>https://www.tigerdata.com/blog/how-edeva-uses-continuous-aggregations-and-iot-to-build-smarter-cities</link>
            <guid isPermaLink="true">https://www.tigerdata.com/blog/how-edeva-uses-continuous-aggregations-and-iot-to-build-smarter-cities</guid>
            <category><![CDATA[Dev Q&A]]></category>
            <category><![CDATA[PostgreSQL]]></category>
            <dc:creator><![CDATA[Ana Tavares]]></dc:creator>
            <pubDate>Fri, 22 Apr 2022 13:05:15 GMT</pubDate>
            <media:content medium="image" href="https://timescale.ghost.io/blog/content/images/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_1.png">
            </media:content>
            <content:encoded><![CDATA[<p><em>This is an installment of our “Community Member Spotlight” series, where we invite our customers to share their work, shining a light on their success and inspiring others with new ways to use technology to solve problems.<br><br>In this edition, John Eskilsson, software architect at Edeva, shares how his team collects huge amounts of data (mainly) from IoT devices to help build safer, smarter cities and leverages continuous aggregations for lightning-fast dashboards. </em></p><p>Founded in 2009 in Linköping, <a href="https://www.edeva.se/en/">Edeva</a> is a Swedish company that creates powerful solutions for smart cities. It offers managed services and complete systems, including hardware and software platforms.</p><p>As the creators of the dynamic speed bump <a href="https://www.actibump.com/">Actibump</a> and the smart city platform <a href="https://www.edevalive.com/">EdevaLive</a>, the Edeva team works mainly for municipal, regional, and national road administrations, toll stations, environmental agencies, and law enforcement agencies. </p><p>The team also solves many other problems, from obtaining large amounts of environmental data for decision-making to developing a screening scale to help law enforcement agencies assess vehicle overloading. The latter, for instance, decreased the amount of time needed to control each vehicle, speeding up traffic checks and allowing law enforcement agencies to control more vehicles.</p><h2 id="about-the-team">About the Team</h2><p>The <a href="https://www.edeva.se/en/#contact">team at Edeva</a> is a small but impactful group of 11, working on everything from creating hardware IoT devices to analyzing time-series data and making it accessible to customers—and, sometimes, the public.</p><p>As a software architect, I am in charge of building the best possible solution to receive, store, analyze, visualize, and share the customers’ event data. Our team then comes together to create solutions that work and that the customer actually wants.</p><h2 id="about-the-project">About the Project</h2><p>Edeva has created a dynamic speed bump called <a href="https://www.actibump.com/">Actibump</a> and the smart city platform <a href="https://www.edevalive.com/">EdevaLive</a>. <br><br>The Actibump has been used in Sweden since 2010. Speeding vehicles activate a hatch in the road that lowers a few centimeters, creating an inverted speed bump. Providing good accessibility for public transportation, such as buses and emergency vehicles, the Actibump still ensures a safe speed for pedestrians and other vulnerable road users. It is also an environmentally friendly solution, helping decrease noise and emissions.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/3FG1IBTYXWs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure><p>The Actibump can be combined with the EdevaLive system, delivering valuable remote monitoring services and statistics to Edeva’s customers. </p><p>Most of the data we collect is based on IoT devices:</p><p><strong>Traffic flow data</strong>: The Actibump measures the speed of oncoming traffic to decide if it needs to activate the speed bump or not. We capture radar data, among others, and send an event to our smart city platform EdevaLive. The data treats the oncoming traffic as a flow rather than a single vehicle to create the smoothest possible traffic flow.<br></p><p><strong>Vehicle classification data (weigh-in-motion)</strong>: Actibump can be configured with weigh-in-motion. This means that the lid of the speed bump is equipped with a very sensitive high-sampling scale. The scale records several weight measurements when the vehicle passes over the speed bump. This way, it can detect how many axles a vehicle has and classify the type of vehicle. At the same time, it fires off one event for each axle with the scale fingerprint so we can analyze whether the weight measurements are correct.</p><p><br><strong>Vehicle classification data (radar)</strong>: If we want to classify vehicles in places where we do not yet have an Actibump installed, we can introduce a radar that can classify vehicle types. A roadside server controls the radar, gathers its data, and pushes it to EdevaLive. <br></p><p><strong>Bike and pedestrian data</strong>: We use cameras installed above a pedestrian and cycle path. The camera can detect and count pedestrians and bicycles passing in both directions. We push this data to EdevaLive for analysis. <br></p><p><strong>Number plate data: </strong>We can use a camera to detect a vehicle's number plate. This way, we can control devices like gates to open automatically. The camera can also be used to look up the number of electric vs. petrol or diesel vehicles passing it or determine if a specific vehicle exceeds the cargo weight limit.</p><p><br><strong>Gyroscopic data</strong>: We offer a gyroscopic sensor that can gather data for acceleration in all different planes. This device generates a lot of data that can be uploaded to EdevaLive in batches or as a stream (if the vehicle has an Internet connection). This data is GPS-tagged and can be used to calculate jerk to provide indications on working conditions to a bus driver, for instance. The data can also be used to calculate the wear and tear of vehicles and many other things.<br></p><p><strong>Environmental data</strong>: Monitoring environmental data in a smart city platform is important. This is why we use small portable devices that can measure the occurrence of different particle sizes in the air, CO2, and other gases. In addition, they measure the usual things like temperature, wind speed, etc. All this data is pushed to EdevaLive.</p><p><strong>Alarm data</strong>: Our IoT devices and roadside servers can send alarm information if a sensor or other parts malfunction. All this data comes to EdevaLive in the same way as a regular IoT event, but these events are only used internally so that we can react as quickly as possible if there is a problem.<br></p><p><strong>Status data</strong>: If the alarm data detects anomalies, the status data just reports the status of the server or IoT device. The devices run self-checks and report statistical data, like disk utilization, temperature, and load. This is also just for internal use to spot trends or troubleshoot in case any problems arise. For instance, it is incredibly useful to correlate CPU load with the version number of firmware or other software versions.  <br></p><p><strong>Administrative data</strong>: This is where the power of SQL and time-series data really shines. Let’s say we added a new device, and it has a configuration object that is persistent in a regular table in Timescale. This object keeps some metadata, such as the date it was added to the system or the device's display name. This way, we can use a join easily to pick up metadata about the device and, at the same time, get time-series data for the events that are coming in. There is only one database connection to handle and one query to run.</p><h2 id="choosing-and-using-timescaledb">Choosing (and Using!) TimescaleDB</h2><p>We realized we needed a time-series database a few years ago when we started storing our data in MySQL. At the time, we made a move to MongoDB, and it worked well for us but required quite a bit of administration and was harder to onboard other developers.<br><br>I looked at InfluxDB but never considered it in the end because it was yet another system to learn, and we had learned that lesson with MongoDB.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">✨</div><div class="kg-callout-text"><i><b><strong class="italic" style="white-space: pre-wrap;">Editor’s Note:</strong></b></i><i><em class="italic" style="white-space: pre-wrap;"> For more comparisons and benchmarks, see how TimescaleDB compares to </em></i><a href="https://www.timescale.com/blog/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877" rel="noreferrer"><i><em class="italic" style="white-space: pre-wrap;">InfluxDB</em></i></a><i><em class="italic" style="white-space: pre-wrap;">, </em></i><a href="https://www.timescale.com/blog/how-to-store-time-series-data-mongodb-vs-timescaledb-postgresql-a73939734016" rel="noreferrer"><i><em class="italic" style="white-space: pre-wrap;">MongoDB</em></i></a><i><em class="italic" style="white-space: pre-wrap;">, </em></i><a href="https://www.timescale.com/blog/timescaledb-vs-amazon-timestream-6000x-higher-inserts-175x-faster-queries-220x-cheaper" rel="noreferrer"><i><em class="italic" style="white-space: pre-wrap;">AWS Timestream</em></i></a><i><em class="italic" style="white-space: pre-wrap;">, </em></i><a href="https://www.timescale.com/blog/postgresql-timescaledb-1000x-faster-queries-90-data-compression-and-much-more" rel="noreferrer"><i><em class="italic" style="white-space: pre-wrap;">vanilla PostgreSQL</em></i></a><i><em class="italic" style="white-space: pre-wrap;">, and </em></i><a href="https://www.timescale.com/learn/the-best-time-series-databases-compared" rel="noreferrer"><i><em class="italic" style="white-space: pre-wrap;">other time-series database alternatives on various vectors</em></i></a><i><em class="italic" style="white-space: pre-wrap;">, from performance and ecosystem to query language and beyond.</em></i></div></div><p><br>Learning from this journey,  I looked for a solution that plugged the gaps the previous systems couldn’t. That is when I found Timescale and discovered that there was a hosted solution. <br><br>We are a small team that creates software with a big impact. This means that we don’t really have time to put a lot of effort into tweaking and administering every tool we use, but we still like to have control.</p><blockquote class="kg-blockquote-alt">"With Timescale, our developers immediately knew how to use the product because most of them already knew SQL"</blockquote><p>Also, since TimescaleDB is basically PostgreSQL with time-series functionality on steroids, it is much easier to onboard new developers if needed. With Timescale, our developers immediately knew how to use the product because most of them already knew SQL.<br><br>Edeva uses TimescaleDB as the main database in our smart city system. Our clients can control their IoT devices (like the Actibump from EdevaLive) and—as part of that system—see the data that has been captured and quickly get an overview of trends and historical data. We offer many graphs that show data in different time spans, like day, week, month, and year. To get this to render really fast, we use continuous aggregations.</p><blockquote class="kg-blockquote-alt">"Timescale is basically PostgreSQL with time-series functionality on steroids, it is much easier to onboard new developers if needed"</blockquote><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_2.png" class="kg-image" alt="One of Edeva's dashboards showing graphs for total passages, percentage of speeders, number of speeders, 85 percentile, and the average number of passages per day." loading="lazy" width="774" height="814" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_2.png 600w, https://timescale.ghost.io/blog/content/images/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_2.png 774w" sizes="(min-width: 720px) 720px"></figure><p></p><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">✨</div><div class="kg-callout-text"><i><b><strong class="italic" style="white-space: pre-wrap;">Editor’s Note: </strong></b></i><a href="https://www.timescale.com/blog/massive-scale-for-time-series-workloads-introducing-continuous-aggregates-for-distributed-hypertables-in-timescaledb-2-5/"><i><em class="italic" style="white-space: pre-wrap;">Learn how to use continuous aggregates for real-time analytics in PostgreSQL.</em></i></a></div></div><h2 id="current-deployment-and-future-plans"><br>Current Deployment and Future Plans</h2><p>One of the TimescaleDB features that has had the most impact on our work is continuous aggregations. It changed our dashboards from sluggish to lightning-fast. If we are building functionality to make data available for customers, we always aggregate it first to speed up the queries and take the load off the database. It used to take minutes to run some long-term data queries. Now, almost all queries for long-term data are subsecond.</p><blockquote>"We rely on Timescale for everything now. It's super efficient, and we've reduced query load times from 30 seconds down to almost nothing." - John Eskilsson, System Architect</blockquote><p>For example, we always struggled with showing the 85th percentile of speed over time. To get accurate percentile data, you had to calculate it based on the raw data instead of aggregating it. If you had 200 million events in a <a href="https://www.tigerdata.com/blog/database-indexes-in-postgresql-and-timescale-cloud-your-questions-answered" rel="noreferrer">hypertable</a> and wanted several years of data for a specific sensor, it could take you a long time to deliver—users don’t want to wait that long. </p><blockquote class="kg-blockquote-alt">"It changed our dashboards from sluggish to lightning-fast"</blockquote><p><br>Now that Timescale introduced <a href="https://docs.timescale.com/api/latest/hyperfunctions/percentile-approximation/percentile_agg/#percentile-agg"><code>percentile_agg</code></a> and <a href="https://docs.timescale.com/api/latest/hyperfunctions/percentile-approximation/approx_percentile/"><code>approx_percentile</code></a>, we can actually query continuous aggregations and <a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/hyperfunctions/percentile-approx/advanced-agg/">get reasonably accurate percentile values</a> without querying raw data.</p><div class="kg-card kg-callout-card kg-callout-card-purple"><div class="kg-callout-emoji">✨</div><div class="kg-callout-text"><i><b><strong class="italic" style="white-space: pre-wrap;">Editor’s Note: </strong></b></i><a href="https://www.timescale.com/blog/how-percentile-approximation-works-and-why-its-more-useful-than-averages/"><i><em class="italic" style="white-space: pre-wrap;">Percentile approximations can be more useful for large time-series data sets than averages. Read how they work in this blog post</em></i></a><i><em class="italic" style="white-space: pre-wrap;">.</em></i></div></div><p><br><br>Note that “vehicles” is a hypertable where actibump_id is the ID of the dynamic speed bump containing several hundred million records.<br><br>This is how we build the continuous aggregate:</p><pre><code>CREATE MATERIALIZED VIEW view1
 WITH (timescaledb.continuous) AS
 SELECT actibump_id,
 timescaledb_experimental.time_bucket_ng(INTERVAL '1 month', time, 'UTC') AS bucket,
 percentile_agg(vehicle_speed_initial) AS percentile_agg
FROM vehicles
GROUP BY actibump_id, bucket
</code></pre>
<p>And this is the query that fetches the data for the graph:</p><pre><code>SELECT TIMESCALEDB_EXPERIMENTAL.TIME_BUCKET_NG(INTERVAL '1 month', bucket) AS date,
actibump_id,
APPROX_PERCENTILE(0.85, ROLLUP(PERCENTILE_AGG)) AS p85,
MAX(signpost_speed_max)
FROM vehicles_summary_1_month
WHERE actibump_id in ('16060022')
AND bucket &gt;= '2021-01-30 23:00:00'
AND bucket &lt;= '2022-04-08 21:59:59'
GROUP BY date, actibump_id
ORDER BY date ASC
</code></pre>
<p>Here is an example of the graph:</p><figure class="kg-card kg-image-card"><img src="https://timescale.ghost.io/blog/content/images/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_percentile-graph.png" class="kg-image" alt="The 85 percentile line graph" loading="lazy" width="1172" height="230" srcset="https://timescale.ghost.io/blog/content/images/size/w600/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_percentile-graph.png 600w, https://timescale.ghost.io/blog/content/images/size/w1000/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_percentile-graph.png 1000w, https://timescale.ghost.io/blog/content/images/2024/06/How-Edeva-Uses-Continuous-Aggregations-and-IoT-to-Build-Smarter-Cities_percentile-graph.png 1172w" sizes="(min-width: 720px) 720px"></figure><p><br>At the moment, we use PHP and Yii 2 to deploy TimescaleDB. We connect to TimescaleDB with Qlik Sense for business analytics. In Qlik Sense, you can easily connect to TimescaleDB using the PostgreSQL integration. <br><br>It is especially convenient to be able to connect to the continuous aggregations for long-term data without overloading the system with too much raw data. We often use Qlik Sense to rapidly prototype graphs that we later add to EdevaLive.</p><h2 id="advice-and-resources">Advice and Resources</h2><p>The next step for us is to come up with a good way of reducing the amount of raw data we store in TimescaleDB. We are looking at how we can integrate it with a data lake. Apart from that, we are really excited to start building even more graphs and map applications.</p><p>If you are planning to store time-series data, Timescale is the way to go. It makes it easy to get started because it is “just” SQL, and at the same time, you get the important features needed to work with time-series data. I recommend you have a look, especially at continuous aggregations.</p><p>Think about the whole lifecycle when you start. Will your use cases allow you to use features like compression, or do you need to think about how to store long-term data outside of TimescaleDB to make it affordable right from the start? You can always work around things as you go along, but it is good to have a plan for this before you go live.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">💻</div><div class="kg-callout-text"><i><em class="italic" style="white-space: pre-wrap;">If you want to learn more about how Edeva handles time-series data with Actibump and EdevaLive, the team hosts </em></i><a href="https://www.edevalive.com/#webinar"><i><em class="italic" style="white-space: pre-wrap;">virtual biweekly webinars</em></i></a><i><em class="italic" style="white-space: pre-wrap;">, or you can also </em></i><a href=" https://www.edevalive.com/#demo"><i><em class="italic" style="white-space: pre-wrap;">request a demo</em></i></a><i><em class="italic" style="white-space: pre-wrap;">.</em></i></div></div><p><br><em>We’d like to thank John and all the folks from Edeva for sharing their story. We are amazed to see how their work truly impacts the way people live and enjoy their city with a little help from time-series data. </em>🙌</p><p><em>We’re always keen to feature new community projects and stories on our blog. If you have a story or project you’d like to share, reach out on Slack (</em><a href="https://slack.timescale.com"><em>@Ana Tavares</em></a><em>), and we’ll go from there.</em><br></p>]]></content:encoded>
        </item>
    </channel>
</rss>