オープンセミナー2015@香川の登壇資料です。 http://connpass.com/event/15646/
オープンセミナー2015@香川の登壇資料です。 http://connpass.com/event/15646/
先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLとMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ
DELETE_FLAG という思考停止フラグ DELETE_FLAG という boolean の列が DB 設計でよく話題になります。 論理削除という言葉で上手に論理武装し、スキを見せるとすぐに入れたがる人がおり、 一方でそれにつよく反対する人もいます。 自分の経験としては、広義の論理削除はありえると思いますが、実現方法が DELETE_FLAG だとなった時、それはあまり考えてないでなんとなくパターンとして盛り込んでる場合が多いと感じます。 ただし、設計に唯一の答えは無いので、もしかしたらそれが妥当な設計である場合があるかもしれません。 今回は「DELETE フラグがなぜダメなのか?」などという話をするつもりも、アンチパターンだと断言するつもりもありません。 問題は、仕様をきちんと把握すると、「最適な設計は DELETE_FLAG ではない」という場合が有って、その場合は、その最適な設計
来る2月27日、データベースの新書籍を発売させて頂くことになった。タイトルは「理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL」となっている。単に「データベース」と書いてあるが、RDBがメインのテーマの書籍である。 多くの人が未だにRDBを使いこなせていないのではないか。RDBの使い方をマスターするには何が必要なのか。それがここ数年私が追ってきたテーマであり、この書籍を出すことになった動機である。 あまりにも酷いDB設計、あまりにもスパゲティなクエリ、あまりにも希薄なデータモデルへの理解。そういった問題はどこから生み出されるのか。そのひとつの結論としてたどり着いたのが、「そもそもRDBの使い方があまり理解されていないのではないか」ということだった。名著、SQLアンチパターンでは「やってはいけないケース」について学ぶことができるが、その反対のテーマ、つまり本来どの
SQLのパフォーマンス問題は、SQLそのものと同じぐらいの歴史がある―― ある人は、SQLはそもそも遅いものだとすら言うかもしれません。これは、SQLの歴史が始まった頃は正しかったかもしれませんが、今となっては全く 当てはまらないでしょう。にもかかわらず、SQLのパフォーマンス問題は今も一般的でよくあることです。どうしてそうなってしまうのでしょうか? SQL言語は、恐らく最も成功した第4世代言語(4GL)でしょう。その最大の利点は、「何を」と「どのように」 を分離できることです。SQL文は、どのようにそれを実行するかを記述せずに、単純に 何を必要としているかのみの記述になっています。以下のような例を考えてみましょう。 SELECT date_of_birth FROM employees WHERE last_name = 'WINAND'SQLのクエリは、データを要求する英語の文として読
本コンテンツは、2014年1月30~31日に筑波大学で開講された「情報システム特別講義D」における講義「Inside PostgreSQL Kernel」の内容を再構成、加筆・修正したものです。 はじめに 本コンテンツについて 本コンテンツへのフィードバックについて アーキテクチャ概要 PostgreSQLの構成要素 PostgreSQLの基本的なアーキテクチャ SQL文の処理される流れ トランザクション管理 トランザクション処理におけるACID特性 各レコードの可視性の管理 Atomicity(原子性)の実装 Consistency(一貫性)の実装 Isolation(分離性)の実装 トランザクション分離レベルの定義 Durability(永続性)の実装 チェックポイント メタデータ管理 pg_controlファイル OID/XID/TID システムカタログ MVCCとストレージ構造 テ
最近発売された技術評論社のムック「データベース徹底攻略」に寄稿しました。 この本は、データベースのための本ということで、データベース設計、SQL、MySQL、Redis、MongoDB、Redshiftという代表的な要素技術についてのまとめとなっています。各プロダクト(MySQL、Redis、MongoDB、Redshift)については、現場で実際に本格的に使われている方々による記事なので大いに参考になると思います。 私は冒頭のまとめ記事を寄稿しました。詳細はぜひお手に取って読んでくださればと思います。ここでも自分が各技術を現時点でどのようにとらえているか、本ではいささか書きづらい内容について、最近流行りの言葉でもある「技術的負債」という観点も踏まえて書いておこうと思います。 ・MySQL (RDBMS) 私はMySQLの中の人でもありましたし、これまで至るところで話してきたので省略します
DBエンジニアのための技術勉強会というイベントで、リレーショナルモデルにおけるDB設計について話す機会を頂いた。リレーショナルモデルは非常に重要であるにも関わらず、現場ではないがしろにされてしまっている。その結果、アプリケーションのロジックを上手くクエリで表現できず、開発現場では非効率な開発が行われ、多くの人がデスマ的な状況に追い込まれている。そういう危機意識について、これまで何度か本ブログでも書いてきたし、WEB+DB Pressで連載している動機もその点にある。リレーショナルデータベースはやはりリレーショナルデータベースとして使うべきだ。そのための鍵となるのが、DB設計である。 今回はなんと約2時間の持ち時間を頂いた。リレーショナルモデルについてはこれまで何度か話す機会を頂いたが、2時間というのは最長記録である。それに合わせてスライドもボリュームたっぷりのものになった。過去のスライドと
フォーラム 暇人集合★ (12) @ 早乙女武流 2023年09月22日 阪神タイガースファン専用スレ (9) @ 早乙女武流 2023年09月16日 もしも百万円あったら何に使う? (39) @ 早乙女武流 2023年09月11日 独り言スレッド 2言目 (1001) @ 早乙女武流 2023年08月28日 ストレス解消スレ (146) @ 早乙女武流 2023年08月15日 サッカーなスレ (88) @ 早乙女武流 2023年08月05日 最近のニュース (209) @ James Frame 2023年06月02日 ボキャブラゲーム (14) @ 早乙女武流 2023年04月28日 野球スレ 2回表 (15) @ 早乙女武流 2023年01月27日 アニメについて語ろう!何でもいいぞ。 (456) @ 檸檬亭紐育 2022年10月10日 ニュース 佳村はるか、諏訪彩花の新番組『ラジオ
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
SQL FiddleはColdFusion製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 開発環境をセットアップするというのは意外に面倒で、せっかく学習しようと思ってもその時点で頓挫してしまいます。もしあなたがSQLを学んでみたいと思うならばSQL Fiddleを使ってみましょう。 こちらがメイン画面です。左に構造、右に実行するSQLを書きます。 実行例。結果はテーブルで下に表示されます。 SQLを変えれば実際に結果も変わります。 対応するデータベースは多様です。 SQL FiddleはJSFiddleに代表されるWebプレイグラウンドサービスで、SQLをWebブラウザ上で実行、確認ができます。最初のテーブルのCreate文からはじまり、任意のSQLを実行してその結果をテーブル表示で確認できます。MySQL/PostgreSQL/MS SQL Se
(2014.12.3追記:このblogの内容は、以下の書籍にも反映させた。) SQLレベルの差異 MariaDB5.5とMySQL5.5ではSQLレベルでの違いはほとんどなかった。autoincrementの最大値の扱いくらい。 ただし、MariaDB10.0でREGEXPがマルチバイト対応になったので、アプリ側は注意。 項目 MySQL MariaDB Autoincrement 最大値に達すると、以降は最大値を繰り返す。Warningのみ。エラーにならない。tinyintなら…,125,126,127,127,127… 最大値-1まで。以降はエラーを返す。tinyintなら…,125,126,ERROR,ERROR,… EXPLAIN文 JSON形式 バージョン5.6から 未対応 Optimizer Trace バージョン5.6から 未対応(ただし、MariaDBのほうがオプティマイザ
2. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 自己紹介 • 佐藤貴彦 • 2013年7月より Basho ジャパン株式会社 • 前職も製品ベンダーで、RDBMSや分散キャッシュ製品を 中心とした、コンサルティングを担当 • インフラ大好き • 著書(共著) • 絵で見てわかるITインフラの仕組み 3. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Basho Technologies, Inc • 設立:2008年1月設立 • 本社:マサチューセッツ州ケンブリッジ • 製品 • 分散データベース Riak • 分散型クラウドストレージ RiakCS 4. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. オ
技術評論社さんの 「データベースエンジニア養成読本」 に、Redisの紹介記事を書かせていただいた。 データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!] (Software Design plus)posted with amazlet at 13.06.24 技術評論社 売り上げランキング: 857 Amazon.co.jpで詳細を見る 最近、僕自身があまり「Redis Redis」言わなくなったせいか、周りからよく「Redisもう飽きたんですか?」とか言われることが多いのだけど、 全然そんなことはなくて、むしろあって当たり前の、空気のような存在になっているから特に話題にしなくなったんだと思う。 Redisを使う前と後では明らかにアプリケーションの作り方が変わったので、 2012年マイイノベーション として紹介したくらいだ。 あとはもはや僕自身が騒がず
MySQLでの「Access denied for user ‘root’@’localhost’ (using password: NO) 」への対処 MySQLをインストールした直後に、私も遭遇しましたが、rootユーザの権限設定がされていなく、下記のようなエラーが発生することがあるようです。 [root ~]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ここでは、その場合の対処方法を整理しておきます。 1.MySQLの停止 MySQL(mysqld)が稼働している場合には、一旦停止します。 [root ~]# service mysqld stop mysqld を停止中: [ OK ] 2.オプション付きで起動 MySQLを–ski
ツイート@nippondanji な師匠が特別寄稿したという記事を読んでいて本の存在は知りつつ、先日の devsumi では満席のため聴講できなかった SQL アンチパターン本の話を直接聞ける機会をもらえるということで、喜び勇んで参加してきました。 裏でやっていた #awssummit Day2 とギリギリまで天秤にかけていたのですが、あまりにも#awssummit の Day1 の印象が悪かったので、こちらに参加することにしました。 どうでもいいことですが 富士ソフトアキバビル 1F の案内が 「PB エンジニアのための勉強会」になっていたwさて、本勉強会の概要は以下のとおりで、 開催概要: DBエンジニアのための技術勉強会 主催: エンバカデロ・テクノロジーズ 日程: 2013年6月6日(木) 13:30〜16:15 (13:15 受付開始) 会場: 富士ソフト アキバプラザ 6階 セ
とあるシステムでデータベースから引いてきたデータの表示が文字化けするという不具合がありました。 データベース内のデータとしては文字化けしていない状態で格納されていることはわかっていたので、どこかしらの文字変換で化けていることはわかっています。まずはどの誤変換により文字化けするのか原因切り分けのために、decode/encode の組み合わせによる文字化けパターン一覧を作りました。おかげさまでどのパターンに類するものか判別することができ、無事に改修することができました。 その話はまた別にするとして、今も昔も変わらず文字化けに悩む人は意外と多いと思います。誤変換結果一覧は原因解析の参考になると思い、記事としてまとめることにしました。 文字コード変換ミスによる文字化けパターンを可視化するプログラムと一覧表 まずは誤変換を生成する perl スクリプトです。プログラムはとっても簡単で、「文字化けで
こんばんは!こんばんは!今までロリポップのチカッパプランを使っていたのですが、エックスサーバーに移転したのでその備忘録を書いてみます。 旧サーバーから全部ダウンロードしておく WordPress事態にもバックアップ機能というか、サーバー移転を簡単にしてくれるような機能があるんですけど、それを使わずサーバーに置いてあるWordPress関連のファイルをFTPを使って全部ダウンロードしました。 wp関連はこーゆーファイルです(^^) データベースもエクスポート MySQLのデータもエクスポートします。ここには何が入ってるかというと、記事の内容とかです。だからファイルをダウンロードして別サーバーに写しただけだと記事とか無い状態になっちゃうんですよね~ 手順としてはphpMyAdminにログインして(ロリポップの場合はここから行けますよん♪) で、ログインしたらエクスポートのところまで進みます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く