読書会(データ指向アプリケーションデザイン)第1回議事録

[ 戻る ]


==========================================================================================
Java読書会BOF 「データ指向アプリケーションデザイン」を読む会 第1回
==========================================================================================

.. csv-table:: 開催概要

   "日時","2020年10月24日 10:00 - 17:00"
   "場所","川崎市てくのかわさき"
   "出席者(敬称略)","松永 根本 加藤 今井 遠藤 高橋(智) 高橋(徹) 岩室 吉本 平山"

0 Links
##############################################################################
- リンク集のgithub https://github.com/ept/ddia-references
- アラン・ケイの書評コメント https://www.drdobbs.com/architecture-and-design/interview-with-alan-kay/240003442
- 前提図書 The Art of Multiprocessor Programming https://www.amazon.co.jp/Art-Multiprocessor-Programming-%E4%B8%A6%E8%A1%8C%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E5%8E%9F%E7%90%86%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%8<>1%BE%E3%81%A7/dp/4048679880
- 日本語版の正誤表リンク https://www.oreilly.co.jp/books/9784873118703/

1 The technology landscape
==============================================================================
1. データシステムの基礎
------------------------------------------------------------------------------


FOSS : Free の意味は、GNU 的な意味の free か、
東証ダウンは  hardware 障害を検知する firmware の update した時に、switch する timeout の値が変わらなかったから

テストはどこまでやるのか、ハードウェアの部分障害をどう検知するか

Latency : リクエストが処理を待っている時間
Response time : クライアントから見た処理時間

ユーザーの待ち時間の評価には中央値(p50)を使うと良い
外れ値の悪さの評価は 95(p95)パーセンタイルとかを使うとよい、ほかには 99%(p99), 99.9%(p999) など
アマゾンでは p999 を使っている

HOL(Head-of-line blocking) blocking とは、少数の低速なリクエストが全体を遅くすること
なので Client side の計測の Response time が重要
またレスポンスタイムの集計は意味がない、個別に評価すること

テイルレイテンシの増幅 : 複数の処理のうち、ひとつでも遅いとその

ソフトウェアシステムの設計原則

- 運用性
- 単純性
- 進化性

Big ball of mud (巨大な泥の塊) 巨大で複雑なソフトウェアの事

2. データモデルとクエリ言語
------------------------------------------------------------------------------

- Polyglot persistence : 複数モデルによる永続化 SQL と noSQL を併せた実装形態

- JSON フォーマットの利点
  - Locality にすぐれる、ひとつのクエリで全部とれる
  - 木構造が明示的

- IBM の IMS : JOIN の機能がなかった
- CODASYL : Conference on Data Systems Languages が標準化を推進する
- すべてのデータが同一フォーマットなら スキーマは有用

- Locality のメリット
  - 一度に大量なデータを取り出したいとき
- Locality のデメリット

- ドキュメントサイズが大きくなる書き戻し MongoDB 2.4 の時の話か?
  - ※ だいたい Projection の機能があるので、この話はおかしい
  - 例えば DynamoDB は一か所にまとめて突っ込むべき

- P48 document.getElementsBy ClassName("selected") <-- このByとClassの間のスペースは誤植?

- P55 の例 2-4
  - us: usa のタイポか SQL の AS みたいな何かか
  - eu: の記述の意味は何か? 何かのラベルか?

- Cypha (neo4j のクエリ言語)

- トリプルストアと SPARQL
  - SPARQL 言語の表記は、タプルとは異なって、 主語 + 動詞 + 目的語のトリプルストア
  - _:lucy a :Person,
  - _:lucy :name "Lucy",
  - 凡例
    - :が付くのは vertex(頂点)
    - a 予約語
  - \_: ノード名 で書き始める

- 次回 P59 2.3.4.1 セマンティックWeb から


[ 戻る ]