タグ

dbとDevelopに関するkujooのブックマーク (32)

  • 2015年Webサーバアーキテクチャ序論 - ゆううきブログ

    2023年03月31日追記:この記事を基に、@sadnessOjisanさんより、コードレベルにより踏み込んだ、かつ、グリーンスレッドベースの新しいWebサーバアーキテクチャも含めて整理された記事 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io が公開されました。 主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているので、流行り廃り関係なく学ぶべき内容だと思っています。 また、HTTP/2がいよいよRFC化し、既にh2oやtrusterdなどのHTTP/2のサーバ実装があり、今後Webサーバアーキテクチャを再訪することが増えるような気がしています。 ところが、We

    2015年Webサーバアーキテクチャ序論 - ゆううきブログ
  • かわいいリレーショナルデータベース作った - きしだのHatena

    リレーショナルデータベースの勉強用に、最低限の機能をもったリレーショナルデータベースを作ってみました。 今回実装した最低限の機能というのは、射影(select)・選択(where)・結合(join)です。 テーブル作成 テーブル作成は次のようになります。 Table shohin = Table.create("shohin", new String[]{"shohin_id", "shohin_name", "kubun_id", "price"}); shohin.insert(1, "りんご", 1, 300) .insert(2, "みかん", 1, 130) .insert(3, "キャベツ", 2, 200) .insert(4, "わかめ", null, 250) .insert(5, "しいたけ", 3, 180); System.out.println(shohin);

    かわいいリレーショナルデータベース作った - きしだのHatena
  • ブラウザゲーム開発みたいのについて - Candy

    今年の 4 月から IT エンジニアをやってます。もう 5 ヶ月ぐらい IT エンジニアをやってることになりました。ブラウザゲームの企画とプログラミングをやってます。 Rails でやってます。 RSpec でテストファーストという普通の感じです。僕の開発スタイルで普通と違うのは以下 2 点ぐらい。 まず NDD を採用しています。 NDD については http://ssig33.com/blog/2010-08-05-1.html こちらを御参照ください。かなりストレスの高い開発手法なので気をつけてください。 もう一つですが、Web アプリケーションではデータべースのスキーマーをどう決めるかとかが重要だと思うのですが、個人的な事情(RDBMS スキルが微妙)と仕事上の事情(スケジュールがアレなのでがっちり設計してがっちりスキーマー決めるとか難しい)ので、以下のようなスキーマーを採用してい

    ブラウザゲーム開発みたいのについて - Candy
  • HandlerSocketソースコード公開しました | BLOG - DeNA Engineering

    はじめまして、樋口と申します。 先日のDeNA Technology Seminar #2でお話させていただきました HandlerSocket Plugin for MySQL のソースコードを公開しました。 HandlerSocketとは? 簡単に言うと、MySQLデータベースへのアクセスを高速化するためのプラグインです。MySQLSQLパーザをすっ飛ばし、ネットワーク通信とマルチスレッド処理周辺を置き換えることによって、InnoDB等のデータベースエンジンの性能を限界まで引き出します。 このHandlerSocketですが、すでにモバゲータウンにて実際に運用しています。従来MySQLとmemcachedの構成で運用していた箇所を、HanderSocketを組み込んだMySQLだけの構成に置き換えました。その結果、MySQLサーバの負荷軽減、memcachedの負荷軽減、ネットワーク

    HandlerSocketソースコード公開しました | BLOG - DeNA Engineering
  • PlackとDBIx::SkinnyとText::MicroTemplate::Fileでwiki作ったのでソースを公開してみる - だるろぐ

    2010/04/19 22:41 追記 ブコメでkamipoさんとa666666さんに「TMTで変数をエスケープさせたくない場合はencoded_string()使えばいい」と教えてもらったので修正。 ありがとうございます。 GitHub - hirafoo/piki: PlackとDBIx::SkinnyとText: :Fileで作ったwiki psgiとかplackとかstarmanとかモダンなアレソレとかに全然ついていけてないので勉強がてら。 今まで作って公開してみたときは解説長々と書いてきたのだけど今回は略。解説じゃない事を書こう。 何でwiki 認証とCRUDが使えれば基はいいだろうということで今まではBBS作ってたのだけど、芸が無いので。 あと、作ったもの晒すだけなら、ドメイン取って公開せんでもソースだけ晒せばいいと気付き始めた。 development用の環境しか作ってませ

    PlackとDBIx::SkinnyとText::MicroTemplate::Fileでwiki作ったのでソースを公開してみる - だるろぐ
  • HTML5ローカルストレージの本当の難しさ 2009-11-16 - きしだのはてな

    HTML5でローカルストレージが使えるようになる。 そこでちょっと使ってみようと思ったのだけど、これはかなり難しいのではないかと思った。 もちろん、データを入れたり出したりするだけなら、window.openDatabaseなどとして、普通にSQLを発行すればいい。 SQL呼び出し結果の取得がコールバックになっているので少しコーディングは面倒だけども、それを除けば特に難しいことはない。 HTML5 ローカルストレージが難しいのは、実際にアプリケーションを組むときにそれが使えるとは限らないし、使えるときは唯一のDBではないということだ。 つまり、まず過渡期では、HTML5 ローカルストレージが使えるブラウザと使えないブラウザが混在する。Google Gearsをインストールすることで同様のことは可能だけど、そこでもGoogle Gearsをインストールしているブラウザとしてないブラウザが混在

    HTML5ローカルストレージの本当の難しさ 2009-11-16 - きしだのはてな
  • [SQL]都道府県コードに沿ったSQL | うえちょこ@ぼろぐ

    適当なアプリを作ると、都道府県テーブルってよく作るよなってことで、SQLを備忘録で貼っときます。HTMLのセレクトボックスで公開していたり、同じようなSQLを公開している人はもちろん居るのですが、symfonyやCakePHPのようなCoCフレームワークのカラム名のものがなかったので、自分のために貼っときます。一応MySQLばっか使うので、MySQLの出力結果になっています。適当にENGINEとか変えれば他でも使えます。もちろん、JIS X 0401に準拠した都道府県コードを使っています。 CREATE文(utf8を想定)

    [SQL]都道府県コードに沿ったSQL | うえちょこ@ぼろぐ
  • nginx+squidで画像キャッシュサーバーの作り方 - hideden.hatenablog.com

    仕事で画像キャッシュサーバーを構築した時のメモ。大規模事例の設定例が検索してもあまり見つからなかったので同じような境遇の誰かの参考になれば。 ピーク時のトラフィックは数Gbps 画像総容量は数十TB バックエンドのstorageが複数種類 規模とアクセス量とアクセスされる画像の種類が多いので、squidでdisk cacheを使用するとCOSS等を使用してもdiskIOで詰まる為、全てon memory cache。cache容量を確保する為に必然的にcacheサーバーの台数も数十台。 1. squidをsibling構成で並列に並べる cache_peer 10.0.1.1 sibling 80 3130 no-query no-digest proxy-only cache_peer 10.0.1.2 sibling 80 3130 no-query no-digest proxy-o

    nginx+squidで画像キャッシュサーバーの作り方 - hideden.hatenablog.com
  • ふぁぼったーの負荷分散の計画をあれこれ考えてみた。 - 2009-11-01 - 小野マトペの業務日誌(アニメ制作してない篇)

    今日一日調べたこととかまとめてみる。 問題点 次回リリースの新機能はDB select負荷がかなり掛かるはずである。 現状でもデータLOADによる負荷が10に達し、selectにスロークエリ、接続エラーが出ている。DBの負荷分散が急務である。 参考: Load Average 参考: Slow Query あと、STATUSテーブルが2GBに達しようとしているので、デフォルトのサイズ制限4GBが見えてきた。再定義できるけど。 垂直分割対応案 日語版DB英語DBのデータベースとクローラを別ホストに格納する 現状、favotterとfavotter_enはほぼ同規模のDBとなっている。 ただし、参照は圧倒的にfavotterが多い。 favotter_enのクローラを止めたら、スロークエリが激減した事がある。 参考: 小野マトペ on Twitter: "まる一日英語版のクローラ止めてた

    ふぁぼったーの負荷分散の計画をあれこれ考えてみた。 - 2009-11-01 - 小野マトペの業務日誌(アニメ制作してない篇)
    kujoo
    kujoo 2009/11/02
    後で読んで、試行の参考に。
  • phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する方法

    phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する具体的な方法です。ここでは XAMPP 環境(Windows XP + MySQL 5.0 + phpMyAdmin 2.11.4)で試したもので紹介します。 このエントリーは以下の記事に触発されて書いたものです。 techknow.yagishita.net - MTを使ったサイト構築テクニック (2): ネタフルにおける再構築チューニング 1.my.cnf を変更する ストレージエンジンを MyISAM から InnoDB に変更するには、テーブル単位で変更します。phpMyAdmin の GUI によるストレージエンジンの変更方法は、 変更したいテーブル名をクリック 上部タブの「操作」をクリック 「テーブルオプション」の「ストレージエンジン」から「InnoDB」を選択 となります

    phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する方法
  • MyISAMからInnoDBへ切り替えるときの注意点

    MySQLを使い始めて間もない人がよく陥る罠の中に、気づくと使ってるストレージエンジンがMyISAMだった!ということがある。デフォルトのストレージエンジンはMyISAMなので、MySQLに詳しくない人たちが比較的陥りやすい罠なのだ。そもそもストレージエンジンという概念自体がMySQL独自のものなので仕方のない話である。MyISAMは素晴らしいストレージエンジン(たとえばこのYahoo!の中の人による投稿で言われているように)であるが、長所もあれば短所もある。例えば、 トランザクション対応ではない。 クラッシュセーフではない。 更新と参照が入り乱れた場合の同時実行性能がよくない。 テーブルが大きく(数億行とか)なるとINSERTの性能が劣化する。 などなど。特に前者の2つが問題で、アトミックな操作が必要なところでロジックを実装出来なかったり、サーバがクラッシュした時にデータがお亡くなりにな

    MyISAMからInnoDBへ切り替えるときの注意点
  • 第5回■注目される文字コードのセキュリティ問題

    今回から5回にわたって,アプリケーション全体に関する文字コードの問題と対策について説明する。文字コードがセキュリティとどう関わるのか,疑問に思うかもしれないが,Webアプリケーションで文字コードを指定可能な個所は非常に多く,しかも文字コードの選定や処理方法次第ではぜい弱性の原因になることが分かってきている(図1)。実は文字コードはWebアプリケーションのセキュリティ問題の最新の話題と言ってよい。 2008年10月に開催されたセキュリティ・イベントBlack Hat Japan 2008では,ネットエージェントの長谷川陽介氏が「趣味と実益の文字コード攻撃」と題して,文字コード問題の広範なプレゼンテーションを発表した 。そのプレゼンテーション資料が発表されている のでこの問題の詳細に関心のある方は参照されたい。ここでは,セキュアなWebアプリケーションを開発するために文字コードの問題をどのよう

    第5回■注目される文字コードのセキュリティ問題
  • 素朴なBigtable、できること できないこと

    素朴なBigtable、できること できないこと:分散Key-Valueストアの命「Bigtable」(2)(1/2 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 あまりにもRDBとは異質な「Bigtable」 前回の「もう1つの、DBのかたち、分散Key-Valueストアとは」では、連載第1回目として、クラウドコンピューティングにおける新しい潮流である「リレーショナルデータベース(RDB)から分散Key-Valueストア(分散KVS)への移行」が、どのようなパラダイムシフトをもたらすのかを解説しました。今回からは、グーグルが運用する代表的な分散KVS「Bigtable」の内部構造を紹介し、クラウドの質をより深く掘り下げます。 前

    素朴なBigtable、できること できないこと
  • ce-lab.net

    This domain may be for sale!

  • インサイド・オンラインゲーム 第2回 バックエンドの実装 — Community Engine Plus

    This domain may be for sale!

  • MySQLの最適化

    限りなく眠気を誘うPHP Internalsのセッションから逃げる。こっちの 講師はMySQL.comの人。講演慣れしていて、ずっとまともでプロフェッショナルな 感じ。午前中を逃したのが惜しいが、詳しいプレゼン資料は後日公開される らしい。 DELETEのコストはかなり高い 読みだしがすごく多い場合は無効化を示すフィールドを作りUPDATEすべき、 index更新のコストが馬鹿にならないSHOW STATUSの表示結果の解析方法 起動ごとに初期化、全データベースに共通rnd と rnd_next の割合Key_reads : Key_read_requests 、ディスクから読まれた回数:総回数 この割合が1:100より悪くなったら要注意Key_write_requests:Key_writes 総書き込み要求回数:ディスクに書き込ま れた回数 キャッシュの効果などMax_used_con

  • データ構造の選択次第で天国と地獄の差

    データ構造の選択次第で天国と地獄の差:コーディングに役立つ! アルゴリズムの基(2)(3/3 ページ) この木何の木、木構造 「木構造(根付き木)」と呼ばれるデータ構造について説明します。リンクリストは直線的にノードがつながっているデータ構造でしたが、木構造は木のような形でノードがつながっているデータ構造です。 木構造はデータを持つノードで構成されています。 ノードの中には1つだけルート(根)というノードがあります。図にした場合、一般的に一番上に書かれます。 2つのつながっているノードを見たとき、ルートに近い方を親ノード、ルートから遠い方を子ノードといいます。 あるノードの親ノードは1つだけしかありません。子ノードは複数あります。子ノードは1つの場合もあり、1つもない場合もあります。 ルートノードには親ノードがありません。親ノードがないのはルートノードだけです。 最も末端のノードをリーフ

    データ構造の選択次第で天国と地獄の差
  • Microsoft Learn: キャリアの扉を開くスキルを身につける

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Microsoft Learn: キャリアの扉を開くスキルを身につける
  • Microsoft Corporation

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Microsoft Corporation
  • リレーショナル・データベース設計入門

    データベース設計論(リレーショナル・データベース設計入門) 注記1: 以下の内容は、私が某大学で非常勤講師として、講義用に使用しているものです。 �@データベース設計にとって基的な概念では、3層スキーマ、データモデリング技法、関係モデル、データ正規化、 ERモデルがあります。 �ASQLの基的な文法、使い方、使用事例を具体的に述べてあります。 �Bデータベースの運用設計上で欠くことのできないデータベース制御(問合わせ処理、トランザクション処理、 同時実行制御、障害回復)について分かりやすい図解を交えて説明しております。 �Cオブジェクト指向データベース、分散データベースなどを含めて最近の技術動向にもふれておきます。 このテキストの内容を理解できれば、情報処理試験のうちデータベース領域の知識は十分身につくと思います。 注記2: 左側のアウトラインをクリックして検索を進めてく