BigQueryのおとーさん達、JordanとFelipeに話しを聞いてきた

  • 67
    いいね
  • 1
    コメント

はじめに

これは2017/06/14のGoogle Cloud Community fes @ Google Cloud Next'17 Tokyoでの#bq_sushiにて開催されましたセッション『Jordan本人だけどなんか質問ある?』の内容となります。
端折っている部分や記憶が若干曖昧な部分、ごにょごにょもありますが、ご了承ください。

お題1:スロットとは何か?もう少し教えてください!あと、事前にTierを知る方法はありますか?

Jordanおとーさん:
その質問は良く聞かれる。知りたい理由も知っている。
現在、1スロットに割り当てられるメモリなど処理能力はわかっているのだが、あえて答えていない。なぜ答えないのかは、その処理能力が日々向上しているからなんだ。だから、知っておいてほしいのは1スロットというのが並列処理されている数だと認識してほしい。
あとTierの制限については遠くない未来に廃止したいと思っている。もう少し待ってほしい。
また、事前に知る方法は今は無いんだよね。

お題2:LegacySQLとStandardSQLどっちがいいの?スロットの使われ方も違うように思うが。

Jordanおとーさん:
LegacySQLというのは元々Google社内で使っていたものだ。
しかし、今はStandardSQLを利用すべきだ。スピードも速いはずだ。同じSQLでLegacySQLが速いなら、それはバグだ!
なぜ速いかというと、StandardSQLにはオプティマイザが実装されている。

司会:
LegacySQLは無くなるのか?

Jordanおとーさん:
よほどのことが無い限りなくなることはない。しかし、進化もしない。
StandardSQLはこれからも新しい機能を実装していく。

お題3:Custom Quotaの設定をCloud Console or API or bqで設定したいです。

Jordanおとーさん:
それは難しいんだ。詳しくは話せないが、BigQueryの構造上、申請を受けるたびにBigQueryのエンジニアが手作業で行っている。(※まぢか!)
言っていることは理解出来るが、実装はかなり厳しい。

お題4:table_partitionを利用したテーブルへのupdateはいつぐらいに実装されるのか?

Jordanおとーさん:
実はこれも難しくてね。要望があるのは知っているし、自分たちも取り組んでいる。
もう少し待っててくれないかな。

お題5:障害が発生することがたまにある。長時間だと業務影響があり、正直しんどい。。。。。

Jordanおとーさん:
すでに今年も大きな障害が何度か発生し、みんなが困っているのは知っている。自分たちもそれは認識している。
だから、今は機能よりも安定を優先している。実は開発が終わっていて、実装できる機能もいくつかあるのだが安定性を考えてもう少し様子をみている。
また、当初考えつかなかったような使い方をしているユーザ(とてつもないStreamingInsertとか)が出てきているのも事実であり、そういう使い方をされても他のユーザに迷惑がかからないような機能を実装していっている。

お題6:USやEUのデータ固定はあるが、asia(特に日本)のリージョン固定はできるようになるか?

Jodanおとーさん:
asiaということ?それともTokyoリージョン固定?どっちがいいのかな?

ここでみんなから挙手でアンケート
Tokyo 9 : asia 1 (業務系データとログに分かれたような感じ)

Jordanおとーさん:
ふむ。以前、スイスで同じようなことを言われて出来るよって簡単に答えた。
でも、実際には6ヶ月もかかってしまったんだよね。だから、簡単に出来るとは答えることが出来ないんだよ。

kaz-san:
でも、どうだろうか?Flatrateのユーザが100人ぐらいになったら?

Jordanおとーさん:
そりゃお金払ってくれるならやるよ!(※会場爆笑。どっちやねん!)

お題7:Spannerなどから簡単にデータをBigQueryに持っていきたい!何か開発しているようなものはありますか?

kaz-san:
あれ?それは『ピー(すいません。伏せ字的な)』がそろそろ。。。。

司会:
コラ~!それはまだ言っちゃダメ!(※会場爆笑)

Jordanおとーさん:
すでにGoogle社内では様々なデータをBigQueryに取り込むようなツールは利用されている。
無責任なことは言えないけど、そんなに遠くない未来にリリースされることもあるんじゃないかな?

Felipeおとーさん:
この質問者はなんて読むんだい?娘ってことか?

kaz-san:
あ、それはGAEが好きすぎて嫁にしたいと思っているユーザが居るんだよ(※会場爆笑)

司会:
あ、sinmetalさんですね。はい。

お題8:データインポートのエラーログが昔よりそっけない。エラー行とかわかんないから人的コストが。。。。

Jordanおとーさん:
あー。それか。(クスクス)
ごめん。バグ!(※バグかーーーーい!というツッコミ)

Felipeおとーさん:
うん。Issueに上がってるから、Trackingしてみて!

Jordanおとーさん:
しかし、理解してもらいたいこともあるんだ。BigQueryは分散処理で成り立っているのは知っているよね?つまりデータのロードも分散処理なわけだよ。そこで、分散された単体ならそうでもないが全体の何行目にエラーがあるとかは非常に難しいんだよ。だから、解決に時間がかかっているんだよね。

最後に

参加者は50名程度でしたが、ほぼBQユーザということで質問の内容にみんな『そーそー!』とか『それな!』とか『なんやと!』などリアクションがわかりやすく、会場一体での熱気に溢れたセッションでした。
BigQueryの認知度だけでなく、実際のユーザがかなり増えてきて成熟期にきたのかな?という感想を持ちました。
もっと、#bq_sushiのイベントなどを行って、事例の共有なんかをやっていきたいと思います。

忙しい合間を縫って、登壇してくれたJordanとFelipe、そして参加頂いた方々、ありがとうございました。