(Translated by https://www.hiragana.jp/)
Redis - Wikipedia コンテンツにスキップ

Redis

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
Redis
作者さくしゃ Salvatore Sanfilippo(2020ねん6がつ30にちまで)[1][2]
開発元かいはつもと Redis Ltd.(2015ねん7がつ15にちから)
初版しょはん 2009ねん2がつ26にち (15ねんまえ) (2009-02-26)[3]
最新さいしんばん 7.2.4 - 2024ねん1がつ9にち (6かげつまえ) (2024-01-09)[4] [±]
リポジトリ ウィキデータを編集
プログラミング
言語げんご
C
対応たいおうOS クロスプラットフォーム
対応たいおう言語げんご 英語えいご
サポートじょうきょう 活動かつどうちゅう
種別しゅべつ データストア
ライセンス 7.2まではさん条項じょうこうBSDライセンス
7.4以降いこうは Redis Source Available License v2 と Server Side Public License v1 のデュアルライセンス。[5]
公式こうしきサイト redis.io ウィキデータを編集
テンプレートを表示ひょうじ

Redisは、Redis Ltd.が開発かいはつしている、ネットワーク接続せつぞくされた永続えいぞく可能かのうインメモリデータベース連想れんそう配列はいれつ(キー・バリュー)、リストセットなどのデータ構造こうぞうあつかえる。いわゆるNoSQLデータベースのひとつ。バージョン7.2まではオープンソースソフトウェアで、7.4以降いこうソースアベイラブル・ソフトウェア[6]

概要がいよう

[編集へんしゅう]

Redisの名称めいしょうREmote DIctionary Server意味いみしている[7][8]

DB-Engines.comの月間げっかんランキングでは、Redisはしばしばもっともポピュラーなキー・バリューがたデータベース英語えいごばんとしてひょうされている[9]。また、Redisは2015ねんのユーザーレビューによる満足まんぞく市場いちばでのプレゼンスの評価ひょうかNoSQLデータベースで4[10]Dockerひとし各種かくしゅコンテナじょう使つかわれているNoSQLデータベースとして1[11]、さらに上位じょうい50デベロッパーツール&サービスにおけるNoSQLデータベースとしても1獲得かくとくしている[12]

沿革えんかく

[編集へんしゅう]
  • 2009ねん2がつ4にち、RedisのプロトタイプをSalvatore SanfilippoがTcl実装じっそうして、Fabio Pitrolaにメールした。[13]
  • 2009ねん2がつ26にち、Salvatore Sanfilippo(ハンドルネームantirez)がC言語げんご実装じっそうなおして、最初さいしょβべーたばんをリリースした。[3]
  • 2010ねん3がつ15にち、Salvatore SanfilippoがVMware入社にゅうしゃし、VMwareがスポンサーとなった[14][15][16][8]
  • 2013ねん5月からは、RedisはVMwareをスピンオフしたPivotal Software英語えいごばんにスポンサーされるようになった[17]
  • 2013ねん11月4にち、Garantia DataがGarantiaをRedisDBに改名かいめいした。この変更へんこうは、Redisの開発かいはつしゃであるSalvatore SanfilippoやPivotal Softwareに事前じぜん通告つうこくはなく、そのGarantiaにもどした。[18]
  • 2014ねん1がつ29にち、Garantia DataがRedis Labs英語えいごばん社名しゃめい変更へんこうした[19]
  • 2015ねん7がつ15にち、Redisの開発かいはつしゃのSalvatore SanfilippoがRedis Labsに入社にゅうしゃし、Redis Labsがスポンサーとなった[20][21][22]
  • 2017ねん2がつ7にち、Redis Enterpriseを発表はっぴょう[23]
  • 2018ねん、Salvatore SanfilippoがRedisの知的ちてき財産ざいさん商標しょうひょうをRedis Labsに譲渡じょうとした。[24]
  • 2020ねん6がつ30にち、Redisの開発かいはつしゃのSalvatore SanfilippoがRedis Labsを退職たいしょくした。[25][26][27]
  • 2021ねん8がつ11にち、Redis LabsはRedis Ltd.に社名しゃめい変更へんこうした[28]
  • 2024ねん3がつ20日はつか、バージョン7.4よりBSDライセンスからソースアベイラブルである「Redis Source Available License v2」と「Server Side Public License v1」のデュアルライセンスに変更へんこうした[6][29]。その結果けっか、Linux Foundationは「Valkey」という名前なまえでフォークを作成さくせいした[30]。これにより、コミュニティのメンテナ、コントリビュータ、ユーザーがRedisデータベースのオープンソースばん開発かいはつ継続けいぞくできるようになった。

リリース

[編集へんしゅう]
  • 2009ねん03がつ - Redis 1.0がリリース。[31]
  • 2010ねん09がつ - Redis 2.0がリリース。[32]
  • 2015ねん04がつ - Redis 3.0がリリース。[33]
  • 2017ねん04がつ - Redis 4.0がリリース。[34]
  • 2017ねん09がつ - Redis EnterpriseがRedis 4.0をサポート開始かいし[35]
  • 2017ねん11月 - Redis Enterprise 5.0を提供ていきょう開始かいし[36]
  • 2018ねん10がつ - Redis 5.0がリリース。Redis Streamが導入どうにゅうされる[37]
  • 2020ねん04がつ - Redis 6.0がリリース。ACLのサポートを拡大かくだい[38]
  • 2020ねん04がつ - Redis Enterprise 6.0を提供ていきょう開始かいし[39]
  • 2022ねん04がつ - Redis 7.0がリリース。しんコマンド、オプションを追加ついか[40]

対応たいおうするプログラミング言語げんご

[編集へんしゅう]

以下いかのようなすうおおくのプログラミング言語げんごからの使用しよう可能かのうである[41]

ActionScript, Bash, C, C++, Chicken Scheme, Clojure, Common Lisp, C#, Crystal, D, Dart, Delphi, Deno, Elixir, Emacs Lisp, Erlang, gawk, GNU Prolog, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Julia, Lua, Nim, Objective-C, OCaml, Perl, PHP, Pure Data, Python, R,[42] Racket, Ruby, Rust, Scala, Smalltalk, Tcl

データタイプ

[編集へんしゅう]

Redisではキーとひもづけて保存ほぞんする。しかしRedisと構造こうぞうがたストレージの重要じゅうようちがいとして、Redisはバイナリれつ文字もじれつ, string)だけでなく以下いかのようなデータタイプをサポートする。Redis ではバイナリれつのことを string とんでいるが、とく文字もじ使用しようだけにかぎったものではない。

のデータタイプは、かくタイプごとに用意よういされた操作そうさ(コマンド)で決定けっていされる。RedisはINTERSECTIONUNION、セットやリストの差分さぶん抽出ちゅうしゅつといったサーバーサイド操作そうさアトミックにサポートする。

永続えいぞくせい

[編集へんしゅう]

Redisでは一般いっぱんてきすべてのデータはメモリじょう格納かくのうされる。バージョン2.4よりバーチャルメモリと名付なづけられたデータをディスクじょう格納かくのうする機構きこう使用しよう可能かのうとなったが[43]、これはのち推奨すいしょうとなっている。永続えいぞくせい実現じつげんするための方法ほうほうとしては、3.2現在げんざいでは2つの手段しゅだん用意よういされている。1つはスナップショットとばれるもので、スナップショットではメモリじょうのデータは非同期ひどうき時折ときおりRDBダンプの形式けいしきでディスクじょうきこまれる。もう1つの手段しゅだんが、1.1から存在そんざいするAOF (append-only file) とばれるもので、こちらはメモリじょうのデータが変更へんこうされるごとにトランザクションログきこまれる安全あんぜん方式ほうしきとなっている。Redisはトランザクションログの肥大ひだい防止ぼうしのためにバックグラウンドでこれをさい生成せいせいすることができる。

デフォルトでは、Redisは2びょう間隔かんかくでデータをファイルシステムにきこむようになっているが、必要ひつようであればより安全あんぜんなオプションを使用しようすることもできる。デフォルト設定せっていでシステムが完全かんぜん失敗しっぱいした場合ばあいでも、うしなわれるデータはすう秒間びょうかんぶんかぎられる。

レプリケーション(複製ふくせい

[編集へんしゅう]

Redisはマスター・レプリカ・レプリケーションをサポートする。Redisサーバーのデータは、複数ふくすうだいのレプリカに複製ふくせいできます。レプリカは、のレプリカのマスターになることができます。これにより、Redisは単一たんいつルートのレプリケーションツリーを実装じっそうできます。Redisのレプリカにはみを許可きょかする設定せってい可能かのうで、その場合ばあいインスタンスあいだ整合せいごう許容きょようするかたちになる。Redisは出版しゅっぱん-購読こうどくがたモデル (Publish/Subscribe) を完全かんぜん実装じっそうしており、マスターで出版しゅっぱん (Publish) されたメッセージは、レプリカに接続せつぞくして購読こうどく (Subscribe) しているクライアントにも到達とうたつする。レプリケーションは、読込よみこみの拡張かくちょうせい書込かきこみはのぞく)とデータの冗長じょうちょうせい向上こうじょう有効ゆうこうである。[44]

性能せいのう

[編集へんしゅう]

データの永続えいぞくせい必要ひつようない場合ばあいにおいて、Redisはメモリじょうのみで動作どうさすることが可能かのうであり、トランザクションコミットごとにディスクへのみが発生はっせいするデータベースくらべて性能せいのうてき優位ゆういである[7]。Redisの操作そうさはシングルスレッドじょうのシングルプロセスとして動作どうさする。そのため、1つのRedisインスタンスではたとえばストアドプロシージャのように並列へいれつ処理しょり実行じっこうすることはできない。

クラスタリング

[編集へんしゅう]

Redisプロジェクトはクラスター仕様しようっており[45]開発かいはつしゃのSanfilippoはRedis clusterの製品せいひんばんではキー空間くうかん自動じどうパーティショニングとホットリシャーディングをサポート、ただしシングルキー操作そうさのみに対応たいおう、という投稿とうこうおこなっている[46]βべーたばんが2013ねんまつにリリース予定よてい[47])。将来しょうらいのバージョンでは、1000以上いじょうのノードをサポートし、ハートビート英語えいごばん障害しょうがい検知けんちによりフォールトトレランス実現じつげん、スレーブのマスターへの昇格しょうかくぜんノードへの出版しゅっぱん-購読こうどくモデルなどが構想こうそうされている[45][48]

Redis にくわえて下記かきものくわえたものを Redis Stack として配布はいふしている[49]。これらのソフトウェアはオープンソースではなく、ソースアベイラブル配布はいふされている[50]

以下いかはかつて Redis Stack にふくまれていたもの

  • RedisGraph - グラフデータベース。Cypherをクエリ言語げんごとして採用さいようしている。2023ねん7がつ5にちにサポート終了しゅうりょう発表はっぴょうされた。[56]

Redis Stack にはふくまれていない関連かんれんプロジェクトとして以下いかのものがある。

関連かんれん項目こうもく

[編集へんしゅう]

脚注きゃくちゅう

[編集へんしゅう]
  1. ^ An interview with Salvatore Sanfilippo, creator of Redis, working out of Sicily, January 4, 2011, by Stefano Bernardi, EU-Startups
  2. ^ Salvatore Sanfilippo – Welcome to Redis Labs, July 15, 2015, By Itamar Haber, Redis Labs
  3. ^ a b Page 7 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting.”. code.google.com. 2024ねん3がつ22にち閲覧えつらん
  4. ^ Releases”. GitHub. 2023ねん4がつ17にち閲覧えつらん
  5. ^ Redis Licensing Overview | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  6. ^ a b Trollope, Rowan. “Redis Adopts Dual Source-Available Licensing | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  7. ^ a b FAQ, Redis”. 2017ねん3がつ16にち閲覧えつらん
  8. ^ a b Redis - AWS、2020ねん6がつ10日とおか閲覧えつらん
  9. ^ DB-Engines Ranking of Key-value Stores
  10. ^ Best NoSQL Databases: Fall 2015 Report from G2 Crowd
  11. ^ The Current State of Container Usage
  12. ^ Top 50 Developer Tools and Services of 2015
  13. ^ LMDB -- First version of Redis written in Tcl
  14. ^ Gwen Shapira (2010ねん3がつ17にち). “VMware Hires Redis Key Developer – But Why?”. Blog. 2016ねん9がつ25にち閲覧えつらん
  15. ^ Salvatore Sanfilippo (2010ねん3がつ15にち). “VMware: the new Redis home”. Blog. 2016ねん9がつ25にち閲覧えつらん
  16. ^ Derek Collison (2010ねん3がつ15にち). “VMware: The Console: VMware hires key developer for Redis”. Blog. 2010ねん3がつ22にち時点じてんオリジナルよりアーカイブ。2016ねん9がつ25にち閲覧えつらん
  17. ^ Salvatore Sanfilippo. “Redis Sponsors”. Redis Labs. 2016ねん9がつ25にち閲覧えつらん
  18. ^ Kepes, Ben (2013ねん11月4にち). “UPDATED - Was Garantia, Is Now RedisDB. Either Way NoSQL Is Hot. But Open Source Firestorm Ensues” (auto). Forbes. 2024ねん3がつ22にち閲覧えつらん
  19. ^ Database Provider Garantia Data Makes Another Name Change, This Time To Redis Labs | TechCrunch”. TechCrunch. 2024ねん3がつ22にち閲覧えつらん
  20. ^ Thanks Pivotal, Hello Redis Labs, July 15, 2015, By Salvatore Sanfilippo, Redis Labs
  21. ^ Redis Creator, Salvatore Sanfilippo (Antirez), Joins Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  22. ^ Haber, Itamar. “Salvatore Sanfilippo - Welcome to Redis | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  23. ^ Gupta, Manish. “Introducing Redis Enterprise | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  24. ^ Redis Labs Becomes, Simply, Redis | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  25. ^ The end of the Redis adventure - <antirez>”. antirez.com. 2024ねん3がつ22にち閲覧えつらん
  26. ^ Gottlieb, Yossi. “New Governance for Redis | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  27. ^ Bengal, Ofer. “Thank You, Salvatore Sanfilippo | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  28. ^ Kreisman, Dylan. “From Our Founders: Becoming One Redis | Redis”. Redis. 2024ねん3がつ22にち閲覧えつらん
  29. ^ LICENSE.txt” (英語えいご). GitHub. 2024ねん4がつ28にち閲覧えつらん
  30. ^ Linux Foundation Launches Open Source Valkey Community”. 2024ねん4がつ29にち閲覧えつらん
  31. ^ Page 6 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting.”. code.google.com. 2024ねん3がつ22にち閲覧えつらん
  32. ^ Page 4 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting.”. code.google.com. 2024ねん3がつ22にち閲覧えつらん
  33. ^ Redis 3.0 release notes
  34. ^ Redis 4.0 release notes
  35. ^ Abutbul, Aviad (2017ねん9がつ26にち). “Redis 4.0 Now Available on Redis Enterprise”. Redis. 2022ねん7がつ23にち閲覧えつらん
  36. ^ B, Cihan (2017ねん11月27にち). “Announcing Redis Enterprise Pack 5.0 GA”. Redis. 2022ねん7がつ23にち閲覧えつらん
  37. ^ Redis (2018ねん10がつ22にち). “Redis 5.0 is here!”. Redis. 2022ねん7がつ23にち閲覧えつらん
  38. ^ Redis (2020ねん4がつ30にち). “Diving Into Redis 6.0”. Redis. 2022ねん7がつ23にち閲覧えつらん
  39. ^ Magrafta, Alon (2020ねん4がつ30にち). “Rediscover Redis Security with Redis Enterprise 6.0”. Redis. 2022ねん7がつ23にち閲覧えつらん
  40. ^ Haber, Itamar (2022ねん4がつ27にち). “Redis 7.0 Is Out!”. Redis. 2022ねん7がつ23にち閲覧えつらん
  41. ^ Clients”. Redis. 2023ねん5がつ19にち閲覧えつらん
  42. ^ CRAN – Package rredis
  43. ^ Redis documentation "Virtual Memory", redis.io, accessed January 18, 2011.
  44. ^ ReplicationHowto – redis – A persistent key-value database with built-in net interface written in ANSI-C for Posix systems – Google Project Hosting
  45. ^ a b Redis Cluster Specification, Redis.io, Retrieved 2013-12-25.
  46. ^ News about Redis: 2.8 is shaping, I'm back on Cluster, Antirez Weblog - Salvatore Sanfilippo, Retrieved 2013-12-25.
  47. ^ Redis Download Page, Redis.io, Retrieved 2013-12-25.
  48. ^ Redis Cluster - a Pragmatic Approach to Distribution, Redis.io, Retrieved 2013-12-25.
  49. ^ About Redis Stack”. Redis. 2023ねん5がつ19にち閲覧えつらん
  50. ^ Redis Licensing Overview | Redis”. Redis. 2023ねん9がつ4にち閲覧えつらん
  51. ^ RedisInsight | The Best Redis GUI”. Redis. 2023ねん5がつ21にち閲覧えつらん
  52. ^ RedisJSON | NoSQL Document Database”. Redis. 2023ねん5がつ21にち閲覧えつらん
  53. ^ RediSearch | Full-Text Search Engine for NoSQL Database”. Redis. 2023ねん5がつ21にち閲覧えつらん
  54. ^ RedisTimeSeries | A NoSQL Time Series Database”. Redis. 2023ねん5がつ21にち閲覧えつらん
  55. ^ RedisBloom | Bloom & Cuckoo Filtering for Redis”. Redis. 2023ねん5がつ21にち閲覧えつらん
  56. ^ Kogan, Lior. “RedisGraph End-of-Life Announcement”. Redis. 2023ねん9がつ4にち閲覧えつらん
  57. ^ RedisGears | Python Scripting in Redis”. Redis. 2023ねん5がつ21にち閲覧えつらん
  58. ^ RedisAI - A Server for Machine and Deep Learning Models”. oss.redis.com. 2023ねん9がつ4にち閲覧えつらん

外部がいぶリンク

[編集へんしゅう]