Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

RediSearch 2.0を使用すると、インタラクティブな検索エクスペリエンスを備えた最新のアプリを構築できます

本日、RediSearch 2.0の一般提供を発表し、その強力なクエリ、インデックス作成、および全文検索エンジンをすべてのRedisユーザーに提供できることを嬉しく思います。 2020年9月以降の公開プレビューでは、RediSearch 2.0は、最新のアプリケーションの作成から全文検索、リアルタイム分析に至るまで、無数のユースケースでRediSearch2.0に依存する顧客のリストをすでに獲得しています。 RediSearch 2.0は、RediSearch 1.6の2倍以上の速度を実現するまったく新しいアーキテクチャを導入し、RediSearchはRedisのアクティブ-アクティブ地理的分散とRedisonFlashをサポートするようになりました。

RediSearchが重要な理由

現代の組織は、構造化データと非構造化データを大量にキャプチャしています。ただし、多くの場合、このデータは、最新のアプリケーションのリアルタイムエクスペリエンスをサポートしていない低速のディスクベースのデータベースにロックされています。 RediSearchは、ユーザーがRedisデータセットに簡単にインデックスを付け、Redisの速度でリアルタイムに完全に分散された方法でデータをクエリおよび集約できるようにすることで、これらのパフォーマンスのボトルネックを解消します。

RediSearch 2.0を使用すると、インタラクティブな検索エクスペリエンスを備えた最新のアプリを構築できます

上の図に示すように、RediSearchは、フルテキスト、地理的位置、数値、タグなど、キーの値部分にいくつかのインデックス作成戦略を提供することで、より高度なデータモデリングをRedisにもたらします。インデックスがないと、Redisはすべてのクエリに対してSCAN操作を実行する必要があり、これは非常に遅く、非効率的です。また、これらのインデックスを手動で作成して維持することは複雑で、エラーが発生しやすくなります。 RediSearchは、ユーザーのこれらのインデックスを維持し、クラスター化されたデータベース内のデータ構造全体でクエリを実行できるようにします。

テクノロジースタックにRediSearchを追加すると、データインフラストラクチャが簡素化され、豊富な検索エクスペリエンスでアプリケーションが拡張され、Redisの分析の力が解き放たれます。開発者は、最新のアプリケーションを作成するために、複数のテクノロジー、クエリ言語、データモデル、およびボルトオン検索エンジンの間を行き来する必要がなくなりました。

RediSearchの使用

Cで記述されたRediSearchは、Trieなどのメモリ内データ構造を使用し、最新の分散インデックス作成およびクエリアルゴリズムを活用して、パフォーマンスを念頭に置いて構築されています。これにより、既存の検索エンジンよりも5倍から10倍高速になります(RediSearchの速度の詳細については、検索ベンチマーク:RediSearchとElasticsearchを参照してください)。 RediSearchの低レイテンシのインデックス作成とデータクエリにより、頻繁に更新されるデータセットに適しています。また、新しいRediSearch2.0は以前のバージョンより2.4倍高速です。

RediSearchを使用すると、Redisの複数のデータ型のデータセットにインデックスをすばやく作成できます。 (ハッシュは現在サポートされており、まもなくJSONのサポートをリリースし、続いてStreamsをリリースする予定です。)RediSearchは、軽量のインデックスの作成と削除にインクリメンタルインデックスアプローチを使用します。その豊富なクエリ言語により、データを超高速でクエリし、複雑な集計を実行し、プロパティ、数値範囲、地理的距離でフィルタリングできます。

RediSearchは、中国語、スペイン語、ロシア語、フランス語、ドイツ語など、複数の言語での全文索引付けとステミングベースのクエリ拡張をサポートしています。さらに、「あいまい」検索テクノロジーを使用してオートコンプリート候補を実装することで、ユーザーの検索エクスペリエンスを向上させることができます。

この最新リリースでは、RediSearchのスケーリングもこれまでになく簡単になっています。 RediSearch 2.0を使用すると、顧客は急速に成長して、数百台のサーバー上の数十億のドキュメントのクエリとインデックス作成を行うことができます。また、Redis on Flashのサポートにより、これまで以上に費用対効果の高い方法で実行できます。 RediSearchは、Redis EnterpriseのActive-Activeテクノロジーを活用して、複数の地理的に分散されたレプリカ全体で5ナイン(99.999%)の可用性を提供することにより、グローバルに分散された方法で展開することもできます。これにより、読み取り操作(クエリや集計など)と書き込み操作(例:インデックス作成)競合の解決を気にせずに、ローカルのRediSearchデプロイメントの速度で実行されます。

実世界でのRediSearch

さまざまなデータ型とデータ構造にわたってインデックス作成、クエリ、全文検索を有効にすることは、ユーザーがデータの力を解き放つために不可欠です。スケーリングの制限なしに完全に分散された方法で、ミリ秒未満のレイテンシでこれらのクエリを実行するRediSearchの機能は、真にゲームチェンジャーです。

お客様は、RediSearchを使用して、レガシーアプリケーションを高速化するだけでなく、次世代のリアルタイムアプリケーションを作成しています。たとえば、GoMechanicは、RediSearchを使用して、1,000万個のスペアパーツのデータベースを検索します(詳細については、RediSearch 2.0のプレスリリースを参照してください)。多くのeコマースアプリは、RediSearchを使用してカタログ内の数百万の製品をインタラクティブに検索し、あいまい検索を使用してユーザーにオートコンプリートの提案を提供しています。

RediSearchの一時的な検索機能を使用すると、インデックスの作成が軽量になり、同じデータベースで数千のインデックスが可能になるため、開発者は、たとえば、顧客の購入履歴に基づいてインデックスを迅速に作成および期限切れにすることができます。一方、健康保険会社はRediSearchを使用して、ユーザーが自分のWebサイトやアプリで地理空間クエリを実行し、近所の適切な医療提供者を見つけられるようにしています。これらの用途はすべて、実稼働環境ですでに大規模に展開されています。

RediSearch2.0の使用を開始する

RediSearch 2.0を使用して、アプリケーションのモダナイゼーションの旅を加速する方法を学びましょう。または、すぐに開始するには、RediSearchクイックスタートページにアクセスしてください。


  1. Grafana用のRedisデータソースで構築された3つの実際のアプリ

    更新3/29/21:https://coronavirusapi.com/は最近、データへの無料アクセスを閉鎖し、登録済みのファーストレスポンダーのみが利用できるようにしました。残念ながら、これはコロナウイルスの症例視覚化プロジェクトのデモが機能しなくなることを意味しますが、Grafana WorldmapパネルにRedisTimeSeriesデータを表示する必要がある場合、ヒントは他の多くの実装にも役立ちます。 以前の投稿では、Grafana用の新しいRedisデータソースの使用方法を紹介して示しました: Grafana用のRedisデータソースプラグインの紹介 Grafanaプラグ

  2. サーバーレスRedisでFly.ioアプリを実行する

    Fly.ioは、アプリケーションをグローバルに配布できる優れたプラットフォームです。アプリケーションがグローバルである場合、データはグローバルである必要があります。通常のRedisをFly.ioアプリとして実行できますが、問題は単一のリージョンにあることです。一方、Upstash RedisGlobal Databaseは、グローバルに複製されるため、Fly.ioに完全に適合します。さらに、RESTベースのSDKのおかげで、ステートレスランタイムでの接続の問題は発生しません。 この記事では、UpstashRedisにアクセスしてFly.ioプラットフォームにデプロイする基本的なNode.js