酔いどれ設計ナイト2019の発表資料です。
はじめに はてなサマーインターン2017の大規模システムコースの成果報告をします。 今年の大規模システムコースではメンターのid:masayoshiさんとid:y_uukiさんの下、自律分散監視システムとそれを利用したネットワークグラフの可視化に取り組みました。自律分散監視システムでは単純なクラスタリングによる死活状況の確認だけではなくアプリケーションレベルの疎通確認を行えるものを実現しました。またどのようにしてクラスタを形成するかという問題に取り組む内に、サービス間のネットワーク上のつながりを取得できるようになり、その情報でサーバー間の関係性の可視化を行いました。この記事では、それらの詳細を説明します。 はじめに 自律監視システムの実現 中央サーバー型の監視システム 自律分散監視システム アプリケーションレベルの相互監視 どうやってクラスタを形成するか? 実験 ネットワークグラフの可視化
それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜本的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'
DeNA社内でのElasticsearch勉強会にて、アプリ「ハッカドール」におけるElasitcsearch利用法について発表してきました。 スライドはこちら。 Elasticsearch for Hackadoll from mosa siru Elasitcsearchの中身や運用について濃く触れるというよりは、ちゃんとした検索エンジン作るための泥臭い話がメインになっています。 (ある意味で昨年Tokyo WebMiningにて発表した捗るリコメンドシステムの裏事情(ハッカドール)の派生スライドです。) ハッカドールは1周年を迎え、来月にはアニメ化もされます。ニュースアプリがアニメ化とか開発者としてもどうなるか予想がつきませんが、放映時には全裸待機しようと思います! hackadoll-anime.com
140dev Twitter API Programming Tips, Tutorials, Source Code Libraries and Consulting streaming_framework As described in the code architecture, the tweets received from the Twitter streaming API are stored in the database in two steps. First the entire payload for each tweet is stored in the json_cache table by get_tweets.php. No parsing is done at this point, instead all the data for the tweet is
4日間のNetezza研修に行ってきたのでNetezzaのアーキテクチャについて書いてみる。 Netezzaの全体像はこんな感じです。 SMP hostというのがクエリを受け付けてparseして最適化してプランを作ります。SMP hostのDiskはDRBDで二重化されています。 プランはSnippetという単位になりそれが各SPUにばらまかれて並列処理されます。 各SPUでC++コードの生成、コンパイル、実行という処理を行いますが、2回目以降はコンパイル済みのオブジェクトコードがキャッシュされるので早くなります。 SPUはSnippet processing unitの略でCPU, FPGA, Memoryを持ちます。 FPGAで解凍処理や行、列の絞り込みを行うことによって性能向上をはかります。 CPUの仕事を減らしてハード側でなるべく処理させるという感じでしょうか。 テーブルを作るとき
Calling our Presto community speakers – we want to hear from you! Fill out out community call for papers to speak at upcoming meetups and conferences. What is Presto?Presto is an open source SQL query engine that’s fast, reliable, and efficient at scale. Use Presto to run interactive/ad hoc queries at sub-second performance for your high volume apps.
Tutorials: Learn SQL in stages 0 SELECT basics Some simple queries to get you started 1 SELECT name Some pattern matching queries 2 SELECT from World In which we query the World country profile table. 3 SELECT from Nobel Additional practice of the basic features using a table of Nobel Prize winners. 4 SELECT within SELECT In which we form queries using other queries. 5 SUM and COUNT In which we ap
筑波大学の川島先生に呼ばれて木、金と情報システム特別講義Dというやつに参加してきた。こんなことになるとは思っていなかったが、あろうことか講師側で呼ばれてしまい、思えば遠くへ来たものだと感慨深い。フリは「RiakとNoSQLの話をしてもらえたら」という非常に自由度の高い内容なので、せっかくなので僕の知っていることを全部詰め込んで話してやろうと思ったら10分延長してさらにスライド10枚分くらいを消化不良で終了という、みっともない感じになってしまった。かなり端折ってポイントだけ説明したので流れが分からず苦労した方も多いと思うが、まあ僕の性格なので許してほしい。データベースの講義をひと通り終えた院生レベルを想定してスライドを作ったので、もしかすると、わりと難しかったり分かりにくかったりするかもしれないので、わからないことがあったら適当に質問してください。 言いたかったことの流れを僕なりにまとめると
IBMのPOWER8が昨年8月に発表されたとき、ひときわ怪しかったのがCAPIなる機能。 From https://twitter.com/Daniel_Bowers/status/372101503936253952 CAPIはCoherence Attache Processor Interfaceの略で、外部ハードウェア上のメモリとCPUキャッシュ間のコヒーレンス(整合性)をものっすごい高帯域で維持してくれるインタフェース。そして注目すべきは、その外部ハードウェアとして左下にちらっと「FPGA or ASIC」と書かれていること。つまりIBMは、POWER8を外部のFPGAやASICとつないで、それをほとんどCPUの一部分のような速度で使うための仕組みを用意した、というわけだ。 これを見て、うーむ、こいつはPOWER8とFPGAの組み合わせで何か面白いもの出してくるな! とニラんでと
内部名にお目にかかるのは、システム・カタログを調べるときや、エラーメッセージを受け取るときです。 上記の型のうち最初の4つの型は "varlena" 型です(すなわち、フィールド長が明示的にディスクに保存され、それの後に実際のデータが続きます)。このように実際の空間は期待された大きさよりも少し大きくなります。しかし、長い値は圧縮されるので、ディスク上の空間は思ったよりも小さくなります。 文字列長さの上限値が指定のアプリケーションにより要求される場合は、VARCHAR(n) は可変長の文字列を保存するのに最適です。 TEXT は "無制限の"長さの文字列のためのものです(PostgreSQL ではすべてのフィールドを通して、最大の値の長さは1ギガバイトに制限されています)。 CHAR(n)は、VARCHAR(n)が与えられた文字だけを保存するのに対し、ブランクを詰め込んでいつも同じ長さで文字
Android, iOSアプリからのアクセスをNode.jsで実装したけれど、データベース(MySQL)がたまに応答しなくなる現象が発生したので調査したときの覚書。 環境:CentOS 5.10 x86_64, MySQL 5.5.36, Node.js v0.10.26, node-mysql 2.1.0 1.MySQL Community Editionの限界 Node.js + node-mysqlからMySQLにクエリを投げると、その分だけスレッドが立つ(1つのコネクションに対して1つのスレッド)。 デフォルトの設定では、すぐ「too many connections」とエラーになってしまうので、my.cnfに「max_connections」を設定する。 しかし、コネクション数が256を超えた辺りで、レスポンスが非常に悪くなるらしい。公式サイトにコネクション数とパフォーマンスのグ
■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲
このblogは、著者である「sakito」が技術的に生存している事を報告するために存在します タイトルを「紹介マニアどらふと版」から変更しました 概要 Python から MySQL に接続するためのドライバは複数存在している。どれを使うのが一番良いのか確認してみる。 Python の MySQLドライバ Python の MySQLドライバの主な物は「MySQL - PythonInfo Wiki」に記載されている。 以下のような物がある。記事を書いた時点でのpypiでの最終リリース日の新しい順。 リンク Python3対応 DB API v2.0対応 ライセンス メンテナー 最終リリース日 概要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く