PHPカンファレンス2016@北海道の資料です http://phpcon.sapporo-php.net/2016/
![PHPerに知ってほしいRDBな事](https://cdn-ak-scissors.b.st-hatena.com/image/square/293db26e6ce5cbbaa565c83a355fb8ae7c3c3ddb/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fe5c2b86cccfc4fb4a9c411182095cf5b%2Fslide_0.jpg%3F6138295)
※4/6 その後調べた情報などを記事末尾に追記 前提となるニーズ サーバの負荷情報とか、アクセス状況のような KPI を取得・保存し、可視化(参照してグラフ化)したい。 リアルタイム性が要求される。5分以上前のデータしか見れませんみたいなのはお呼びでない。 古いデータはそんなに精度は気にしないけど、ロングスパンで俯瞰して見れたら便利。 最近はビッグデータ環境の時系列データ解析もビジネスではけっこうニーズがありそうだけど、そっちはもう少し要求が多そう。 ここでは考えないことにする。 選択肢になりそうなもの 古きよき RRDtool Elasticsearch + Kibana Graphite + Grafana InfluxDB + Grafana 等 Zabbix 他に、現実的には SaaS に任せるという手段もあるだろうけど、そう言うと話が終わってしまいそうなので、ここでは考えないこと
多次元連想配列で返ってくるのはありがたいんだけれど、取得するカラムが 2 つだった時に 1 次元で返して欲しかったので色々したメモ。 前提FuelPHP の DB クラスで結果は連想配列で取得できる。(デフォルト) DB クラスを使うDB クラスを使ってテーブルの値を取得する。 $result = DB::select('user_id','user_name')->from('users')->execute(); $result_array = $result->as_array(); Debug::dump($result_array); 取得結果取得した結果は以下のような感じの構成になっているはず。 array( array( 'yamada' => '山田奈緒子' ), array( 'ueda' => '上田次郎' ), array( 'yabe' => '矢部謙三' ) );
これまでに、(主に)Amazon Redshiftで活用出来るGUIツールとして『Intellij IDEA Ultimate Edition』や『Aginity』等を紹介して来ましたが、Intellij IDEAを開発しているJetBrain社から別種のDB関連ツールが開発されているという情報を先日知りました。 Amazon RedshiftのMac OS X向けGUIツールとして『Intellij IDEA Ultimate Edition』のDatabase Toolsを使う | Developers.IO Redshift専用 Windows GUIツール『Aginity Workbench for Amazon Redshift』が便利かもしれない件 | Developers.IO それがこの『0xDBE』と呼ばれるものになります。アナウンス自体は1年以上前からなされていた様で、
先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLとMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ
皆さん、お元気でしょうか。だいぶご無沙汰していましたが、2/13に新著が出ます。MySQLエンジニアとして有名な木村明治さんと共著のデータベース入門書です。内容はすべて書下ろしで、データベースをはじめて触るという本当の初心者の方から、ユーザとしてすでに利用しているけど、基本的なことを整理して勉強したいという人を主な読者に想定しています。 参考に、以下にまえがきと章立てを引用します。 データベースというのは、初心者から見ると具体的なイメージのつかみにくく、それゆえ学習のとっかかりを見つけにくい分野です。プログラミング言語やWeb サイトの作り方が、具体的な目的意識と手触りを持って学べるのとは対照的です。「データを貯める場所なのだろう」ということは想像が付くものの、それ以上何をやっているのかとなると急に曖昧になるのがデータベースの難しさです。本書は、そのような初心者が感じる「イメージの湧きにく
CoreDataはもう古い?新しいモバイルデバイス向けデータベース「Realm」を使ってみた (Swift/Objective-C)iOSCoreDataSwiftRealm 正月にSwiftでRealmを使ってみてよかったのでまとめてみました。 Realmとは Realmはモバイルデバイス向けの新しいデータベースです。実体はTightDBというC++で書かれた独自のエンジンを使用しているようで、マルチプラットフォーム化もされていてiOS/Mac OS/Android向けのSDKが公開されています。 ■Realm公式 https://realm.io CoreDataに慣れているとそんなにハマることはなかったですが、Web開発者で特にSQLゴリゴリ書いて開発するタイプの人にはちょっとハマると思ったのでよく使うSQLをベースにまとめてみました。 なお、コードはSwiftですがObjectiv
Rails 4.0からActiveRecordにstrict_modeが導入され、デフォルトでは接続時にsql_mode = STRICT_ALL_TABLESをセットするようになりました。 これは、既に運用されているDBに接続する等なんらかの理由でMySQL側で適切な設定が行えていない場合有用な動作ですが、そうでない場合、サーバー側の設定を鑑みずにクライアント側が設定を上書きするべきではないでしょう。 そのため、database.ymlでstrict: falseと設定することでこの動作を無効にすることができましたが、Rails 4.2.0ではこの動作が変更され、strict: falseのときはstrictでない状態にするためsql_mode = ''をセットするようになりました。 MySQLのデフォルトのsql_modeに依存して既に通っていたはずのテストが通らなかったりすることがあ
Pycon JP 2014発表資料です。 ピタゴラス勝率とBABIPについて、Django他で可視化しました。
内部ツール(僕らでいえば256interns.comとか)は管理画面作らずGUIアプリで変更とか結構便利です。とはいえ、railsなどのアプリ側のみでvalidationしてると不整合が起きるので要注意。これ前提で制約追加するのもいいかも? Sequel Pro MySQLのGUIクライアント。これを教えてもらって訝しげに使ってみたんですが、今風のMacの使い勝手で使えるのがすごく気に入っちゃいました。 SSL経由やsshで入ったサーバー踏み台にしての接続も一発できて便利。 PG Commander PostgreSQLのGUIクライアント。Sequel Proに比べると使い勝手は良くないけど、HerokuのDBに接続できる!これがデカイ。 接続先のブクマを5個以上保存しておくにはLisenceを買う必要があります。Herokuを多用するから5個あっという間に超えちゃうので買いました。 B
これまで組み込みDBだと SQLite が一般的でしたが、ローカルであっても NoSQL したい、組み込みで使いたい、というニーズはあるかと思います。 そんな場合、UnQLite を使うと便利そうです。 UnQLite - An Embeddable NoSQL Database Engine UnQLite is a self-contained C library without dependency. It requires very minimal support from exte... http://unqlite.org/ unqlite/unqlite - GitHub README.md UnQLite UnQLite is a in-process software library which implements a self-contained, server...
デイヴィッド・スピヴァックによる衝撃的なデータベース理論である関手的データモデル。どうしたらうまく説明できるか? と色々と悩んでしまいますが、まー、書けるところから書き始めてしまいましょう。 さー、いらっしゃい、いらっしゃい。関手的データモデルの世界へようこそ。圏論の言葉は出てきますが、圏論の予備知識はほぼゼロでOKですよ。 [追記 date="翌日"]取り急ぎ勢いで書きましたので、不注意と早とちりが混じっていました。追記と取り消し線の形で訂正と注記を足しました。字句レベルの表現の変更は直接編集しています。 あとそれと、圏論の基本用語を知りたいときはコチラ、… って、……、ゴメン![/追記] 内容: はじめに 本の購入のサンプル スキーマのグラフ表現 キーとか計算カラムとか 圏としてのスキーマ 関手としてのデータベース状態 テーブルの変化 自然変換としてのデータ操作 データベースに圏論が使
DBサーバでとある日を境にswapが発生していることに気がつきました。 サーバはメモリ32GB搭載していて、そのうちの24GBをinnodb_buffer_pool_sizeに割り当てています。 他のthread毎のメモリ設定値を見てもおかしそうな点はなかったのでググってみました。 MySQL と NUMA アーキテクチャと Swap Insanity MySQL InnoDBストレージエンジンのチューニング(後編) なるほど…。 それぞれのCPUがローカルでメモリを管理しているので、 2CPU積んでいるサーバだと、AというCPUで実行されているスレッドが、BというCPUが確保しているメモリ領域にアクセスするには、AのCPUを経由しないといけないわけですね。 このメモリアクセスが不均一になる方式をNUMAアーキテクチャというみたいです。 NUMAアーキテクチャのメモリ管理が、ノードという単
これまたマニアックな苦笑。 DB Patternsでは、ありがちなデータベース設計を共有することができる。 フォトアルバムだったらこういうテーブルがあって、こことこのキーが共有されるとかなんとかをグラフィカルに見ることができる。 まだ投稿も少ないし、いろいろ突っ込みどころもあるのだが、初心者のうちは確かに悩むところだし、便利なサービスではなかろうか。 ユーザー登録をするとすでにあるパターンをForkしたり、新しく作ったりもできるようだ。興味がある方はどうですかね。
Webアプリケーション開発に欠かせないデータベース管理システム(RDBMS)。オープンソースの製品が広く利用される昨今ですが、無償で利用できる商用のRDBMSもあります。そんな製品の一つがIBMの「DB2」です。歴史が長く、実績はたくさんあります。そうはいっても使ったことない! どんなもんだか試したい! そう思った一人が、フリーランスのWebエンジニア女子、id:acotieさんでした。普段から開催している勉強会の番外編として、同じくWebエンジニア女子のid:aomushi510さんを呼び、無償で利用できる「DB2 Express-C」に触れてみることに。記事の終わりにはプレゼントのお知らせもあります。 (※この記事は日本アイ・ビー・エム提供によるPR記事です。) このたびの東日本大震災で被災された皆さまに心よりお見舞い申し上げます。皆さまの安全と一刻も早い復旧と復興を心からお祈り申し上
@IT Database Expertフォーラムの連載「ゼロからのリレーショナルデータベース入門」の記事一覧です。まとめて読めるPDF「人気連載まとめ読み! @IT eBook(2):ゼロから分かるRDB入門 ~RDBとは?から特徴、設計、運用まで基礎知識を徹底解説~」もご覧ください。 ゼロからのリレーショナルデータベース入門(12): データベースサーバリプレイスの考え方 全12回の連載も今回で最終回です。手間暇かけて構築したデータベースサーバに必ず訪れる「リプレース」という作業について、移行計画を作成するに当たっての考え方と具体的な検討項目を説明します。【更新版】(2021/5/31) ゼロからのリレーショナルデータベース入門(11): データベースセキュリティの必要性とその対策 前回は、データベースシステムの安定稼働を実現するためのデータベースシステムの監視について説明しました。今回
前回に引き続き、今回は「SQL Server開発者がOracle Database開発に取り組み始めるときのポイント」を説明する。 ■SQL Server開発者から見たOracle Databaseの特徴 Oracle DatabaseとSQL Serverは、どちらもRDBMS(リレーショナル・データベース管理システム)だが、その生い立ちや製品特性の違いからさまざまな相違点が存在する。 そこで、SQL Serverを使ったデータベース開発の経験者の視点からOracle Database特有の特徴に注目して、まずは両者の違いを明確にしたいと思う。 ●インスタンスの違い Oracle DatabaseとSQL Serverは、1つのサーバ・マシン上に複数のインスタンス(RDBMSの管理単位)が作成できる。しかし、SQL Serverが1インスタンスで複数データベースを管理できるのに対して、O
福岡寿和 FUKUOKA,Toshikazu 富士通SSL はじめに 同時にひとつの資源を複数のプログラムから使おうとしたときは,必ず「排他」というものが必要です.今回は,いろいろある排他問題の中から,RDBMSの世界での「排他」,特にレコード変更(挿入・更新・削除)に関係するものに注目してみます.なお,今回のリストプログラムは,Oracle Objects for OLEをミドルウェアとして,Oracle7またはOracle8をターゲットにしています.また,事前にリスト1を実行して,テスト用のテーブルを作成してください. リスト1:サンプル用定義スクリプト DROP TABLE VBMArea CASCADE CONSTRAINTS; CREATE TABLE VBMArea ( AreaCode CHAR(2) NOT NULL, AreaName VARCHAR2(10) N
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く