INSERTを高速化したPostgreSQL

Slides:



Advertisements
Similar presentations
だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
Advertisements

Humble and Honorific Language By: Word-Master Leo, Mixer of Ill Beats.
て -form - Making て -form from ます -form -. With て -form, You can say... ~てもいいですか? (= May I do…) ~てください。 (= Please do…) ~ています。 (= am/is/are doing…) Connecting.
Essay writing rules for Japanese!!. * First ・ There are two directions you can write. ・よこがき / 横書き (same as we write English) ・たてがき / 縦書き (from right to.
VE 01 え form What is え form? え? You can do that many things with え form?
SS2-15:A Study on Image Recognition and Understanding
現在完了形 (present perfect tense)
A:あらっ!どうしたんですか?! B: ________んです。 つぎの絵を見て、何か面白い答えを書いてください。
英語特別講座 疑問文 #1    英語特別講座 2011 疑問文.
TRIVIA QUIZ Choose a group name! Write this on your answer sheet
All Rights Reserved, Copyright (C) Donovan School of English
The Bar バー.
英語勉強会.
パワーポイントを使うプレゼンテーションを行う際は、このテンプレート を参考にしてください。
第1回レポートの課題 6月15日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
日本語の文法 文型(ぶんけい)をおぼえよう!
装置保護 (Apparatus protection) コスト削減 (Low-cost experiment)
Chapter 11 Queues 行列.
日本語... ジェパディー! This is a template for you to use in your classroom.
と.
AP/5 2013年2月7日.
Verb plain form + ことができます Abilities.
Bellwork: English meaning? 1)はじめまして 2)どうぞ 3)すみません 4)おはようございます 5)しゅくだい
ABC社マジック・クアドラントでリーダーの位置づけ
2010年7月9日 統計数理研究所 オープンハウス 確率モデル推定パラメータ値を用いた市場木材価格の期間構造変化の探求 Searching for Structural Change in Market-Based Log Price with Regard to the Estimated Parameters.
まっすぐ行きます! Lesson 3.
てフォーム Conjoining sentences (Verb)
Starter Sensei Lesson Practice.
What did you do, mate? Plain-Past
Verb Plain Negativeform
日本人の英語文章の中で「ENJOY」はどういうふうに使われているのか
Japanese verbs informal forms
データ構造とアルゴリズム 分割統治 ~ マージソート~.
Tohoku University Kyo Tsukada
Nagoya University Global 30 program
A 02 I like sushi! I like origami!
Estimating Position Information by Detecting Network-Connection
にほんご JPN101 Sep. 23, 2009 (Wednesday).
十年生の 日本語 Year 10 Writing Portfolio
Chapter 4 Quiz #2 Verbs Particles を、に、で
Who Is Ready to Survive the Next Big Earthquake?
Did he/she just say that? Get your head out of the gutter! Oh wait….
“You Should Go To Kyoto”
know / knows(s) / ___________
ストップウォッチの カード ストップウォッチの カード
Starter: Write the following dates in Mandarin
て みる.
Causative Verbs Extensively borrowed from Rubin, J “Gone Fishin’”, Power Japanese (1992: Kodansha:Tokyo) Created by K McMahon.
suppose to be expected to be should be
-Get test signed and make corrections
くれます To give (someone gives something to me or my family) くれました くれます
Term paper, Report (1st, first)
完了を表す現在完了形 ~してしまった.
Baa Baa Black Sheep 0:28.
Where is Wumpus Propositional logic (cont…) Reasoning where is wumpus
疑問詞 1年生で学習した疑問詞.
There is/are X (living thing)
Question Words….
リカバリ 東大生研 情報融合研究センタ 喜連川優.
Expressing uncertainty: Might
第1回レポートの課題 6月24日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
Tag question Aoyama Shogo.
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
Created by L. Whittingham
英語音声学(7) 音連結.
Mondriaan Memory Protection の調査
Grammar Point 2: Describing the locations of objects
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
ABC社[マーケット・セグメント名を入力]のハイプ・サイクルで「関連プレーヤー」に選定
Presentation transcript:

INSERTを高速化したPostgreSQL Sigres INSERTを高速化したPostgreSQL

応答時間 秒 各クライアントは1000件のINSERT (新マシン:RPM=7200) クライアントの同時アクセス数

性能比 倍 環境:新マシン クライアントの同時アクセス数

何故速くなる?(1/3) ~データ挿入のメカニズム~ つまり、WALを実行しなければ高速化 UPS付メモリ:永続記憶装置 メモリ メモリ メモリ ランダムアクセス アクセス集約 ディスク ディスク ディスク ナイーブ方式 提案 WAL

何故速くなる?(2/3) PostgreSQLの場合は? L(WALInsertLock) XLogInsert R(WALInsertLock) L(WALInsertLock) XLogInsert R(WALInsertLock) WALバッファ (メモリ) WALファイル (ディスク) L(WALWriteLock) XLogWrite R(WALWriteLock) まとめるとはいえ XLogWriteは write と fsync を含むので重そう

何故速くなる?(3/3) やったこと:XLogWriteの消去 変更前 変更後 XLogCtl->xlblocks[curridx].xrecoff); /* Advance LogwrtResult.Write to end of current buffer page */ LogwrtResult.Write = XLogCtl->xlblocks[curridx]; ispartialpage = XLByteLT(WriteRqst.Write, LogwrtResult.Write); if (!XLByteInPrevSeg(LogwrtResult.Write, openLogId, openLogSeg)) { /* * Switch to new logfile segment. We cannot have any pending * pages here (since we dump what we have at segment end). */ Assert(npages == 0); if (openLogFile >= 0) XLogFileClose(); XLByteToPrevSeg(LogwrtResult.Write, openLogId, openLogSeg); /* create/use new log file */ use_existent = true; openLogFile = XLogFileInit(openLogId, openLogSeg, &use_existent, true); openLogOff = 0; /* update pg_control, unless someone else already did */ LWLockAcquire(ControlFileLock, LW_EXCLUSIVE); if (ControlFile->logId < openLogId || (ControlFile->logId == openLogId && ControlFile->logSeg < openLogSeg + 1)) ControlFile->logId = openLogId; ControlFile->logSeg = openLogSeg + 1; ControlFile->time = time(NULL); UpdateControlFile(); * Signal bgwriter to start a checkpoint if it's been too long * since the last one. (We look at local copy of RedoRecPtr * which might be a little out of date, but should be close * enough for this purpose.) * * A straight computation of segment number could overflow 32 * bits. Rather than assuming we have working 64-bit * arithmetic, we compare the highest-order bits separately, * and force a checkpoint immediately when they change. if (IsUnderPostmaster) uint32 old_segno, new_segno; uint32 old_highbits, new_highbits; : #define XLogWrite(…)  do { if (…) _XLogWrite(…); } while (0) 280行⇒1行

危険じゃないの? UPSだけだなんて…fsyncして欲しい! やってます WALバッファ

メモリファイルシステムかバッテリバックアップライトキャッシュで十分では? Pgsql-hackers ML 面白い! 8.3か8.4に マージしよう? Flash環境に 良さそう 最初の反応 Joshua Drake 最終的な反応 Tom Lane と Bruce Momijian メモリファイルシステムかバッテリバックアップライトキャッシュで十分では?

バッテリバックアップ ライトキャッシュ? RAM-DISK? i-ram:遅い

とはいえ、MFS領域のデータ退避手法は不明 メモリファイルシステム 環境:新マシン 10%~19%の性能改善に留まる とはいえ、MFS領域のデータ退避手法は不明

FAQと予定 FAQ 今後の予定 fsync=offとの違いは? 何でつくったの? Sigresの更なる高速化(WALInsertLock) Sigresはログページ切り替え時にfsync発行 何でつくったの? 中間報告会後の飲み会の失言で 今後の予定 Sigresの更なる高速化(WALInsertLock) MySQL falconの高速化 MySQL MEMORYの永続化

まとめ UPSを前提としてINSERT/UPDATEを高速化するPostgreSQL 8.2.1対応 良かったら試してみて下さい http://sourceforge.jp/projects/sigres/ DL: 70 PV: 2470 天笠俊之 36 北川博之 53