Aurora MySQL 5.6 と ElastiCache Redis 5.0.6 における並列カウントアップのパフォーマンス比較

MySQL では次のような SQL を書くことで対象レコードの値をインクリメントすることができます。 

Avro でスキーマ管理されたデータを BigQuery で取り込めるデータに変換する

Kafka に入っている Avro フォーマット(スキーマは Schema Registry で管理されている)のデータを BigQuery に取り込みたいとします。その場合、おそらく Google BigQuery Sink Connector を使うのが良いでしょう。
ところが、諸事情により Ruby で Kafka からデータを逐次取得し、BigQuery にデータを取り込みたいとします。その場合、fluentd のある環境であれば、取り出したデータを fluentd に送り、fluent-plugin-bigquery で取り込むのが手軽でしょう。

Presto における Service Discovery の動作原理

Presto を運用していると “No worker nodes available” というエラーに遭遇することがあります。これは coordinator が planning をする際に active な worker nodes が存在しないと起きるエラーなんですが、worker nodes に問題ではなく service discovery が上手く機能していなくて起きることがあります。

SRE Lounge #11 で「安定・安価なECS auto scalingを目指して」を発表しました

SRE Lounge #11 で Repro で行っている ECS の auto scaling について発表しました。ECS autoscaler で工夫している点についてがメインですが、一般的な auto scaling にも使える知見もあるかと思います。

Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜

Rails アプリケーションの開発において、自分の変更に関係のないテストのせいで CI がコケるとストレスですよね?真っ先に直したくなりますよね?不安定なテストを直すのは大変な労力が要ると思ってませんか?実は、たいていのケースは簡単に再現確認ができるし、不安定になる要因もだいたい決まっているし、ログやスクリーンショットを見れば原因も簡単に特定できるんです!

Ruby の test-unit のプロファイルを取る

RSpec だと --format json で実行すると各 example の実行時間が取得できるんですが、test-unit だとそのようなことができなさそうなのでプロファイルを取れるようにしてみました。

Cassandra でレプリケーションストラテジーを変更するとデータが消失する

Cassandra でレプリケーションストラテジーを変更するとデータが消失する現象に遭遇したんですが、どうしてそんなことが起きるのかやどうしたら直せるのかがさっぱりわからなかったので、ソースコードを読んだり手を動かしたりして調べてみました。
以下、Cassandra 3.11.4 の話です。
partitioner としてデフォルトの Murmur3Partitioner を使用し、endpoint snitch として GossipingPropertyFileSnitch を使用することとします。

Repro Tech Meetup で「Repro における Presto の安定化・パフォーマンス改善の歩み」を発表しました

Repro Tech: 実践・並列分散処理基盤の自社枠として、自分が Repro に入社してから Presto 関連で行った改善について発表しました。

外部キーから参照されているテーブルに対して pt-online-schema-change を使う

pt-online-schema-change では外部キーから参照されているテーブルに対して使用する場合に --alter-foreign-keys-method を指定する必要があります。
--alter-foreign-keys-method には rebuild_constraints を指定することが推奨されているんですが、子テーブルの ALTER に時間がかからなければという但し書きがあります。

Systems Manager の Maintenance Windows によるメンテナンスタスクの定期実行と Datadog の Downtimes API によるアラートの抑止

広告