読者です 読者をやめる 読者になる 読者になる

データマイグレーションナイトに行ってきた

atnd.org

最近Excelの手入力からMySQLに移行するデータマイグレーションをやっており、インスピレーションと癒やしを求めて参加してきました。DMM.com Labo様主催。東京タワーとかすごい近い絶景のロケーションでした。

ChatWork株式会社 赤津 慶太氏

  • ChatWorkの移行プロジェクトで、メッセージングシステムをAuroraからHBaseに移行した話
    • メッセージングシステムと言うとMQみたいな物を想像したが、チャットのメッセージ全体を格納しているシステムの事で基幹
  • Auroraで17億のレコードを移行
  • 基本マイグレーション + 差分マイグレーションという構成
    • ダウンタイムを小さくする工夫。自分も昔やりました
  • 件数が多いため差分はbinlogを参照して出す。スナップショットから差分を取って移行を繰り返し、最後は本番から。本番とスナップショットのbinlogの出方の違いに注意。
  • DBMS側のメトリクスをしっかり見るのが大事。データを移行してもシステムを壊しては意味ない。
  • Sparkの高速化の話をかなり掘り下げて
    • 門外漢なのでまぁ

株式会社CyberZ 黒木 亮太氏

  • 自社プロダクトをオンプレからAWSに移行した話を全般的に
  • コストのモニターが大事みたいな話

なぜクラウド化したかについて、コスト面とアプリ開発に集中したいからと言われていて、インフラ専業エンジニアはやめてアプリ開発者にクラウド覚えてもらったみたいな話もされていた。DevOpsやんけ~ という感じ。

ただ、クラウドに移行したからといってインフラの知識がいらないとは思えず、むしろ高い専門性が必要になってくる印象がある。アプリ開発に集中というのは開発者の夢であり、PaaSを経て大Serverless時代の到来を待ち望んでいるのではありますが。個人的にクラウドのメリットって高可用性とかになるかなぁと思って聞いていた。

株式会社DMM.comラボ 飯田 涼太氏

  • 基幹システムのAPI更新に伴う新旧同期レプリケータの話
    • 字面がやばく、実際ヤバいアツさがあるプロダクトだった
  • 構成は、新旧ともにMySQLのスレーブとして振る舞うデータ取得機があり、そこから一旦RabbitMQに保存してキューイングし、vert.xで作ったマッパで変換して適用。それが新->旧と旧->新の双方向にある
    • アツい!!!
  • レプリケーションは一旦RabbitMQに書き出すことで、途中で落ちても大丈夫なようにする。永続性を確保。レプリケーションMySQLのバージョンが違ってても対応できるようにした
  • マッピングYamlで指定する形にした
    • なんかすごく汎用性が高いぞ
  • 反映順が担保されないが、結果整合性で解決
  • 更新時に、SQLのコメントやデータなどで更新者を明示し、循環更新されないようにした
  • 問題ないかは日々新旧APIを叩いて比較して検証。マッピングのミスなどで不整合が出ないかは、テスト系でしっかり検証して問題が出ないようにした
    • マジかよ……

とにかく絶対に止めたくないし安全完全ご安心にやるんだという強い意志が伝わってきて、そこまでやるかという感動がありました。これものすごいマンパワーでやってそうで、すごい事例だった印象。

株式会社サイバーエージェントクラウドファンディング(makuake) 吉田 慶章氏

developers.cyberagent.co.jp

の内容らしい。とにかく話が面白く、内容も絞られていて良かったです。

印象に残ったのは、あえて無停止移行を避けて安全側に倒した話。しくじった時のダメージも大きいし、ビジネス側の影響も考えて然るべき調整をして実施したと。そういうの大事だなあと。

Amazon Web Services Japan 千葉 悠貴氏

インバウンドは無料なのでじゃんじゃんデータを持ってきてください、という感じでした。

気になったサービス

www.publickey1.jp

えぇ……


とりあえずAuroraとか実のところRDSインスタンスとの違いがわかってなかったので、その辺調べてみようかと思います。あれ、AWSの勉強会に来たみたいな感想に

自分の経験だと、昔オンプレからクラウドに移行しようとなった時に、ついでにDBのスキーマを整理しようとなってマイグレーションをやったことがあります。基本+差分更新という形で、移行前日まで更新日付を見て移行しておいて、停止後に残りを処理して終わらせる形。移行プログラムはJaveで書いてて、JDBCを2系統用意してSQLで読んで変換しつつSQLで書く形。それなりにデータ量ありましたが、それくらいで済む環境ではありました。まぁなんとか無事には終わった。

最初に書いた人力DB移行の件は、移行データがそれ単体で完結しておらず、結局インポート後に人力で修正をしないといけないという状態で、どうしたものかと。今のところ中間データみたいな物を作って、プレ環境で修正して中間データに書き出し、本番移行という感じにできないかなと考え中ですが、はたして。

今何やってるのと言われた時のための記事 2017/05/15週

Ruby csvインポートの話

qiita.com

どうもアウトプットがないので、仕事上のあれこれを書き出す。

葛西臨海公園

f:id:thrakt:20170521161214j:plain

葛西臨海公園|公園へ行こう!

葛西臨海公園に行ってきました。荒川の河口に見える観覧車がトレードマーク。1周17分らしい。あとなんか水族館とかもある。

f:id:thrakt:20170521155455j:plain

結構大きい公演でバーベキューができたりします。ゲートブリッジを望む絶好の展望。

f:id:thrakt:20170521160236j:plain

橋を渡って渚に出れます。風が強い。

f:id:thrakt:20170521160340j:plain

海だ!!! 波打ち際にも出られます。

とにかく都内近郊から楽に来れるのがよく、人もそこまでいないので手軽に海を見れるのが良い。

f:id:thrakt:20170521160537j:plain

舞浜の隣なので、テーマパークもよく見えます。夢の国も遠目に見るくらいでちょうどいい。

Nature remo 到着

待ちに待った(少しばかりの皮肉も含む)Nature remo が届いた! 自分はKickstarter経由だったと思う。まぁ届いてよかった。

Nature Remo (日本語) — Nature Inc

f:id:thrakt:20170520215102j:plain

ケーブルから両面テープから何から全部ついてくる。スマホアプリがあり、指示通りにやってれば付属品のみでスムーズに行く。リモコンの学習も指示通りにやれば、エアコンのセットアップは一瞬で終わったので素晴らしい。IRKitは色々APIを叩きつつ色々やらないといけなかったので、それと比べるとかなり良い。

IRKitと比較すると、製品の完成度もとても良くなっている。進捗報告でめちゃめちゃアピールしてた外観も、言うだけあってスマートな印象を受ける。LEDも控えめで格好良く、通常通り動いていたら付かないのもいい。コンセプトの実験品が製品に昇華された感じ。

リモコンの感度もかなり良いような気がする。IRKitはもう少し場所を選んだような気がする。アプリで初期設定する時に場所の指定があるので、だいたいそんな感じにしておいた。ただ、タッチセンサーがあるのに部屋の一番奥に設置してしまった……。

機能面はまだ発展途上という感じ。今のところできるのは、スマホアプリでエアコンの操作と室温が見れるだけ。タッチセンサーはLEDがひかる以外の機能がない。IFTTTの連携もまだ示されていない。(追記 スマホアプリはインターネット上から操作できるので、出先から家のエアコンを付けられる)

とりあえず、前も書いた通りこういうのは継続して使ってみて安定するかが大事、なんだけど、今のところ使いでがなく稼働してるかどうかもわからん。今後の発展に期待という感じです。

今何やってるのと言われた時のための記事 2017/05/08週

ニャオス

firefoxXULの廃止の話

thrakt.hatenablog.jp

firefoxのXULの廃止の話

ブラウザの環境整備なんかをしてたんですが、XULの廃止に向かってるのがどうにも面倒くさい。

まぁ、あるアドオンがうまく動いてないので修正しようと思ったのです。幸いアドオンのリポジトリにPRが出されてて、それを当てれば対応できるっぽい。これまでにもこういう事はあり、XPIといっても実態はzipなので、解凍してコードを変えて再圧縮してfirefoxに放り込めば更新できる。しかし、今は未署名のアドオンはインストールできなくなっており、自前で署名しようともできず結局あきらめた。(そんなので時間を使ったわけです)

そもそもアドオンの更新が止まっているのも、XULのサポートが終わるため。そのうち終わるものをメンテしてもしゃあないというのがありそうに思う。XUL廃止ってマジか、アドオンという特徴を捨てるってMozilla本気か何考えてんだってのはだいぶ前から言われ続けている。

先週自分もWebExtensionを触ってみたわけだけど、これはできる事が結構少ない。手軽ではあるし作りやすいとは感じたけれど、XULと比較して機能面は全く足りていない。なんてったってサイドバーも作れやしないんだから。

thrakt.hatenablog.jp

改めて見返すと、今firefoxを使う理由になっているあのアドオンこのアドオン、全部XULで書かれている。この調子で行くと今年中には全部使えなくなってしまうわけだけど、そうなるとfirefoxを使う意味はあるのか……。ブラウザの明日はどっちだ!

blog.mozilla.org

Firefox 57, November 14th release
Firefox will only run WebExtensions.

今何やってるのと言われた時のための記事 2017/05/01週

vuex

thrakt.hatenablog.jp

手前味噌だけどなかなか使いやすくなってよかった。ドッグフーディングです。

qiita.com

更新済み。vuexは使うの楽だけど、必要な状況だと結局webpackとかを使う事になると思われ、そうなると簡便さが失われるというジレンマを感じる。

Web Extensions

thrakt.hatenablog.jp

qiita.com

日曜大工的な感じ。まぁまぁ楽なので、サーバはAPIだけにしてこういうので、というのも一瞬思いついたけど普通のWebアプリ作っても変わらんか。