| 開発者 | コミュニティBasho Technologies |
|---|---|
| 初回リリース | 2009年8月17日 |
| 安定版リリース | 3.2.0 / 2023年1月1日[1] |
| リポジトリ |
|
| 書かれた | アーラン |
| オペレーティング·システム | Linux、BSD、macOS、Solaris、Raspbian |
| プラットフォーム | IA-32、x86-64、AArch32 |
| タイプ | NoSQL データベース、データストア、クラウドストレージ |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | riak.com |
Riak(発音は「リーアック」[2])は、高可用性、フォールトトレランス、運用のシンプルさ、スケーラビリティを提供する分散型NoSQL キーバリューデータストアです。[3] Riakは2017年8月に完全にオープンソースプロジェクトに移行し、ライセンスされたエンタープライズエディションの機能の多くが組み込まれました。[4] Riakは、 CAP定理の影響を強く受けたAmazonのDynamo論文[5]の原則を実装しています。Erlangで書かれたRiakは、フォールトトレラントなデータレプリケーションと、クラスター全体にわたる自動データ分散を備え、パフォーマンスと回復力を高めています。[6]
Riakにはコアストレージ用のプラグイン可能なバックエンドがあり、デフォルトのストレージバックエンドはBitcaskです。[7] LevelDBもサポートされており、バージョンに応じて他のオプション(純粋なErlang Leveledなど)も利用できます。
RiakはもともとBasho Technologies [8]に雇用されていたエンジニアによって開発され、Bashoが破産管財人によって管理された後、2017年に権利がbet365 [9] [10]に売却されるまで同社によって維持されていました[11] 。
主な特徴
- フォールトトレラントな可用性
- Riak は、デフォルトの n_val が 3 であるノードのクラスター全体にキー/値ストアを複製します。ネットワークのパーティション分割やハードウェア障害によりノードが停止した場合でも、マスターレスのピアツーピア アーキテクチャにより、最初の 3 ノードを超えて隣接するノードにデータを書き込んだり、読み戻したりできます。
- クエリ
- Riak は、基本的な PUT、GET、POST、および DELETE 機能に対して、 HTTP およびプロトコル バッファーを介してREST フル API を提供します。セカンダリ インデックス、検索 ( Apache Solr経由)、MapReduceなど、より複雑なクエリも可能です。MapReduce は、 JavaScript ( SpiderMonkeyランタイムを使用) と Erlangの両方をネイティブにサポートしています。
- 予測可能な遅延
- Riak はハッシュを使用してノード間でデータを分散し、複数のノードに障害が発生した場合でもレイテンシ プロファイルを提供できます。
- ストレージオプション
- キー/値はメモリ、ディスク、またはその両方に保存できます。
- マルチデータセンターレプリケーション
- マルチデータセンター レプリケーション (MDC) は、ローカルで復元力を高めるため、またはグローバルでより高速な地域アクセスを実現するために、Riak クラスター間でデータの一方向および双方向レプリケーションを提供します。一方向レプリケーションは、バックアップや災害復旧サイトなどの読み取り専用シンクに便利です。双方向レプリケーションにより、複数の Riak クラスターが長距離にわたって最終的に一貫性のあるデータを保持できます。チェーン、ハブ アンド スポーク、メッシュ ネットワークなどの複雑なレプリケーション シナリオは、直接接続されていないクラスター間でのデータのレプリケーションを可能にする Cascades 機能により可能になります。主な動作モードは、フル同期とリアルタイムの 2 つです。フル同期モードでは、ソース クラスターのすべてのデータがシンク クラスターにレプリケートされます。メタデータと変更のみが転送されるため、高速かつ効率的です。リアルタイム モードでは、ソース クラスターへの更新がシンク クラスターにリアルタイムで送信されます。これらのモードは連携して最高のパフォーマンスを実現するように設計されています。すべてのマルチデータセンター レプリケーションは、複数の同時 TCP 接続を介して行われ、パフォーマンスとネットワーク使用率が最大化されます。
- 調整可能な一貫性
- 各バケットに対して最終的な一貫性と強力な一貫性を選択するオプション。
主な製品
Riak のすべてのバージョンは現在、完全にオープンソースかつ無料であり、Basho ではライセンス料が課せられていた追加機能も含まれています。
Bashoはフリーミアムモデルを採用しており、Riak Core、Riak KV、Riak CS、Riak TSの形でRiakの無料バージョンを提供し、より高度な機能とSLAベースのサポートのライセンスで収益を得ていました。エンタープライズエディションの追加機能は、Riak KVリリース2.2.6の時点でRiak KVのオープンソースバージョンに統合されました。[12]およびRiak CS 2.1.2 [13]
Riak Core と Riak Core Lite
リアックコア
riak_core [14]はRiakを支える分散システムフレームワークであり、すべてのRiakバージョンの基盤を形成しています。Riakの一部としてメンテナンスされています。
リアックコアライト
riak_core_lite [15]は、分散システムを構築するための基盤として一般的な用途を目的としています。
Riak KV (キーバリュー)
Riak KVは、複数のサーバーにデータを分散することで最大限のデータ可用性を実現するように設計された分散型NoSQLデータベースです。つまり、1つのクライアントが1つのサーバーにアクセスできれば、データの読み取りと書き込みが可能になります。[16] KVは、その存続期間中にいくつかの名前を経てきました。最初はRiak、次にRiak DS(データストア)、最後にRiak KV(キー値)でした。
2017年にBasho Technologiesが破産したとき[11]、 KVの開発はオープンソースコミュニティによって引き継がれ、2021年まで継続され、2018年にリリースされた2.2.6はKVの最初のコミュニティリリースとなりました。このリリースでは、もともとBashoのRiakのエンタープライズバージョンに限定されていたいくつかの機能が統合されました。[12]
バージョン2.9.0はオープンソースコミュニティによる最初のメジャーコミュニティリリースであり、2019年11月にリリースされました。 [12]バージョン3.0.1は2020年8月20日にリリースされました。[12]その後も開発は継続され、最新リリースはバージョン3.0.7です。[17]
削除された機能
現在のバージョンの Riak では、Riak の Enterprise エディションの一部の機能がサポートされなくなりました。これには次のものが含まれます。
- SNMP/JMX サポート
Riak KV 3.0+ の分離された機能
Riak KV 2.x の以下の機能は、Riak ビルドからデフォルトで削除されました。これらの機能を含む特定のビルドが利用可能です。
- 横綱
Riak CS (クラウド ストレージ)
もともとRiak Moss [18] (Riak Multi-tenant Object Storage System - MOSS)として知られていましたが、リリース時にはRiak CS (Cloud Storage)と命名され、2012年1月に初めて公開されました。
Riak CS (クラウドストレージ) は、Riak の分散データベースである Riak KV 上に構築されたオブジェクトストレージソフトウェアです。Riak CS は、あらゆる規模でシンプルで可用性の高い分散クラウドストレージを提供するように設計されており、クラウドアーキテクチャの構築や、高負荷アプリケーションやサービスのストレージインフラストラクチャとして使用できます。[19]
Riak CSには、リクエストのシリアル化を管理するために使用されるStanchion [20]と呼ばれるアプリケーションも含まれています。これにより、Riak CSはユーザーやバケット名などのグローバルに一意なエンティティを管理できます。この文脈でのシリアル化とは、クラスタ全体がグローバルに一意なエンティティに対して常に単一の値に同意することを意味します。その値が変更されると、新しい値がクラスタ全体で認識される必要があります。
Riak CS は、Amazon S3 との互換性をより明確にするために、一時的に Riak S2 としてブランド名が変更されましたが、その名前は定着せず、Riak CS に戻りました。
2021 年に TI 東京からの貢献により、Riak CS の開発が再開されました。
Riak TS (時系列)
Riak TS は、時系列データに最適化された Riak KV の拡張機能です。
CREATE TABLE構造化データをサポートしており、データを書き込む前にテーブル定義 (呼び出しによる) が必要です。- プライマリインデックス(「クォンタ」)内の連続した領域からのデータスライスは同じパーティションに格納されます。
- CRUD 操作は、一貫性を犠牲にして速度を優先して最適化されています。
Riak TS では、SQL コマンドの限定されたサブセットが実装されました。テーブル間の一貫性の保証は提供されていません (外部インデックスはありません)。SELECTステートメントでは、WHERE句はサポートされていますが、サポートHAVINGされていません。ORDER BYリリースされなかったバージョンに登場する予定でした。
Riak TS は、独自のリポジトリを持つ製品ではなく、ブランチのコレクション (riak_kv、riak_pb などの Riak KV の個別のコンポーネント内) として存在していました。Gordon Guthrie (リーダー)、Andy Till、Andrei Zavada で構成される専任チームによって開発され、他の開発者からの貢献も時々ありました。
Riak TS は、Riak Data Platform プロジェクトとともに、Basho の製品ラインを多様化する試みとして考案されましたが、多くの関係者は、この取り組みは誤ったものであり、最終的には Basho の終焉につながったと考えています。
ライセンスとサポート
Riakはもともとフリーミアムモデルでライセンス供与されていました。Riak KV、Riak CS、Riak TSのオープンソース版は利用可能ですが、エンドユーザーは追加機能やサポートに対して料金を支払うことができます。しかし、Bashoが破産管財人による管理下に入り[11]、bet365 [10](すべてのIPの購入者)がすべてのRiak製品を完全にオープンソース化したため、プレミアム機能はすべてオープンソース版で利用できるようになりました。Bashoの終焉以降、コミュニティ[21]によるアドホックな有料サポートオプションが登場しました。
言語サポート
RiakにはRuby、Java、Erlang、Python用の公式ドライバがあります。また、他のプログラミング言語用のコミュニティサポートされたドライバも多数あります。[22]
コミュニティ開発
bet365 [10]がRiak IPを購入した後[9] 、 Riak製品は完全にオープンソース化され、プレミアム機能をオープンソースバージョンに統合する作業は2.2.6リリースで完了しました。
歴史
RiakはもともとBasho Technologies [2]のAndy GrossとJustin Sheehyによって、 Akamaiの元エンジニアと幹部によるWeb Sales Force Automationアプリケーションを動かすために書かれました。データストア技術は、それをベースに構築されたアプリケーションよりも関心を集めたため、同社はRiak自体を軸にビジネスを構築することを決定し、Fortune 100企業で採用され、世界で最も急成長しているWebベース、モバイル、ソーシャルネットワーキングアプリケーションの多くやクラウドサービスプロバイダーの基盤となりました。卒業後のリリースには以下が含まれます。
リアックKV
Riak 1.0 は 2011 年 9 月 10 日にリリースされました。
リアックCS
Riak CSは2013年3月20日にオープンソース化された[39]
リアクTS
Riak TSは2015年10月にリリースされました[59]
ユーザー
著名なユーザーには、AT&T、Comcast、[67] GitHub、[67] Best Buy、[67] 英国国民保健サービス(NHS)、[68] The Weather Channel、[69] Riot Gamesなどがあります。[70]
参照
参考文献
- ^ Riak 3.2.0 リリースノート、2023-01-01
- ^ ab Sheehy, Justin. 「Riak 1.0 リリース パーティー」。Vimeo。
- ^ Harvey, Cynthia (2014 年 5 月 23 日)。「クラウドで使える 60 のオープン ソース アプリ」。Datamation。2014年6 月 5 日閲覧。
- ^ 「Riak KV 2.2.6 リリースノート」. github.com . 2018年4月26日. 2021年9月10日閲覧。
- ^ DeCandia, Giuseppe; Hastorun, Deniz; Jampani, Madan; Kakulapati, Gunavardhan; Lakshman, Avinash; Pilchin, Alex; Sivasubramanian, Swaminathan; Vosshall, Peter; Vogels, Werner (2007 年 10 月 14 ~ 17 日)。 Dynamo: Amazon の高可用性キー値ストア(PDF)。 Proceedings of 21st ACM SIGOPS Symposium on Operating Systems Principles (SOSP '07)。 ワシントン州スティーブンソン、米国: ACM。 pp. 205 ~ 220。doi :10.1145/1294261.1294281。ISBN 978-1-59593-591-5. 2014年6月5日閲覧。
- ^ Morgan, Timothy Prickett (2014 年 5 月 7 日)。「Eucalyptus が AWS クラウドクローンをスケールアウト」。エンタープライズ テック。2014年6 月 5 日閲覧。
- ^ 「Basho: Bitcask」. docs.riak.com . 2021年9月14日閲覧。
- ^ 「Basho Technologies」、Wikipedia、2020-11-19、2021-07-15取得
- ^ ab 「Riak NoSQL、Bet365に買収される」ComputerWeekly.com . 2021年7月15日閲覧。
- ^ abc "Bet365", Wikipedia , 2021-07-14 , 2021-07-30取得
- ^ abc ヒル、レベッカ。「Bashoの道の終わり:裁判所が事業を管財人に」www.theregister.com 。 2021年7月15日閲覧。
- ^ abcdefghi "芭蕉/リアク". GitHub 。2021年7月15日閲覧。
- ^ “basho/riak_cs”. GitHub 。2021年7月24日閲覧。
- ^ 「Riak Core」。GitHub。
- ^ 「Riak Core Lite」。GitHub。
- ^ “リアクKV”. docs.Riak.com。 2021年7月15日。
- ^ ab 「Riak KV 3.0.7 リリースノート」。Riak Github。 2021-07-21 . 2021年9月2日閲覧。
- ^ 「リアク・モス」.ギットハブ。 2012-01-26 。2021年8月24日閲覧。
- ^ 「Riak クラウド ストレージ」。docs.Riak.com。 2021年7月15日。
- ^ “スタンションアプリケーション”. Tiot.jp . 2021年8月24日閲覧。
- ^ “Riak コミュニティ サイト”.リアク情報。 2021-09-14 . 2021年9月14日に取得。
- ^ 「Riak クライアント ライブラリとコミュニティ コード」 。2014年6 月 5 日閲覧。
- ^ 「Riak 1.0 リリース」Riak.com 2011-09-11 2021-08-26閲覧。
- ^ 「Riak KV 2.2.0 リリースノート」。Basho。2016年11月17日。 2016年12月21日閲覧。
- ^ 「Riak KV 2.2.5 リリースノート」。GitHub 。 2018年6月23日閲覧。
- ^ “basho/riak_kv”. GitHub 。2021年7月15日に取得。
- ^ 「Riak KV 2.9.8 リリースノート」。Github 。 2020年12月7日。 2021年8月19日閲覧。
- ^ 「リリースノート 2.9.9」。GitHub 。 2021年8月6日。 2021年8月24日閲覧。
- ^ “basho/riak_core”. GitHub 。2021年7月15日閲覧。
- ^ “Riak KV 3.0.8 リリースノート”. Riak Github。 2021-10-12 . 2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.9 リリースノート”. Riak Github。 2021-11-12 . 2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.10 リリースノート”. Riak Github。 2022-03-30 。2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.11 リリースノート”. Riak Github。 2022-10-11 。2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.12 リリースノート”. Riak Github。 2022-12-20 。2023-05-12に取得。
- ^ "Riak KV 3.2.0 リリースノート". Riak Github。 2023-01-01 。2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.13 リリースノート”. Riak Github。 2023-02-04 。2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.14 リリースノート”. Riak Github。 2023-02-13 。2023 年 5 月 12 日に取得。
- ^ “Riak KV 3.0.15 リリースノート”. Riak Github。 2023-02-15 。2023 年 5 月 12 日に取得。
- ^ 「Riak CS がオープンソースになりました」Riak.com 2013-03-20 2021-08-26閲覧。
- ^ “Riak MOSS 0.0.3”.ギットハブ。 2012-02-26 。2021年9月2日閲覧。
- ^ 「Riak CS 0.1.0 リリースノート」。Github 。 2012年2月25日。 2021年9月2日閲覧。
- ^ 「Moss 1.0 リリースノート」。Github 。 2012年4月2日。 2021年9月2日閲覧。
- ^ 「Moss 1.0.1 リリースノート」。Github 。 2012年4月18日。 2021年9月2日閲覧。
- ^ "Riak CS 1.1.0 リリースノート". Riak CS Github。 2012-08-20 。2021年9月2日閲覧。
- ^ “Riak CS 1.2 リリースノート”. Riak CS Github。 2012-10-23 。2021年9月2日閲覧。
- ^ "Riak CS 1.2.1 リリースノート". Riak CS Github。 2012-10-23 。2021年9月2日閲覧。
- ^ “Riak CS リリースノート”. Riak CS Github。 2012-11-08 。2021年9月2日閲覧。
- ^ “Riak CS リリース”. Riak CS Github。 2013-03-20 。2021年9月2日閲覧。
- ^ "Riak CS 1.3.1 リリースノート". Riak CS Github。 2013-04-04 。2021年9月2日閲覧。
- ^ “Riak CS 1.4.0 リリース”. Riak CS Github。 2013-08-12 。2021年9月2日閲覧。
- ^ “Riak CS リリース”. Riak CS Github。 2014-07-31 。2021年9月2日閲覧。
- ^ “Riak CS リリース”. Riak CS Github。 2014-09-10 。2021年9月2日閲覧。
- ^ “Riak CS リリース”. Riak CS github。 2014-10-09 。2021年9月2日閲覧。
- ^ “Riak CS リリース”. Riak CS Github。 2014-12-12 。2021年9月2日閲覧。
- ^ “Riak CS リリース”. Riak CS Github。 2015-03-13 。2021年9月2日閲覧。
- ^ "Docs.riak.com". Riak CS リリースノート. 2015-03-27 . 2021-09-02閲覧。
- ^ 「Riak CS リリースノート」。Docs.riak.com。2015年 10 月 14 日。2021 年 9 月 2 日閲覧。
- ^ “Riak CS github”. Riak CS Github。 2019-04-09 。2021年9月2日閲覧。
- ^ “芭蕉、Riak TSをリリース(時系列)”. InfoQ。 2015-10-27 。2021年8月19日閲覧。
- ^ 「Riak TS リリースノート」. docs.riak.com . 2016-02-23 . 2021-09-14閲覧。
- ^ 「Riak TS 1.3.0 リリースノート」. docs.riak.com . 2016-05-04 . 2021-09-14閲覧。
- ^ 「Riak TS リリースノート」. docs.riak.com . 2016-07-05 . 2021-09-14閲覧。
- ^ 「Riak TS 1.4.0 リリースノート」. docs.riak.com . 2016-08-24 . 2021-09-14閲覧。
- ^ 「Riak TS 1.5.0 リリースノート」. docs.riak.com . 2016-12-20 . 2021-09-14閲覧。
- ^ 「Riak TS 1.5.1 リリースノート」。docs.riak.com。2017年1月24日。 2021年9月2日閲覧。
- ^ 「Riak TS 1.5.2 リリースノート」. docs.riak.com . 2017-02-21 . 2021-09-14閲覧。
- ^ abc 「Basho Technologies、アップグレードでより多くの企業をターゲットに」2013年2月21日。 2015年3月26日閲覧。
- ^ Clark, Jack (2013 年 10 月 10 日)。「NHS が Oracle Spine を廃止し、オープンソース化へ」The Register。2014年6 月 5 日閲覧。
- ^ Henschen, Doug (2014 年 6 月 2 日)。「ビッグデータ ツールが定着する理由: InformationWeek ビデオ」。InformationWeek。2014年6 月 5 日閲覧。
- ^ Ptaszek, Michal (2016 年 1 月 16 日). 「チャット サービス アーキテクチャ: 永続性」. RiotGames . 2016 年2 月 2 日閲覧。
外部リンク
- 公式サイト
