タグ

architectureとalgorithmに関するMakotsのブックマーク (2)

  • Raft

    2. 自己紹介  久保田展行 (@nobu_k)  Preferred Infrastructure America, Inc. 取締役  日の NG ワード「いつアメリカ行くの?」  MessagePack for C,C++ メンテナ  分散システム、 DB 、検索エンジン  最近 golang に夢中 2 3. 今日の話: Raft  Raft とは  複製されたログを管理するためのコンセンサス ( 合意 ) アルゴリズ ム  Raft はわかりやすさを重視して作られた  既存のアルゴリズムは難しすぎて正しく実装するのが困難  もしくは、難しい部分を簡単にしようとして安全ではなくなったり  この先生きのこるには分散システムの理解が必須  コンセンサスは安全な分散システムを構築する上で必須のトピック  ツールとして使うにしても、中身や特性は理解しておくべき

    Raft
  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
  • 1