タグ

データベースに関するkikuchi1201のブックマーク (23)

  • リレーショナル・データベースの世界

    序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み

  • SQLの実行計画の読み方 |

    今回は、SQLを書く上で特にパフォーマンスに影響のあるSQLの実行計画の読み方について解説します。実行計画はデータベース製品によってさまざまに差異がありますが、ここでは比較的どのデータベース製品でも共通する内容について解説します。 実行計画とは記述したSQLが実際にデータベースの内部でどのように処理されて結果を返すか、その処理方法を記述した情報です。 A5:SQL Mk-2では、SQLエディタで実行計画を見たい SQL の上にキャレットがある状態でメニューから [SQL(S)] – [SQLの実行計画(J)] または、Ctrl+E で表示できます。 表示の仕方はデータベース製品ごとに異なりますが、多くのデータベース製品ではツリー状の情報として表現されます。(このため A5:SQL Mk-2でもツリービューで実行計画を表示します。) ツリーのリーフ(端)から処理が行われ、ルート(根)に向かっ

  • データベースと向き合う決意 | フューチャー技術ブログ

    秋のブログ週間の9目のエントリーになります。この企画もこんなに書く人が出てくるように育っていいですね。 「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」 これは大学時代に2つ上の先輩が言っていた言葉です。例えばマシン語を直接書くのではなく、アセンブラで書けば、変換(コンパイル)の手間はかかりますが、他のCPUへの移植はしやすくなります。高級アセンブラと名高いC言語を使えばさらに移植性は上がります。C言語で書かれたVMを使う言語、例えばJavaPythonRubyなんかはさらに移植性は上がります。 ストレージもそうです。最終的にストレージはビット列を保存するものですが、それにOSのファイルシステムというレイヤーがあり、そこにスキーマで管理されたデータを入れるDBMSが乗っかり、SQLなどの問い合わせ言語でデータ取得できるようにします。DBMSを挟むことで、レプリケーションでバッ

    データベースと向き合う決意 | フューチャー技術ブログ
  • SQL Training 2021

    Transcript SQL 株式会社 AI Shift 三宅 悠太 1. データベース 2. SQL I 3.トランザクション 4. データベース設計 5. インデックス 6. 実行計画 7. SQL II データベース データベースとは “A database is an organized collection of inter-related data that models some aspect of the real-world “ (CMU) データベースとは、実世界のある側面をモデル化した、秩序 だった、相互に関連したデータの集まり DBMS • データベース管理システム(DBMS)は、データベースを管理するソフトウェア ◦ 例:MySQL, Oracle Database, SQLite, MongoDBDBMSの目的は、アプリケーションが簡単にデータベースにデー

    SQL Training 2021
  • データベース設計の際に気をつけていること - 食べチョク開発者ブログ

    皆さんこんにちは、エンジニアの西尾です。 新しい機能・サービスを開発する際、私は特にデータベース設計に気をつかいます。 データベースはシステムの土台です。 土台が不安定だと、その上に積み上げていくアプリケーションコードがいびつなものになり、つらい思いをします。 また、一度動き出してしまったシステムのデータベース設計を変えるのは、容易なことではありません。 データベース設計には”これだ!”という正解はないと思っています。 サービスの特徴、システムの性質、toB向け/toC向け、Readが多い・少ない、Writeが多い・少ない。 その他もろもろの背景により、データベース設計の仕方も変わってきます。 このテーブルは正規化していないから駄目だ、この設計はいわゆるポリモーフィック関連だから使ってはいけない、などということはありません。 アンチパターンと呼ばれるものも時と場合によっては正解になります。

    データベース設計の際に気をつけていること - 食べチョク開発者ブログ
  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • builderscon tokyo 2017 に行ってきました! – ねこげっとぷれす

    ねこげっとぷれす NEKOGET PNESKINの開発等PHPな話題を中心に書いていこうと思います。 メニューとウィジェット builderscon tokyo 2017 に行ってきました! グラレコ風にメモをとったのでまとめておきます。(と言っても2件だけですが) 8/4に見に行った時のメモです。 初めてのMySQLチューニング -データベースは怖くない! D #builderscon pic.twitter.com/bSuqmiR30z — NEKOGET (@NEKOGET) August 4, 2017 RDBアンチパターン リファクタリング メモ #RDBアンチパターン #builderscon #buildersconA pic.twitter.com/zheIiqEwWi — NEKOGET (@NEKOGET) August 4, 2017 その他聞いたセッションについて

    builderscon tokyo 2017 に行ってきました! – ねこげっとぷれす
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • トランザクション分離レベルの古典的論文 A Critique of ANSI SQL Isolation Levels を読む - Hatena Developer Blog

    こんにちは、 id:alpicola です。今年4月に新卒入社してアプリケーションエンジニアとして働いています。 ウェブアプリケーションはその性質上、データベースに対して同時に大量の問い合わせを行います。そうした中でデータベースが個々の問い合わせを処理していくときに起こっていることは何か、どういう順序で処理が行われるのか、というのは興味深い話題かと思います。例えばデータベースに対して行った更新処理の結果が、更新を行ったクライアント以外のクライアントからも「見える」ようになるのはいつでしょうか。入社間もない頃、先輩エンジニア達にそうした疑問をぶつけてみたところ、「トランザクション分離レベル」というキーワードと、この分野の古典的な論文 A Critique of ANSI SQL Isolation Levels を教えてもらい、輪読会を社内で開催しました。この記事ではこの輪読会の模様をレポー

    トランザクション分離レベルの古典的論文 A Critique of ANSI SQL Isolation Levels を読む - Hatena Developer Blog
    kikuchi1201
    kikuchi1201 2017/06/21
    凄い。しかも書いてるのが新卒...はてな凄い
  • ブクマと、メルカリ カウルの考察

    のフリマアプリ「ブクマ」を運営している id:mocchicc です。 昨日、メルカリ カウルが出ました。 実は今年1月の時点で、進太郎さんから直接「うちもデータベースを持つフリマ、とくにをやることになりそう」と聞いていて、競合する可能性がありながらも紳士的に教えてくれていました。もっちくんを応援したいのだけど、なんかごめんね、とまで言ってもらえて、懐の大きさを感じました。 昨年夏のIVS Launch Padで初めて「ブクマ」の発表プレゼンを行った直後、ソウゾウの松さんとメルカリの取締役の小泉さんに誘われて(立ち話, 程度の温度感ではありますが)メルカリへのジョインの話もありましたが、その話は流れて、今に至っています。 ニュースを見た友人知人から「大丈夫?」とメッセージたくさんもらってますが(ありがとう)、大丈夫です。今のインターネット業界は、単純構造で勝つ・負けるっていうような世

    ブクマと、メルカリ カウルの考察
  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
  • データベース設計徹底指南

    DBエンジニアのための技術勉強会(第3回)で使用した資料です。主にリレーショナルモデルと正規化について解説しています。リレーショナルモデルの限界について正しく認識してこそ、リレーショナルモデルを理解したと言えると思います。

    データベース設計徹底指南
  • ありがとう、さようなら Parse.com。ノハナがParse.comと共に過ごした4年間の話。

    ノハナの中の様子を時に真面目に時にゆるゆるとお伝えします ノハナで主にサーバーサイドを担当しているエンジニアの武市 (@tacke_jp) です。 Parse.comが1年後にサービスを終了することをアナウンスしたのが2016年の1月28日 。それから約1年が経った日未明にParse.comは完全にサービスを終了しました。これまでノハナを支えてくれたParse.comに感謝を述べつつ、ノハナがParse.comと共に過ごした4年間を振り返りたいと思います (※1)。 Parse.comとノハナ ノハナがサービスインしたのは2013年の2月13日でした。サービスの立ち上げ時からParse.comをフル活用していたため、そこから考えると約4年間Parse.comを使っていたことになります(※2)。 利用していた機能は多岐にわたり、データベースはもちろんのことユーザー認証やプッシュ通知、さらに

    ありがとう、さようなら Parse.com。ノハナがParse.comと共に過ごした4年間の話。
  • RethinkDBはなぜ失敗したのか | Yakst

    つまり、これらのマーケットは小さく、しかもデータベースのマーケット自体よりも小さいのです。とは言え、どれかが他よりもマシになりうるでしょうか? マネージドホスティングは、質的にはユーザのためにAWSでデータベースを動かすことで、そうすることでユーザたちは自分で動かす必要がなくなります。これらのサービスを使う代わりになるのは、AWSに自分でデータベースを立てることです。したがって、マネージドなデータベースホスティングサービスが課金できる額には、非常に厳しい上限があることになります。Compose.ioやmLabが、RethinkDBよりも1桁あるいは2桁多いユーザを抱えるMongoDBを提供していることを考えて、マネージドホスティングを提供することには少しの良い点もないという結論を下しました。 Database as a Serviceはマネージドホスティングの更に複雑なバージョンです。D

    RethinkDBはなぜ失敗したのか | Yakst
  • Treasure Dataを支える(中の人に必要な)技術 - myui's memo

    Treasure Data(以下、TD)に入社して早2週間が経ちました。 入社してから、平成14年度IPA未踏ユース第1期で同期でスーパークリエイタであった西田さんがTDで働いているのを知りました。MapReduceやHadoopが登場した頃、「Googleを支える技術」という技術書*1でお世話になったのですが、いつの間にかTreasure Dataを支える人になっていたんですね*2。 Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ) 作者: 西田圭介出版社/メーカー: 技術評論社発売日: 2008/03/28メディア: 単行(ソフトカバー)購入: 47人 クリック: 1,166回この商品を含むブログ (374件) を見る TDではおかげさまで結構なペースでお客さんが増えていて事業規模拡大に備えて幅広い職種で人材募集中です。今回はTDのバッ

    Treasure Dataを支える(中の人に必要な)技術 - myui's memo
  • ロリポップ

    ※ 月額利用料金を各プランで利用可能な容量で除して算出した使用できる容量1GBあたりの価格の低さ。2024年2月15日時点。自社調べ。 HostAdvice.comでのシェア上位3社のサービスサイト内で公開されている、最も価格の安いプラン、最も長期の契約期間の1GBあたりの月額費用を算出し比較

    ロリポップ
    kikuchi1201
    kikuchi1201 2017/01/11
    オシャポップなレンタルサーバーだ!
  • 実務で役立つデータベースの活用法

    オープンセミナー2015@香川の登壇資料です。 http://connpass.com/event/15646/

    実務で役立つデータベースの活用法
  • Webサービス・Webアプリ独学個人開発|僕の作り方(3年後追記)

    3年程前に書いたこちらの記事ですが、閲覧・ブックマークともにそこそこな数になってきました。 当時は初心者に毛の生えたくらいの知識でこの記事を書いていましたが、その後さらに�プログラミングを進め、当時より見えるようになったものやWeb業界?の変化とかを感じています。なので、初心者の目線でというスタンスはそのままで、情報をアップデートしました。 もしアップデート前のものをご覧になりたい場合は http://archive.is/TJQdD をご覧ください。 2018年8月22日 Webサービス・Webアプリケーション・HP・androidアプリ・ECサイトなんかを独学で作り始めて、1+3年くらい経ちました。始めたころはWebサービスの全体像がよくわからず思うようにいかないことが多かったのですが、言語や環境関わらずいろいろ作っているうちに、Webサービスを企画してから公開するまでの一連の流れがよ

  • 新春座談会 このコンピュータ書がすごい! 2016年版 の勝手なまとめ - sugilogのブログ

    個人的なメモ。去年とは書き方を変えて、時系列で徒然にしないで、勝手に括ったりしてます。 sugilog.hatenablog.com トークイベントのハッシュタグは #compbook 。 高橋さん、お疲れ様でした。(『楽しいRuby』の第5版がでる?ということで、おめでとうございます。) 読みたいPython言語によるプログラミングイントロダクション』 Python言語によるプログラミングイントロダクション: 世界標準MIT教科書 作者: ジョン・V.グッターグ,John V. Guttag,久保幹雄出版社/メーカー: 近代科学社発売日: 2014/12/29メディア: 単行この商品を含むブログ (2件) を見る MITのテキストで、プログラミングの解説をしているPythonのコードが使われているということ。 『Serverspec』 Serverspec 作者: 宮下剛輔出

    新春座談会 このコンピュータ書がすごい! 2016年版 の勝手なまとめ - sugilogのブログ
    kikuchi1201
    kikuchi1201 2016/01/11
    大学に購入以来だしとこ
  • APIを探そう。国内外のインデックスサービスまとめ | NTT Communications Developer Portal

    APIAPIを組み合わせてマッシュアップサービスを作ろうと思った場合、まず自分が欲しいデータを提供しているAPIを探す必要があります。今回はそんなAPIのディレクトリを提供しているサービスをまとめて紹介します。 PublicAPIs 執筆時点で5,330のAPIから検索ができるAPIインデックスサービスになっています。名前やAPI名などを入れることで、新しいAPIの登録申請もできるようになっています。 PublicAPIs | Directory of public APIs for web and mobile API For That 検索、ソーシャル、ファイナンスなど約20のカテゴリに分かれて登録されています。約300種類くらいのAPIが登録されています。 API For That | An API Directory Zapier IFTTTのビジネス版と言った雰囲気のサービスに

    APIを探そう。国内外のインデックスサービスまとめ | NTT Communications Developer Portal
    kikuchi1201
    kikuchi1201 2015/07/29
    こんなサービスやっとるんだ!