タグ

DBに関するtakashabeのブックマーク (20)

  • 自作DBを始めたい人におすすめの本 - salachike:blog

    この記事は、慶應理工アドベントカレンダー2021の20日目の記事です。 カレンダー全日埋まってすごい 🎉🎉 adventar.org 「Database Design and Implementation」という簡素なDBをスクラッチで作っていくに取り組んだので、その読了エントリです。 Database Design and Implementation: Second Edition (Data-Centric Systems and Applications) (English Edition) 作者:Sciore, EdwardSpringerAmazon こんな人におすすめ MySQLやPostgreSQLを使った経験はあるが、DBの理論やその実装はあまり詳しくない人に特におすすめです。特に自作〇〇*1に興味がある人は間違いなく楽しめると思います。単純にに紹介されている理論

    自作DBを始めたい人におすすめの本 - salachike:blog
    takashabe
    takashabe 2021/12/20
  • 社内SQL研修のために作った資料を公開します | 株式会社AI Shift

    こんにちは、Development Teamの三宅です。 先日、社内(AI事業部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基的には大学のデータベース講義で

    社内SQL研修のために作った資料を公開します | 株式会社AI Shift
  • MyBatis を利用した web application 開発についてのご紹介

    1. MyBatis を利利⽤用した Web Application 開発についてのご 紹介 LINE Corp. Service Dev. 1 Tokuhiro Matsuno 2. ⾃自⼰己紹介 • LINE Corp Service Dev.1 • ⾼高トラフィックの B2C の⾃自社ウェブサービスを開発する ことを⽣生業としている • 最近はなぜか広告事業をやっています。 • 広告案件でももちろん MyBatis を利利⽤用しています。

    MyBatis を利用した web application 開発についてのご紹介
    takashabe
    takashabe 2017/07/26
  • Amazon Aurora のアーキテクチャまとめ - おくみん公式ブログ

    先日公開された『Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases』を読みました。 興味深かった部分や疑問に思った(あんまりわかってない)部分をまとめておきます。 AWS は詳しくないので、ところどころ間違っているかもしれません。 Amazon Aurora とは Amazon Aurora のアーキテクチャ全体像 quorum 10GBに分割されたストレージ redo ログのみを転送 感想 Amazon Aurora とは Amazon AuroraAmazon Web Service が提供する、マネージドリレーショナルデータベースサービスです。 Amazon Aurora (MySQL 互換のリレーショナルデータベース) | AWS Amazon A

    Amazon Aurora のアーキテクチャまとめ - おくみん公式ブログ
  • 地理分散DBについて

    2. トランザクションの基 • トランザクションとは:CommitかAbortで終わる 複数の手続きの塊 – 例 [Read(x) Read(y) Write(y) Commit] • トランザクションマネージャとは:トランザクショ ンを複数並行して流し込んでも、何らかの順序 で一つずつ直列に流し込んだかのような結果を 生み出すシステム – トランザクションマネージャの中では主に並行制御 アルゴリズムが使われる 3. 並行制御アルゴリズム • 2 Phase Lock・タイムスタン プ・グラフ・楽観的制御と 様々な亜種が考案されて きた – その系統を樹形図で表し たのが右図 – 2PLは有名だがその位置づ けは数ある手法の一角に 過ぎない Transactional Information Systems 176ページから抜粋 4. 2 Phase Lock おさらい A「ロックを取っ

    地理分散DBについて
  • Webエンジニアに知ってほしいRDBアンチパターン

    YAPC::Kansaiの登壇資料です。

    Webエンジニアに知ってほしいRDBアンチパターン
    takashabe
    takashabe 2017/03/04
  • トランザクションの設計と進化

    3. Copyright©2016 NTT corp. All Rights Reserved. トランザクションの基 トランザクションとは: データに対する一連の操作を一つにまとめた単位の事 トランザクションマネージャとは: 複数のトランザクションがACIDを守って走るよ うに管理する機構 A: Atomicity 結果がAll-or-Nothingとなる事 C: Consistency 一貫性を守る事 I: Isolation 過程が他の処理から見えない事 D: Durability 結果が永続化される事 Consistentな状態空間 Inconsistentな状態空間 Diskが取りうる全ての状態の空間 Atomicな遷移 4. Copyright©2016 NTT corp. All Rights Reserved. 何らかの実行順(スケジュール空間) 直列に実行した場合の結果

    トランザクションの設計と進化
  • DB Tech Showcase Tokyo 2016 で発表しました。MySQL 5.7の新機能 〜InnoDB編〜

    表題の通り、db tech showcase Tokyo 2016にて、MySQL 5.7の新機能についての解説を行った。スライドをアップロードしたので、セッションに来てくれた方も、見逃したという方もぜひ見て頂きたい。 What's New in MySQL 5.7 InnoDB from Mikiya Okuno 思えば、4年前のdb tech showcaseでMySQL 5.6の新機能について解説したときは、1回のセッションですべての機能を詳解することができた。ところが、MySQL 5.7に至っては、昨年MyNA会でオプティマイザ関連の新機能についての解説を行ったのに続き、今回はInnoDBの新機能だけに的を絞った解説となった。このように小出しにしているのにはワケがある。いや、そもそも小出しにしているというつもりはない。単にMySQL 5.7の新機能が多すぎて

    DB Tech Showcase Tokyo 2016 で発表しました。MySQL 5.7の新機能 〜InnoDB編〜
  • ソーシャルゲームDBの�危機回避

    MySQL Casual Talks vol.7

    ソーシャルゲームDBの�危機回避
  • DB 設計時のサイズ見積り[最新版] - Qiita

    こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5

    DB 設計時のサイズ見積り[最新版] - Qiita
  • クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ

    インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC

    クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ
  • Scala DB ライブラリ事情(2014/06 版) - seratch's weblog in Japanese

    最初に調べてから一年経ったので、また GitHub スター数の推移を見てみました*1。というか、こういうの自動化するサービスがあるといい気がしてきたけど。。 DB ライブラリ 順位 名前 2013/06 2013/07 2013/08 2013/09 2013/10 2014/06 総増減 1 Slick 613 638 658 692 717 922 +309 2 postgresql-async 159 187 213 227 240 421 +262 3 Squeryl 322 329 334 338 340 365 +43 4 ScalikeJDBC 112 135 141 150 180 274 +162 5 Querulous 154 157 158 162 164 170 +16 6 scala-activerecord 92 101 104 113 130 168 +76

    Scala DB ライブラリ事情(2014/06 版) - seratch's weblog in Japanese
  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
  • SQLインジェクションとは何か?その正体とクラッキング対策。

    世間では、今Gumblar祭りが勃発中であり、SQLインジェクションがニュースに出てくることは少なくなったが、だからと言ってSQLインジェクションの脅威がなくなったわけではない。SQLインジェクションはGumblarを仕掛ける手段としても利用されることがあり、Webアプリケーションを提供する全ての人にとって、対策を講じなければいけない驚異であることに変わりはない。SQLインジェクションという攻撃手法が認識され、大いに悪用されているにも係わらず、その質に迫って解説している記事は少ないように思う。従来のWeb屋だけでなく、今やアプリケーション開発の主戦場はWebであると言っても過言ではなく、そういう意味ではSQLインジェクションについて理解することは、全てのプログラマにとっての嗜みであると言えるだろう。 というわけで、今日は改めてSQLインジェクションについて語ってみようと思う。 SQLイン

    SQLインジェクションとは何か?その正体とクラッキング対策。
  • DBエンジニアのための技術勉強会で発表したスライドを公開しました。

    DBエンジニアのための技術勉強会というイベントで、リレーショナルモデルにおけるDB設計について話す機会を頂いた。リレーショナルモデルは非常に重要であるにも関わらず、現場ではないがしろにされてしまっている。その結果、アプリケーションのロジックを上手くクエリで表現できず、開発現場では非効率な開発が行われ、多くの人がデスマ的な状況に追い込まれている。そういう危機意識について、これまで何度かブログでも書いてきたし、WEB+DB Pressで連載している動機もその点にある。リレーショナルデータベースはやはりリレーショナルデータベースとして使うべきだ。そのための鍵となるのが、DB設計である。 今回はなんと約2時間の持ち時間を頂いた。リレーショナルモデルについてはこれまで何度か話す機会を頂いたが、2時間というのは最長記録である。それに合わせてスライドもボリュームたっぷりのものになった。過去のスライドと

    DBエンジニアのための技術勉強会で発表したスライドを公開しました。
  • DBスキーマもバージョン管理したい!

    PostgreSQLカンファレンス2013 LightningTalk (2013-11-13: migr8.rbの設定箇所を若干修正) (2013-11-14: SQLite3での設定等を修正、「migr8.rb new --table=users」を追加)

    DBスキーマもバージョン管理したい!
  • 運用が楽になる分散データベース Riak

    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. オ

    運用が楽になる分散データベース Riak
  • 大規模サービスでプログラマが注意すること(基礎) | GeNERACE labo

    みなさん、こんにちは。 GeNERACEのピンキリエンジニアひろゆきです。 いきなりですが、少しだけ自己紹介をしますと、前職やら何やらで比較的、大規模とよばれるサービスの開発、運用していました。 今回はその経験から得たノウハウ的なものをご紹介させて頂きたいと思います。 既にそういったサービスを経験されている方には当たり前のことかもしれませんが、これから参加される方、または、参加したばかりの方のお役に少しでもなれば幸いです。 データベースとの関わり方に気をつける これは基でありながら、かなり重要なため、関わり方(今回はRDB)について書きます。 (MongoDBなどのNoSQLと呼ばれるものは別のノウハウになるかと思います) 大規模サービスとなりますと、どうしても高負荷なものになりがちです。 単純にサーバースペックの問題もありますが、プログラムの実装方法で解決できる場合もあります。 それ

    takashabe
    takashabe 2013/05/18
  • 開発者が知っておくべき、ドキュメント・データベースの基礎

    開発者が知っておくべき、ドキュメント・データベースの基礎:特集:MongoDBで理解する「ドキュメント・データベース」の世界(前編)(1/3 ページ) ドキュメント・データベースの最大の特長は、「パフォーマンス、大量データ、スケーラブルといった課題を克服するためのシンプルなセットを提供している」という点だ。 もちろん既存の多くのリレーショナル・データベース(以下、RDB)でも、ドキュメント・データベースが備えている特徴的な各機能に類似することが実現可能だし、さらに広範な概念や機能性を提供している。例えばシャーディング(Sharding。詳細後述)についても、既存の多くのRDBでデータの分散化が可能だ。しかしドキュメント・データベースでは、「そもそもデータ構造がこうした構成に適している」という点と、「それに付随して、考え方もシンプルである」という点が優位な特徴である。 万人が、データベースが

    開発者が知っておくべき、ドキュメント・データベースの基礎
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
  • 1