TOPへ

基本情報

開催日 開催時間 開催場所
2020-05-21 19:00-20:30 オンライン

発表者

参加者

Connpassページを参照のこと。

司会(管理者)

アジェンダ

No 時間 議題 説明
1 19:00-19:10 自己紹介 各自
2 19:10-19:40 (発表)1. Introduction and Overview サマリの発表を想定、都度質問もOK
3 19:40-20:10 (議論)1. Introduction and Overview 本文内容にこだわらず自由に、適宜休憩
4 20:10-20:30 次回以降の進め方を議論、発表者の決定 5回目ぐらいまでは決めたい

当日出た質問と回答(サマリ)

質問:DBを選ぶ時の基準は?
 - 元Oracleなので。昔はそんなに選択肢もなかった。
 - 技術者がいるか、みたいな観点や顧客の要望もあると思う。
 - 業務要件がまずある。

質問:IoTだとRDBが難しい。ひたすらセンサーデータを入れておけというユースケースなど。ただCassandraだけもきつい。
 - その通りで1種類のDBというのはきつい。使い分けになると思う。
 - WriteヘビーなゲームなどはRDBだときつい。
 - 時系列DBもあるよ。
※VictoriaMetricsは結構参加者の興味を引いた様子。

質問:最近のOLAPのバックエンドって単一DBなのか?それとも複数種のデータソースか。
 - DWHつくることも。
 - どこのレイヤでデータを抽象化するかが重要。TablaeuとPrestoでそのあたりの考えに違いがある。
 - 今は選択肢が色々ある。

質問:ヒープという用語が出てくるが、この言葉の意図は?
 - 挿入順など一切の順序を保証しない、空いてる箇所に突っ込むだけなのがヒープ。
 - ヒープってpostgres用語?MySQLはWebexのチャットにあったようにインデックス構成表。
 - Oracleでもヒープはマニュアルにある。

当日のチャットログ

- 著者はAlex Petrovさん twitterのbioだとApache Cassandra Committer
- https://github.com/ifesdjeen
- 「オペレーションの実行」は,CC と RW を実行することでしょうかね・・・
- バイト列の解釈は上位レイヤーがやるということでしょうかね
- 自分もそういう風にとらえました
- ストレージとDBとの比較の一環でデータの持ち方に触れてる感じですかね > For flexibility ~
- データベースのディシジョンツリーって皆さまどうされてますか?(アプリエンジニア的には詳しいDBAいるかどうか、トランザクションをどこまで強固なものを必要とするかぐらいで大体決まっちゃいますが...)
- ここでのあらかじめ定義はPrepared Statementというより、一度書いたクエリを何回も実行するような用途という意味だと僕は解釈しました。
- Time-Series DBではタイムスタンプを差分でもつのがよくありますね
- SIMD のことですね
- SIMDだ
- https://dl.acm.org/doi/pdf/10.14778/2824032.2824078 最近の時系列データベースではほとんどのOSSはこちらの論文の差分符号化アルゴリズムを採用していますね。
- SIMDはたしか90年代からあるので意外と歴史ありますね。
- SAP HANA なんかはカラムでメモリ上にデータを保持して,HTAP 的なワークロードに耐えられるような実装になっています.
- Primary Index as indirectionはMySQLかな
- "Primary Index as an Indirection" の話を伺っているとディスクという物理的要素がアルゴリズムに与えている影響が大きいのですね(だからNVMeだとまた違ってくるのか)
- ですね。Secondary key(not PK) はleaf nodeにPKのidを持ってます
- MySQLだと
- Indirection,インメモリ DB ではパフォーマンスのボトルネックになるという話が最近の DB 分野の話題ですね.
-ランキングとかリアルタイム集計にはRedisが扱いやすいですね
- InfluxDBはクラスタリングや分散がイマイチ弱かったですね
- クラスタリング機構がそもそも商用エディションのみで試しづらいというのもありますね。 > influxdb
- インメモリ DB の性能はディスクベースの DB でバッファ管理を工夫すれば実現できるという研究: https://umbra-db.com/
- 他にOpenTSDBとかも試しましたが、TSDBはどれも一癖ありました
- ですね>InfluxDBのクラスタリングは商用版のみ
- TSDBはまだ枯れてない感が
- Facebook gorillaっていうのもありましたね。
- NoSQL系はどれも運用ノウハウが確立されてなくて大変、というのもありました・・・
- TSDBはこれ使っておけばいいというのはなかなかないですね...
- 強いて言うならPrometheusが無難かな・・・データ欠損許容するので商用サービスとかではつかいづらいですが・・・
- 最近だとVictoriaMetricsが勢いがありますね。 https://victoriametrics.com/ Prometheusのリモートストレージとしても利用できます。
- なるほどVIctoriaMetrics
- コロプラさんが使ってるやつですね。>  victoria metrics Prometheus 専用と思ってましたが時系列DBだったのですね
- 関係あるかなぞですが、"MEMORY ストレージエンジン (従来は HEAP と呼ばれていました) は、メモリーに格納された内容で特定用途のテーブルを作成します。".. だそうです。 https://dev.mysql.com/doc/refman/5.6/ja/memory-storage-engine.html
- bi-weeklyでよいと思います
- 2週間ごと良い気がします
- 2週間でよさそうです!
- 2週間毎に賛成です

次回以降の進め方

トピック(1)開催ペース、1回あたりのボリュームについて

当日のコメント等

トピック(2)次回以降の発表者について

当日のコメント等