UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Rust】PingCAPのTalent Plan

Rust Tokyo 2021に参加したときに紹介されていたトレーニングプログラムのメモ

github.com

Talent Planは、PingCAPによって開始されたオープンソースのトレーニングプログラム

オープンソース、分散システム、Rust、Golang、およびその他のインフラストラクチャに関心のある人々のために、オープンソースコラボレーション、Rustプログラミング、分散データベース、およびシステムに焦点を当てた一連のコースが提供されている

Rustに関しては2つのコースがあるみたい

  • TP 201:Rustの実用的なネットワークアプリケーション
    高性能にネットワーク化された、並列で非同期のKVSのRustプロジェクトをゼロから段階的に開発する一連のプロジェクト
  • TP 202:Rustの分散システム MIT 6.824分散システムのコースワークを基に、RaftコンセンサスアルゴリズムやPercolator分散トランザクションプロトコルなどの重要な分散アルゴリズムの実装に焦点を当てている

MIT 6.824とは?
MITの分散システムの講義で、分散システムをエンジニアリングするための抽象化と実装手法を紹介している大学院科目

TiKVとは

そもそものセッションの内容はPingCAPがRustに分散KVデータベースであるTiKVを構築したときの学んだことなどが話されていた

TiKVを知らなかったので用語を調べた

github.com

TiKVは、オープンソースの分散型のトランザクション型Key-Valueデータベースのこと

他の従来のNoSQLシステムとは異なり、TiKVは従来のKey-Value APIだけでなく、ACID準拠のトランザクションAPIも提供する

Rustに組み込まれ、Raftを搭載しTiDBを補完するように作られたデータベース

TiDBはMySQLと互換性のあるクラウドネイティブな分散型SQLデータベースで、NewSQLデータベースと言われるものの一つ

GitHub - pingcap/tidb: TiDB is an open source distributed HTAP database compatible with the MySQL protocol

NewSQLデータベースはRDBMSのようなACIDトランザクションに準拠しつつNoSQLのような拡張性と分散型のメリットをもつ新しいデータベースで、大量なトランザクションを捌き、大量のデータを保存し、大量なデータから分析を行うシステム基盤に利用されることが期待されている

他参考

MITの分散システムの講義 6.824: Distributed Systems が面白かった件 - Qiita

【概要編】NewSQLとTiDBについて | DevOps Hub | SB C&S