ikemonn's blog

技術ネタをちょこちょこと

論文

A Top-Down Approach to Achieving Performance Predictability in Database Systems を読んだ

A Top-Down Approach to Achieving Performance Predictability in Database Systemsを読んだ時のメモ。 どんなもの? DBのlatencyのバラ付きの主要な原因を特定するためにTprofiler(解析ツール)を作成しバラ付きを少なくした MySQL, Postgres, VoltDBのバラ…

Dapper, a Large-Scale Distributed Systems Tracing Infrastructure を読んだ

Dapper, a Large-Scale Distributed Systems Tracing Infrastructureを読んだ時のメモ。 どんなもの? 分散トレーシングシステム 分散システムのtraceをする 先行研究とくらべて何がすごい? 設計上の目標 オーバーヘッドが少ない サービスのパフォーマンス…

In Search of an Understandable Consensus Algorithm(Extended Version) を読んだ

[In Search of an Understandable Consensus Algorithm(Extended Version)(https://raft.github.io/raft.pdf)を読んだ時のメモ。 どんなもの? わかりやすさを重視して開発された合意アルゴリズム Paxosよりもわかりやすいが、Paxosよりも効率的 先行研究と…

Paxos Made Live - An Engineering Perspective を読んだ

Paxos Made Live - An Engineering Perspectiveを読んだ時のメモ。 どんなもの? Paxosを実際のプロダクト(Chubby)で使用するために行った挑戦とその際に選択したアルゴリズムについて Paxosは論文には1ページの擬似コードで説明されているが、実プロダクト…

Paxos Made Simple 読んだ

Paxos Made Simpleを読んだ時のメモ。 どんなもの? Paxos 分散合意アルゴリズム 複数のプロセスが値を提案した時に、どのように1つの値を選ぶかについて 技術や手法の肝は? The Problem safety requirements 提案された値のみが選ばれる 1つの値のみが選ば…

Kafka: a Distributed Messaging System for Log Processing を読んだ

Kafka: a Distributed Messaging System for Log Processingを読んだ時のメモ。 どんなもの? LinkedInによって開発された分散メッセージングシステム 大容量のログを高スループットで配信、低レイテンシで収集することを目的としている 先行研究とくらべて…

CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data を読んだ

CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Dataを読んだ時のメモ。 どんなもの? 擬似ランダムデータ分散アルゴリズム データの名前に対して偏りが無いようにデータノードを割り当てる central allocatorがいなくても新しいデー…

Session Guarantees for Weakly Consistent Replicated Data を読んだ

Session Guarantees for Weakly Consistent Replicated Data を読んだ時のメモ。 どんなもの? weak consistencyのread-any, write-anyの特性を活かしつつも、ある1つのクライアントからは一貫性があるように見えるようにしたもの モバイル端末のユーザはrea…

Cassandra - A Decentralized Structured Storage System を読んだ

Cassandra - A Decentralized Structured Storage Systemを読んだ時のメモ。 どんなもの? 分散ストレージシステム 大規模データを多数の一般的なサーバに分散させることで可用性を高めて、SPOFを無くす ソフトウェア側で可用性とスケーラビリティをコントロ…

MapReduce: Simplified Data Processing on Large Clusters を読んだ

MapReduce: Simplified Data Processing on Large Clustersを読んだ時のメモ。 どんなもの? 巨大なデータセットを処理するプログラミングモデル Map key/valueのinputを中間的なkey/valueペアにする Reduce 全ての中間的なvalueを中間的なkeyでまとめる 多…

The Dataflow Model を読んだ

The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processingを読んだ どんなもの? unbounded で順不同なデータを処理する上で、正確性、latency、costをいい感じに…

The Chubby lock service for loosely-coupled distributed systems を読んだ

The Chubby lock service for loosely-coupled distributed systemsを読んだ。 ロックについての基礎知識が無くて全然わからなかった。 どんなもの? 分散システム用のlock service coarse-grained lock GFS, BigTable, MapReduceが共有リソースへのアクセス…

The Google File System を読んだ

The Google File System を読んだ。 どんなもの? Googleのサービスの特性に最適化させた、大規模分散システム用のスケーラブルなファイルシステム 廉価で故障しやすいHW上で稼働することを前提とし、耐障害性がある aggregateのパフォーマンスが高い BigTab…

Bigtable: A Distributed Storage System for Structured Data を読んだ

Bigtable: A Distributed Storage System for Structured Data を読んだ時のメモ。 どんなもの? ペタバイト級のデータ、何千台ものサーバまでスケールする大規模分散ストレージ Google Analyics, Google Earth, Web indexing等に使われている 先行研究とく…

Dynamo - Cloud Computing & Big Data Group Discussion を読んだ

Dynamo: Amazon’s Highly Available Key-value Store を読んだのでメモ メモのフォーマットは下記を参考にした。 先端技術とメディア表現1 #FTMA15 from Yoichi Ochiai どんなもの? Dynamoは可用性とスケーラビリティのあるkey-value storage primary key…