エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
DBサービスを作ろう その3 ストリームAPIでイテレータを実装 - 豪鬼メモ
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
DBサービスを作ろう その3 ストリームAPIでイテレータを実装 - 豪鬼メモ
前回の記事で、GetやSetなどの、通常のデータベースの個々のレコードを操作するAPIを実装した。CountやR... 前回の記事で、GetやSetなどの、通常のデータベースの個々のレコードを操作するAPIを実装した。CountやRebuildなどの、データベース全体に対する操作も同様に実装できる。しかし、データベース内を横断して個々のレコードを取り出すイテレータは、進捗状態を持ち回さねばならないので、同じ方法では実装しづらい。そこで、gRPCのストリームAPIを利用することにした。その設計と実装とテスト方法を紹介する。 DBMのイテレータは、データベース内の個々のレコードを取り出す機能だが、普通のAPI(unary API)で実装するのは難しい。1回のリクエストに1回のレスポンスという構造でやろうとすると、全てのレコードのデータをレスポンスに入れることになるが、それは現実的ではない。イテレータの定石通り、「次のレコードを取り出す」という操作を何度も実行する構造にしたいが、その場合は、「どこまで進んだか」と