Blogs / Company blogs

Citus Data Blog

citusdata.com

Citus gives you all the greatness of Postgres plus the superpowers of distributed tables. By distributing your data and queries, your application gets high performance—at any scale. The Citus database is available as open source and as a managed service on Azure.

Popular posts
44
Total points
8,271
HN comments
1,787
Rank
#115 company

Visit citusdata.com → On Hacker News Oct 2012 – Feb 2024

Databases & Data 42Software Engineering 35Tech Industry & Business 4Infrastructure & DevOps 3Open Source 2Tools & Productivity 1

3

Create Statistics in PostgreSQL 10

Postgres stores a lot of statistics about your data in order to effectively retrieve results when you query your database. Here we deep dive into some of the statistics PostgreSQL stores and how you can leverage a new feature in Postgres 10 to improve performance when different columns are related.

4

Speeding up sort performance in Postgres 15

Deep dive into the sort performance improvements in PostgreSQL 15, along with charts to visualize what types of queries will be faster. Includes speedups in single column sorts, reduced memory consumption with generation memory context, specialized sort routines for common datatypes, & use of k-way merge.

6

What's new in the Postgres 16 query planner

Postgres 16 introduces quite a few improvements to the query planner and makes many SQL queries run faster than they did on previous versions of PostgreSQL. This post is a deep dive into 10 of the improvements, including code blocks and comparisons of query plan output between Postgres 15 & Postgres 16.

9

Citus 10 brings columnar compression to Postgres

Deep dive into Citus columnar storage for Postgres. Includes a quickstart, as well as performance measurements for data loading, compression ratios, and query response times. Also covers how columnar relates to Citus, integration with Postgres range partitioning, limitations, & ways to get started.

12

Recursive Common Table Expressions in Postgres

Common Table Expressions in PostgreSQL are a powerful SQL construct. You can think of CTEs as a view that is materialized only while the query is running. Recursive CTEs allow themselves to be called until some condition is met. This post from the Citus Data team explores how recursive CTEs work in Postgres.

15

Postgres tips for Rails developers

At RailsConf, the Citus engineering team found themselves sharing lots of useful Postgres tips on how to debug and improve the performance of your Postgres database from your Rails app. Includes topics like long-running queries, misbehaving queries, pg_stat_statements, pgBouncer, and more.

17

Ways to paginate in Postgres (2016)

Pagination, pervasive as it is in web applications, is easy to implement inefficiently. This post examines different methods of server-side pagination and their tradeoffs in PostgreSQL. Methods explored include limit-offset, cursors, keyset pagination, as well as more exotic techniques.

22

Postgres Count Performance

Everybody counts, but not always quickly. This post looks into how the PostgreSQL database optimizes counting. In Postgres, there are ways to count orders of magnitude faster. We’ll look at exact counts (distinct counts) as well as estimated counts, using approximation algorithms such as HyperLogLog (HLL) in Postgres.

23

What it means to be a Postgres extension

Because Citus is an extension to PostgreSQL and not a fork, the effort required to remain compatible with the latest versions of the open source PostgreSQL database has been dramatically reduced. After a new PostgreSQL version is released, Citus packages are often updated and in sync within days.

27

Customizing My Postgres Shell

As a developer your CLI is your home. This post walks through some favorite customizations of the Postgres .psqlrc file, configurations that will make you more efficient in your use of Postgres. If you setup your psqlrc today, you can enjoy psql as much as your shell.

30

Sharding data models

At Citus we make it simple to shard PostgreSQL. So we’ve thought a lot about different data models for sharding. This post covers 5 different data models for sharding, from sharding by tenant (multi-tenant data models), sharding by geography, sharding by entity id, sharding a graph, and time-based partitioning.