PostgreSQL 12の新機能:CTEの高速化

現在開発中のPostgreSQL 12では、様々な新機能の追加や改良が予定されています。本稿では、その中でも実用上の価値が高いと思われる改良の一つである、CTEの高速化についてご紹介します。

CTEとは

CTEとは、”Common Table Expressions” (共通テーブル式)の略で、SQL文内でテーブル式を定義し、それを同じSQL文内から参照できるものです。CTEには、普通の検索を行うだけでなく、再帰的なクエリ実行を行ったり(WITH RECURSIVE)、CTE内で更新処理を行うこともできますが、PostgreSQL 12で改良されたのは、再帰も更新も伴わない通常の検索処理で使われるCTEです。

続きを読む

Redisのデータ永続化

インメモリDBとデータの永続化

前回のRedisの紹介では、Redisの特長や導入手順、基本的な使い方についてご紹介しました。本稿では、インメモリデータベースのデータ永続化についてご紹介します。

Redisはインメモリデータベースであるため、サーバプロセスが終了するとメモリ上のデータも消えてしまいます。そこで、Redisはサーバプロセス終了後もデータを保持するための2種類の機能が用意されています。

続きを読む

Redisの紹介

Redisとは

Redisはインメモリで動作するKey-Valueストア(KVS)ソフトウェアです。Redisのデータはすべてメモリ内に保存されるため、高速なデータの読み書きが可能です。また、単純なキーと値のペアだけでなく様々なデータ構造が利用でき、データの永続化、冗長化、クラスタといった機能を備えており、様々な用途に対応できます。RedisはBSDライセンスの元配布されているオープンソースソフトウェアです。

続きを読む