MySQLのInnoDBストレージエンジンは行ロックをサポートしています。しかしOracleと同じ感覚でアプリケーションを作っていると、思わぬところでデッドロックに出くわすことがあります。これはInnoDBのロック範囲がOracleよりも微妙に広いためです。 実際の例で確認してみましょう。 mysql> select * from t; +----+------+ | c1 | c2 | +----+------+ | 10 | a | | 15 | a | | 20 | a | | 25 | a | | 30 | a | | 35 | a | | 40 | a | | 45 | a | | 50 | a | +----+------+c1列は主キーになっています。1つめのセッションで以下のSQLを実行します。 mysql> set tx_isolation = 'repeatable-r
MySQLのmasterとslave 1:1にして参照をslave向けるのってやりたがる人多いみたいだけど、性能たいして上がらない割に可用性落ちるだけだからやめようキャンペーン 2011-06-19 00:16:30 via YoruFukurou MySQL はレプリケーションが簡単に構成できるのですが、時折 master 1台 に対して slave 1台、更新処理は master に、参照は slave に、という構成を目にします。 個人的にはこの構成はお勧めでないと思っているので、その理由を考察してみます。 1. 可用性が落ちる 当然ですが、master, slave のどちらが落ちても影響を受けるために可用性が低下します。 2. 全体の性能がほとんど上がらない master 1台ですべてのクエリを処理する場合と比べて、可用性が落ちる引き換えとして見合った性能向上が得られるか、という
これまでPublickeyではデータベースのスケーラビリティに関するさまざまなトピックを取り上げてきました。クラウド時代にはスケーラブルなデータベースのニーズがこれまでになく高まっているためです。 この記事では、これまで取り上げてきたデータベースのスケーラビリティに関する技術を少しまとめて紹介しようと思います。 従来のリレーショナルを拡張 従来のリレーショナルデータベースに対して、技術的工夫を凝らすことでスケーラブルなデータベースを実現しようというアプローチにも、さまざまなものがあります。 データベース研究者の大御所、マイケル・ストーンブレイカー氏は、リレーショナルデータベースは決して遅くないと主張。リレーショナルデータベースが遅い原因はロック、ラッチ、リソース管理にあるとして、それらを極力排除した「VoltDB」を開発しています。 NoSQLを上回る性能のVoltDB、そのアーキテクチャ
The document discusses different NoSQL databases and how Cassandra compares to them. It notes that Cassandra uses a Dynamo-inspired architecture with Bigtable-style columns. Cassandra provides better write performance than MySQL through its use of consistent hashing and replication across multiple data centers for high availability. It also offers better read performance than MySQL for large datas
VPS界に革命をもたらした、さくらのVPS。 月々980円という値段で、どこのご家庭でもVPSでlsを叩く生活を過ごしてらっしゃると思います。 そんな持て余しがちな楽しいVPSを使ってメディアストリーミングサーバーを作ったら超快適だったのでご紹介です。 Subsonic Java製でWin,Mac,Linux等マルチプラットフォームで動作します。 とりあえずデモを見てください、いい音でしょう? 余裕の操作性だ、快適さが違いますよ。 デザインはテーマで変えられますし、英語はダメっていう人も上のスクリーンショットのように設定で日本語に出来ます。プレイリストからPodcastまで何でも対応してるので、特に困ることは無かったですよ。 とりあえずSubsonicのイイトコは、さくらVPSに曲をガンガン入れるとPCだろうがモバイルだろうがどこでもプレイリスト共有して曲を聴けるってことなんですね。 ちな
一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する
このページを編集 このページを編集(メニュー非表示編集;α) このページをコピーして新規ページを作成 このページのページ名を変更 このページの編集モードを変更 このページの閲覧/編集権限の変更 このページにファイルをアップロード このウィキにファイルをアップロード(FTP機能/管理者のみ利用可) メニューを編集(メニュー部分は非表示で編集) 右メニューを編集(メニュー部分は非表示で編集)
ガイガーカウンターは、専門的な分野の特殊な機械なので、扱いがとても難しいものです。 正しい位置で正しい測り方をしないと、正しい数値が測れません。 2011年6月11日、GCM(ガイガーカウンターミーティング)で野尻美保子先生の行った説明を、鈴木みそが漫画化したものです。 ※この作品はパブリックドメイン(著作権フリー)ですから、コピーも配布も自由です。 転載の許可も必要ありません。(ただし内容を改変しないでください)
リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想 MySQLの次期バージョンとPostgreSQLの次期バージョンにどのような新機能が追加されるのか、昨日、一昨日の2本の記事で紹介しました。 MySQLの次期バージョンはMemcached APIを備える! MySQL Conference & Expo 2011基調講演 PostgreSQLの現状と次期バージョン9.1の新機能。MySQL Conference & Expo 2011 この2つのデータベースの次期バージョンに共通しているのが、NoSQLの機能を取り込んでいることです。NoSQLに対するリレーショナルデータベースによる反撃が始まっています。 リレーショナルデータベースがNoSQLを取り込み始めた MySQLの次期バージョンであるMySQL 5.6に搭載予定の新機能の1
初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 どうもこんにちは、フレッシュさに定評のない新入社員のtek_kocです。 初めてのお仕事として「Titanium Mobileでアプリを試しにつくってみる」というのを担当していました。 JavaScriptはあまり使ったことがないですし、そもそもMacもほとんど触ったことがなかったので苦戦するかと思いましたが、2週間ほどでとりあえず形になるところまでできました。Titanium Mobileすごいです。 ということで、Titanium Mobileで試しにアプリ開発をしてみた感想を書いてみました。 そもそもTitanium Mobileとは? Titanium Mobileとは、Appcelerator社によるスマートフォン対応アプリケーションの開発環境です。 iPhoneやiPad、Androidを
Something went wrong, but don’t fret — let’s give it another shot.
あなたは情報系の学生ですか? レポート作成の為には、①暗号解読の道筋が示され、②素因数分解から循環数が導きだされ、③与えられた公開鍵から、秘密鍵が示され、④その秘密鍵から暗号化前の平文分かり、⑤その平文を再暗号化して元の暗号文に復号されれば良いはずです。RSAの基本的な解読結果は前回の回答で充分のはずですよ。 前回回答でレポートが構成できないとすると、あなたはRSAの原理をほとんど理解していないことになります。残念ながら、RSAの原理をここで説明するには無理があります。(解読は面白いけど、原理を説明するほど暇ではありませんし、行数が足りません) そうはいっても、せっかくのご指名ですので、あまり冷たいのもなんですから、ヒントを 前回の私が出した解のひとつ1615を試しに61回あるいは1789回階乗してみてください。 1615^61は途方もない数になって、通常は計算できません。しかし、暗号の世
クライアントからmemcachedを利用する際の、ベストプラクティスは以前書いているので、その前段階でmemcachedを含めたWebアプリケーションのアーキテクチャ(と一部クライアントの話)について今の個人的な考えをまとめてみます。Kyoto Tycoonを使ったキャッシュサーバでも基本は同じだと思います 1) 使わない memcachedをアプリケーションに組み込むことで、プログラムがどうしても複雑になりがちです。データの削除や更新の際にキャッシュの更新を忘れると多くの問題が発生します。例えばユーザがニックネームやプロフィール写真を更新したのに画面上変わらないなどの現象が起こると、ユーザに対して不快な思いをさせてしまうでしょう。またデータベースが非同期のレプリケーションを行っている場合、masterに対してデータの変更をかけ、更新が反映される前にslaveから読み込んでしまい、キャッシ
補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブ、はてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2010年7月1日に公開されたもので、当時の徳丸の考えを示すものを、基本的に内容を変更せずにそのまま転載するものです。 補足終わり PHPのデータベース・アクセス・ライブラリPDOは、DB接続時の文字エンコーディング指定ができないため、文字エンコーディングの選択によっては、プレースホルダを使っていてもSQLインジェクション脆弱性が発生します。 追記(2011/06/19) ここに来て急にブクマが追加されはじめていますが、このエントリを書いてから状況が改善しています。PHP5.3.6(2011/03/17)にて、PDOでもデータベース接続の文字エンコーディングを指定できるようになりました。この版で、UNIX版のPHPでは解決しましたが、Win
結論 SQLがどーのデータの持ち方がこーのというアプリ開発側の話題がメインのDB勉強会をやりたいからやるよという話 以下補足 コンテンツ アプリ開発者がDBを握らなければならない時代 DBを握るということ 勉強会について アプリ開発者がDBを握らなければならない時代 データ爆発の時代 データ爆発の時代がくると言われて久しいです。扱うデータの量が増えてきているだけでなく、データの構造も多種多様になってきていると感じています。これまではOne Size Fits AllでRDBが対応してきたのが、増加し複雑化していくデータにRDBのみでは対応しきれなくなってきている為にNoSQLのようなプロダクトが盛んに開発され利用されています。 アプリ開発者としてやるべきこと そういった時代を迎えるにあたって、アプリ開発者は何も備えなくていいんでしょうか?DBはインフラ/サーバーエンジニアのもの? 僕は「D
1. 届け先を管理する新設のDBサーバーで、バッチ処理時間が想定の6~7倍と判明 2. 一括ロードツールを使い、メモリー上での処理を活用して1時間以内に収めた 3. SOAサービスの粒度は、カスタマイズの手間を減らすため単純な機能単位にした 「1時間が要件のバッチ処理に当初、6~7時間もかかった。工夫を重ねて、ようやく時間内に収められた」(ヤマトシステム開発 グループソリューションカンパニー 次期NEKOプロジェクト マネージャー 田中諭氏)。 ヤマト運輸が5年ぶりの刷新を進めている基幹システム「第7次NEKOシステム」。住宅に送る「宅配」から、住宅に住む個人の都合に合わせて送る「個配」を目指したものだ。2010年9月には、送り状に記載された届け先の個人名や住所などを登録した「届け先DBサーバー」を新たに稼働させた。これまで送り状に書かれた届け先は、郵便番号など一部の情報しかシステムに登録
第一の大罪は''データベースの物理設計''に関するもので、たとえばスキーマ設計の問題、テーブルの列の順序、インデックス付け、データベースページサイズの選択など、パフォーマンスに悪影響を及ぼしかねない重要な要因はいくつも考えられます。今回の記事では、SQL Anywhereのデータベース設計にまつわる具体的な問題と、ドメイン(定義域)の概念に関する内容を取り上げていきます。 ドメイン(定義域)とは ドメインの概念は、E. F. Coddが発案した最初のリレーショナルデータモデルに含まれています。Chris Dateは、彼の重要な著書 [1, pp. 81] の中でドメインを次のように定義しています。 次に、ドメインという言葉を、すべて同じ型の、スカラー値の名前付きの集合と定めることにする。たとえば、サプライヤー番号のドメインは、サプライヤー番号として取り得るすべての番号の集合になり、出荷数量
SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基本的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの
こんにちは、もう夏のような毎日ですが皆様いかがお過ごしでしょうか。 さて、タイトルのとおりですが、昨年11月に発売された、パーフェクトPHPが増刷され、この7月に第3刷となりました!みなさまのおかげです。本当にありがとうございます。 第3刷での更新 以下のポイントが修正されています CSRF可能な脆弱性のあるコードの修正 ref: パーフェクトPHPのサンプルコードに脆弱性がありました - gusagiの日記 ref: CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例 - 徳丸浩の日記(2011-01-27) その他誤字脱字等の修正 関係ないけどPHPカンファレンスがありますよ PHP Conference Japan 2011 あ、発表者の締切りもう終わってました(ブログ書くの遅・・・ ということで PHP 5.4 alpha1 も出たりしてますます楽しくなってき
PHP5.4にはトレイトという文法が導入されて、多重継承の便利さが享受できるようになるそうです。 いろいろ試してみることにしました。 トレイトといえば代表選手はScalaですね。Scalaでいうトレイトは、インターフェースの定義とメソッドの実装を同時にやってくれる便利な概念でした。単一継承のOOP言語では「〜は〜の一種」という制約が強すぎて、「ペンギンは鳥の飛行メソッドによって飛行できてしまう」という問題があります。でもちゃんと「ペンギンは飛べないが泳げる鳥」を綺麗に解決する必要はあって、その解答として、トレイトのあるScalaではこんな解が導けます。 abstract class Animal abstract class Bird extends Animal { def hasBeak = true // 鳥にはかならずクチバシがある def hasWings = true // 翼
こんにちわ。 先日cakephpを使って10分でCMSを作る方法を教える必要があったのですが、まとめた資料をブログでもシェアします。 CMSってこんなに簡単に作れるんだ!を体験してもらえたら幸いです。 環境はすでに構築してある前提ですが、ローカルサーバーを立てたい場合には、 以下のサイトが参考になるかと思います。 XAMPPのインストール for Windows MAMPのインストール for Mac ではでは、早速挑戦してみましょう! 1.CakePHPの最新版をダウンロード まずはCakePHPの公式サイトから最新版をダウンロードします。 https://github.com/cakephp/cakephp/downloads ダウンロードしたファイルを解凍すると長い名前になっているので、「cakephp」などにリネームしておきます。 そしてFTPソフトでサーバーにアップロードします。
最近、め組ことデジタルキューブさんと、一緒に仕事をやらせてもらってます。 今の所は、主に WordPress サイトの高速化とかやってるんですけど、その中で WordPress サイトを複数台のサーバで負荷分散させて高速化させる案件があったので、その時の作業内容をシェア。 最近はさくらの VPS とか、低価格の VPS が出てきてるので、個人でも手を出せる領域かもしれませんね。 今回は2台のサーバを使って PHP の処理を負荷分散しました。 構成は、こんな感じです。 プライマリサーバ ( vps1.example.com : 192.168.0.1 ) Nginx, Load Balancer、PHP FastCGI のアプリケーションサーバ lsyncd (リアルタイム rsync を実現するためのサービス) セカンダリサーバ ( vps2.example.com : 192.168.0
The domain av-jyo.com maybe for sale. Click here for more information. Av-jyo.com Related Searches: Cloud Service Providers Secure Internet Browser Computer Internet Security Web Designing Courses AVI DVD Player Online Data Protection MatchMaking Services Related Searches: Cloud Service Providers Secure Internet Browser Computer Internet Security Privacy Policy
こんにちは、牧野です。 4月になって、アシアルにも新しい人が入ってきて賑やかになった気がします。 さて、今回はサーバの設定についてです。 会社では、CentOS、Debianを使うことが多いです。設定ファイルの位置や用意されているコマンドがディストリビューションごとに異なることがあるので、その点を中心にいくつか紹介したいと思います。 ちなみに、自分が昔好きで使っていたのはVine Linuxでした。デフォルトで日本語設定がいろいろされていて、使いやすかった気がします。 その頃はemacsを使っていたのが、いつの間にかOSはCentOSに、エディタはvimを使うようになりました。 ■ネットワークの設定ファイル ○共通 ・使用するネームサーバ /etc/resolv.conf ・hostsファイル /etc/hosts ○違いがあるもの 1行目がCentOS、2行目がDebianです。 ・ネッ
<lsyncd version="1"> <settings> <logfile filename="/var/log/lsyncd.log"/> <binary filename="/usr/bin/rsync"/> <pidfile filename="/var/run/lsyncd.pid"/> <callopts> <option text="-%rlptgoD"/> <option text="--delete" /> <exclude-file/> <source/> <destination/> </callopts> </settings> <directory> <source path="/data/backup1/"/> <target path="192.168.137.13::backup1"/> </directory> </lsyncd> uid = root
こんにちは、中川です。 PHPの開発を行っていると、自分の開発用だけの便利関数や、一時的な設定・各種パラメータの変更を行いたいなどあると思います。 そんな時に、実際のプロジェクトファイルに追加してしまうと、 本番環境に誤ってそのままコミットしてしまったり、他の開発者にはゴミ扱いされたりとなかなか大変ではないでしょうか。 そんな時に便利な auto_prepend_file という設定をご紹介したいと思います。 PHPにはメインファイルの前に、自動的に付加するファイル名を指定する、 auto_prepend_fileという設定があります。 これを使えば、プロジェクト内のファイルには一切手を加えなくても、PHPで前処理を行うことができます。 ※なお、プログラムの後処理を加えたい場合は、auto_append_file という設定もあります。 設定自体は非常に簡単で、apacheのconfigフ
※ID名は申し込みサイトから引用 1位、methane氏 2位、toshiak_netmark氏 3位、yamaji・tottokugチーム 4位、jun_kanzaki・nntatanoチーム 5位、kazuho氏 6位、goodoo氏 7位、riywo氏 8位、najeira氏 9位、kamipo氏 10位、Ryoutarou Setou氏 APCによるチューニングやPHP自体の再コンパイル 結果発表のあと、各チームからのチューニングのポイント、また、司会進行の山崎氏、クラウドスポンサーAmazon Data Services Japan K.K.の玉川憲氏からの公表が行われました。 優勝したmethane氏は、 ボトルネックの確認をした上で、ちょうど直前に仕入れた情報の「PHP5.4」を導入することを決めたそうで、phpinfoに記載されているconfigureオプションをベースにビ
こんにちは、久保田です。 先月6月28日、PHP5.4 alpha1がリリースされました。PHP5.3では、名前空間や無名関数の追加など、言語機能に大きな追加が行われました。PHP5.4 alpha1 ではtraitが実装され、オブジェクト指向言語としてのPHPに大きな機能追加が行われました。他にも、<?=記法のデフォルト有効化、array dereferenceの追加、無名関数内の$thisの扱いの変化、JsonSerializableインターフェイスの追加など筆記すべき様々な機能追加、改善が見られます。この記事ではPHP5.4 alpha1で見えてきた新機能をサンプルコードを交えながら概観します。 とりあえずNEWSを訳す PHP5.4 alpha1の変更点を記述した NEWS ファイルを翻訳してみたのが以下です。 <?php trait A { protected $hoge = "
PHP5.4 alpha1がリリースされた。このリリースでは、PHPのオブジェクト指向言語の新たな機能としてtraitと呼ばれる機能が追加された。PHP5.4におけるtraitとは、型に影響を与えずにクラスに適用できるメソッドとプロパティの集合である。 早速PHP5.4 alpha1をインストールし、traitを使ってシングルトンパターンを実装した。このコードでは、クラスの継承関係に影響を与えずにシングルトンパターンをモジュール化している。 <?php trait Singleton { protected function __construct() { } static function getInstance() { static $obj = null; return $obj ?: $obj = new static; } function __clone() { throw n
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
マーケティングの基本だけど、見落としながらスタートアップを運転してる人がいそうなので叩かれるの覚悟で書いてみます。 コーラの競争相手はペプシではない クラウドの競争相手は家賃かもしれない 意中の人はもう落とされている コーラの競争相手はペプシではない コカ・コーラとペプシコーラのアメリカ2大コーラ会社はコーラを中心に同じような清涼飲料水のラインナップをそろえ、世界各地で激しいマーケティング競争を繰り広げた。—コーラ戦争 コーラの「競合製品」はペプシで、ダイエットコークの「競合製品」はダイエットペプシ。だけど「競争相手」は違うかもしれない。同じ自販機に置かれているジュースたちでもなくて。 コーラには大量のカフェインが入っている。コンピューター室でオールしてた大学二年生の頃、全品半額の自販機が近くにあったのでコーラで目を覚ましてた。しかし虫歯に悩まされた上、一本75セントしか節約してないのでは
http://www.nishiohirokazu.org/tmp/git02.pdf あまりに激しく突っ込まれたので「ちょ、ちょっとまって、続きはまた今度で」とお願いして逃げ帰ってきました。 「リポジトリって何」「変更履歴を溜めておく場所」 「これ書き換えるのはどこ」「<name>のところ」「じゃあ斜体にするか色変えるかいっそ日本語にしなきゃ。かっこごと灰色とかにしないとかっこを入力しちゃうよ」 「コマンドの部分を箱で囲むなり書体を変えるなりプロンプトつけるなりが必要」 「コミットをするって何?」「変更履歴をリポジトリに入れること」 「なんで『最初の』コミットなの?最後のコミットはあるの?」 「コメントでの解説の色を変えろよ」 「『.gitにできる』ってどこ?急に思いついて作っていいの?いつもhomeにいるとは限らないでしょ」「いまいるディレクトリの中。思いついて作っていいよ」「2回 g
2011年7月22日から29日にかけて、IOI2011 (詳細は後述) がタイで開催されます。 以下の4名が日本代表として参加します。 村井 翔悟 (開成) 原 将己 (筑駒) ←自分です 今西 健介 (八千代松陰) 城下 慎也 (灘) 以下では、IOIに関してひと通り説明したあと、今年行われるライブ映像の配信とスコアボードの公開について説明します。 ぜひ見てね! 国際情報オリンピック(IOI)とは? 国際情報オリンピック(IOI)は、高校生向けの国際科学オリンピック*1の一つで、数理情報科学(Informatics)*2に関する知識、アルゴリズムの洞察力やプログラミングの能力を競うコンテストです。 ありていに言ってしまえば、TopCoderやICPCに代表される「(競技)プログラミングコンテスト」の一つと言えます。 日本では日本情報オリンピック(JOI)が実施され、選抜合宿で最も成績の良
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く