Riakは、高可用性、耐障害性、運用の簡素化を目的に設計されたオープンソースの分散型NoSQLキーバリューデータストレージシステムです。Basho Technologies社によって開発され、AmazonのDynamoDBの原理に基づいています。Riakはシンプルなキー/バリュー方式でデータを保存しますが、二次インデックス、Riak Searchなどのデータセットを削減するための特殊機能により複雑なクエリタイプをサポートします。
Riakの主要な特徴の1つはマスターレス設計です。Riakクラスタのすべてのノードは同じであり、どのようなクライアントのリクエストにも対応できます。この設計により、Riakはハードウェアの故障やネットワークのパーティションに対して非常に堅牢になっています。あるノードがダウンしても他のノードはデータを失うことなくクライアントのリクエストに対応し続けることができます。
RiakのPythonクライアントを使用した例は以下です。
この例ではRiakを使った基本的なデータの保存と検索を説明しています。実際には、Riakのようなキーバリューストアはさまざまな用途に使用される可能性があります。例えば、頻繁にアクセスされるが更新されることの少ないデータのキャッシュとして使用したり、高可用性と水平スケーラビリティを必要とするWebアプリケーションのプライマリデータストアとして使用できます。