Redis Launchpadとは?Redisをリアルタイムデータプラットフォームとして活用する75以上のサンプルアプリハブ
Redisコミュニティは、Redisの魅力を支える中核的存在です。このコミュニティのおかげで、RedisはStack Overflowの開発者調査において、5年連続で「最も愛されているデータベース」に選ばれました。Redisの人気が高まるにつれ、開発者コミュニティ、業界のバーティカル(垂直分野)、地域を問わず、そのユースケースも拡大し続けています。
コミュニティへの愛情と単一のビジョンのもとでRedisの力を最大限に引き出し、育てていくこと——それが私たちが「Redis Launchpad」を構想した理由です。本日、私たちはRedis Launchpadの公開をお知らせできることを嬉しく思います。これは、私たちとコミュニティの皆さんがRedis上に構築した75以上のサンプルアプリケーションを集めたハブです。Redis Launchpadにより、開発者やアーキテクトは、Redisをリアルタイムデータプラットフォームおよびプライマリデータベースとして活用する多数のサンプルアプリを、一元化された場所で簡単に検索・視覚化できます。ここでは、さまざまなアーキテクチャ、データモデリング、データストレージ、コマンドを紹介する高品質なサンプルアプリに触れることができ、高速なアプリをより迅速に構築するための出発点となります。
これらのアプリは、多様なプログラミング言語(JavaScript、Java、Pythonなど)で書かれており、さまざまな業界分野(金融サービス、ゲーム、小売など)に対応し、異なるRedisモジュール(RedisJSON、RediSearchなど)を使用しながら、多彩な機能を実演しています。さらに、個別のコマンドをドリルダウンして検索すれば、そのコマンドが異なるアプリや言語でどのように使われているかを確認することも可能です。
Redis Launchpadの使い方
使い方はとてもシンプルです。まず https://launchpad.redis.com にアクセスし、さまざまな条件をもとにアプリを検索します。気になるアプリをクリックすると、そのアプリがどのように構築され、どのように動作するのかを解説した動画と詳細な説明が表示されます。内容には、データモデリング、データ追加用のコマンド、データ取得用のコマンドなどが含まれます。
さらに一部のアプリでは、すぐに使えるデプロイボタンが用意されています。これにより、Heroku、Vercel、Google Cloudなどのプラットフォームへ素早くデプロイできます。
実はRedis Launchpad自体もRedisで構築されている!
「自分のシャンパンを飲む(drink our own champagne)」という言葉があるように、私たちは自社製品を実際に活用し、キャッシュ用途にとどまらないRedisの力を示すことにワクワクしています。
ここからは、Redis Launchpadをどのように構築したのか、その技術的な仕組みについて詳しく見ていきましょう。
現在、アプリのメタデータはRedis Hashで保存し、RediSearchを使ってインデックス化しています。そして左ペインのフィルター、あいまい検索(fuzzy search)、アプリギャラリー、ページネーションといった機能は、すべてRediSearchだけで実現されています。
GitHubリポジトリをLaunchpadの対象にするには、まずredis-developer GitHubアカウントの一部である必要があります。次に、「marketplace.json」というメタデータファイルを持っていることも条件です。このファイルには、アプリ名、説明、使用しているプログラミング言語、動画、コマンドなど、アプリに関するすべての情報が記述されています。このファイルの内容だけが、検索・フィルタリングのためにRedisデータベースへ登録されます。
残りの仕組みは以下の通りです。
- 独立したバックエンドサービスが、redis-developer GitHubアカウント内のすべてのリポジトリを定期的に巡回し、marketplace.jsonファイルを探します。ファイルが見つかれば、その内容をRedis Enterprise Cloud上で稼働する本番Redisクラスタ内のRedis Hashデータ構造にプッシュします。
- RediSearchがデータをリアルタイムでインデックス化し、即座に検索可能な状態にします。
データベースにデータが格納されたら、次はそれをクエリしてブラウザに結果を表示するだけです。その流れは以下の通りです。
- 別のバックエンドNode.jsアプリが、多数の検索クエリを使ってデータベースに問い合わせを行います(図2参照)。
- 最後に、フロントエンドのNext.js(React)アプリが、ファセット検索、ページネーション、あいまい検索を実装し、検索結果をシンプルなグリッド形式で表示します。
あなたのアプリをRedis Launchpadに追加する方法
皆さんのアプリをLaunchpadに追加していただけることを心から楽しみにしています。また、ケースバイケースで、SNSでのプロモーションも喜んで行います。追加には主に2つの要件があります。第一に、アプリがRedis上に構築され、Redisをプライマリデータベースとして使用していること。第二に、QA担当者が確認でき、コミュニティが仕組みを容易に理解できるよう、明確で詳細な手順が用意されていることです。
これらの要件を満たしていると思ったら、以下の手順に従ってメタデータファイルを追加し、お知らせください。
- 以下のmarketplace.jsonファイルを修正し、リポジトリのルートに追加します。
- このプロジェクトに対してIssueを開き、フォークを依頼します。
- 「hidden」フラグがtrueになっていることを確認してください。レビューとフォーク完了後、私たちがfalseに切り替えます。
- その後、あなたのアプリは自動的に公開されます。
marketplace.jsonファイルの詳細
このファイルには、アプリのメタデータが含まれています。最新の詳細については、Launchpadの「Add your app」ボタンをクリックしてご確認ください。執筆時点での詳細は以下の通りです。
metadata.jsonの例:
今回のローンチに、私たちは非常に興奮しています。Redisは非常に汎用性の高いデータベースであり、Redis Launchpadは、Redisをリアルタイムデータプラットフォームおよびプライマリデータベースとして活用する具体的な方法を今まさに示してくれます。
ぜひ試してみて、SNSで @redisinc をタグ付けして感想をお聞かせください。🚀
-
Redisのパフォーマンスを考える:「遅くしない」という発想が鍵
シンプルなキャッシュ用途からテラバイト級の大規模構成まで、さまざまなユースケースでRedisを活用する多くの方々や企業と対話する機会に恵まれています。その中で、最もよく質問されるトピックが「パフォーマンス」です。Redisのパフォーマンスへの向き合い方は、他のシステムとは大きく異なります。多くのデータベースサーバーでは「パフォーマンスを向上させる」ことを目指しますが、Redisの場合、目標は「遅くしないこと」です。これは根本的に異なるアプローチであり、それを活かすには別のマインドセットが必要です。パフォーマンス指標――レイテンシこそが王様Redisを運用するうえで主に関心を寄せるべきパフォーマ
-
Fastly ComputeでUpstash Redisを活用する方法
この記事では古いバージョンのFastly CLIを使用しています。最新の手順については、こちらの記事をご確認ください。 この記事では、Fastly Compute@Edge上で動作するシンプルなアプリケーションを作成します。このアプリケーションはUpstash Redisにアクセスし、ページビュー数を記録します。 モチベーション エッジコンピューティングは、近年最も注目されているトレンドのひとつです。CloudflareやFastlyといったCDNサービスは、ユーザーが自社のエッジインフラストラクチャ上でアプリケーションを実行できるようにしました。これにより、開発者はグローバルに分散した高