|DMM inside
こんにちは、SRE の @masartzです。 今回は最近取り組んだ、メルカリの主要データベースの容量削減のお話をしようと思います。 TL;DR 主要データベースの容量を20%以上削減しました どういう状況だったか? 何をしたか? メルカリでは2017年11月現在、出品数は1日100万件を超えています。 なので、単純に日々多くのデータが増えていっています。 そのためデータベースのスケーリングは常に検討し、取り組まなければならない課題です。 今回扱ったデータベースはいくつかあるデータベースの中で商品テーブルを持つ、メルカリの主要データベースになります。 増え続けるデータに対応するための、テーブル分割を変則的な形で対応したのでその過程を紹介します。 前提:データベース分割方法 メルカリのデータベースには 会員情報や商品情報など、基本要素となるデータから、通知やお知らせメッセージなど付加的な機能
なぜx86 大学の機械語序論という授業でx86(x86_64ではない)でアセンブラを書いています。 x86のアドレッシングモードが難しかったので復習を兼ねてまとめます。 やりたかったこと 授業でfib(10)を求めてebxに格納する課題がありました。 方針としては、aというシンボルのデータ領域を、アドレッシングモードを使って配列のように扱い、 フィボナッチ数列を計算することにしました。 わかりやすくRubyで書くとこんな方針です。 # fib.rb a = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0] (0..8).each {|i| a[i+2] = a[i+1] + a[i]} puts a[10] アセンブラでa[i+2]やa[i+1]を参照する必要があったので、 アドレッシングモードを利用したいと思ったわけです。 x86のアドレッシングモード 授業の資料によると、x
このまとめは、間違い勘違いを含んでいる可能性があります。ご注意を。 基本 mov [base-reg + index-reg * scale + displacement], src-reg ; intel 形式 movq src-reg, displacement(base-reg, index-reg, scale) ; gas 形式 (movq (& base-reg + (* index-reg scale) + displacement) src-reg) ; sassy 形式 => メモリ[base-reg の値 + index-regの値 * scale] = src-reg displacement は disp8(8bit整数) か disp32(32bit整数) scale は 1, 2, 4, 8 のいずれか index-reg と scale は配列アクセスに使われ
ここ数年、インテルx86系プロセッサを使ったコンピュータ(以下x86システム)で仮想マシンを利用する機会が増えています。 x86システムの上で仮想マシンを使うのはこれまで開発者をはじめITエンジニアが多かったように思いますが、企業のサーバ統合などに広く使われるようになり、今ではWindows 7にXP Modeが搭載されるなど、デスクトップ環境においても広く見かけるようになりました。このように仮想マシン技術はとても身近なものとなってきています。 また、仮想化は、コンピュータリソースの柔軟かつ効率的な運用管理を実現するために用いられ、クラウドコンピューティングの基盤にも用いられる重要な技術のひとつとなっています。 このように、x86システムの仮想化技術はたいへん注目されていますが、その仮想マシン技術がどのようなギミックで実現されているのかを知っているITエンジニアの方は、まだまだ少ないように
これまで、x86システム仮想マシンの概要、およびその実例としてDebian GNU/Linux 6.0を利用した仮想マシンの実行方法について紹介してきました。今回からは、より具体的にCPU、メモリ、I/Oデバイスの仮想化がどうやって実現されているかを解説したいと思います。 今回は、仮想マシンを実装するための古典的手法およびそれを従来のx86プロセッサに適用する際の問題点、そして仮想マシンソフトウェアがどのようにそれらの障壁を乗り越えてきたかについて解説します。 システム仮想マシンに求められる条件 これまで、システム仮想マシンはどのようなものかについて説明してきましたが、仮想化仮想化の生みの親とも言えるGoldbergらは、1974年に書いた論文にて、仮想マシンソフトウェアとはどのようなものであるべきかについて、コンピュータアーキテクチャの観点から論じています。 彼らは、その仮想マシンソフト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く