タグ

dbに関するjukuringoのブックマーク (17)

  • 排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!

    トランザクション分離レベルについての教養があったほうがこの記事の内容を理解しやすいため,必要に応じてまず以下を参照されたい。 背景 以前, Qiita で以下の記事を投稿した。今回の議題に直接的な関係はないが,関連している部分があるため引用する。 MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。

    排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!
    jukuringo
    jukuringo 2022/07/07
    排他制御 ロック
  • 転職会議のDB改善のお話 - LIVESENSE ENGINEER BLOG

    転職会議 DB改善 はじめに こんにちは、転職会議の開発をしているエンジニアの yamitani です。 転職会議のサイトの歴史はもう少しで 10 年を迎えます。 サイトの運用期間が長いため、いくつかの負債を抱えています。 コードベースの負債は解消されやすいのですが、DB 周りの負債は解消されにくいです。 今回は 2 年間に渡りエンジニア工数の 10%を利用して、DB を少しずつ改善してきたことについて記載します。 改善にはそれぞれメリット・デメリットがあります。サイト規模や運用状況によってはコストが見合わない場合もありますので参考にする際はご注意ください。 ※ この記事の DB とは RDB MySQL を指しています。 エンジニア工数10%制度の技術投資枠とは まずはじめに、弊社の制度を少しだけ紹介させてください。 リブセンスではエンジニア工数の 10%以上を技術投資枠にできる制度があ

    転職会議のDB改善のお話 - LIVESENSE ENGINEER BLOG
    jukuringo
    jukuringo 2020/02/08
  • RDBアンチパターン リファクタリング - builderscon tokyo 2017

    Abstract どんなシステムを作るときでも今や必ずRDBを使うと言っても過言ではありません。 しかしRDBは便利な半面、リファクタリングが難しくレガシィシステムの中心として手を付けれない状況になっていませんか? RDBアンチパターンにハマるとアプリケーションへの影響も大きく、パフォーマンスやコードの品質にダイレクトに影響します。 そこで今回は ・RDBアンチパターンの紹介 ・RDBアンチパターンが引き起こす問題 ・如何にRDBアンチパターンをリファクタリングするか ・リファクタリング後の未来 ・明日からDBリファクタリングするために必要な事 をお話したいと思います。 既存システムに棲みつくRDBアンチパターンを如何に攻略していくか… そんな明日から役に立つ物語を皆様にお届けします。

    RDBアンチパターン リファクタリング - builderscon tokyo 2017
    jukuringo
    jukuringo 2017/08/07
  • 『アメーバピグにおけるDB構成&対応記』

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

    『アメーバピグにおけるDB構成&対応記』
    jukuringo
    jukuringo 2014/05/22
  • データベース技術の羅針盤

    PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)NTT DATA Technology & Innovation

    データベース技術の羅針盤
    jukuringo
    jukuringo 2013/11/17
  • RDBMSのコネクションプーリングとかその辺の話 - wyukawa's diary

    データベース技術の羅針盤 from Yoshinori Matsunobu これは素晴らしい資料で後半のキャリアの話とか面白いんだけど、今回書くのはp6,p8に書かれていた下記の話です。 PosgreSQLは接続がプロセスベースなのでLL言語との相性がよくない Pgpool(これはプロキシサーバー的に使うらしい)などのコネクションプールと併用することが多い MySQLは接続がスレッドベースなのでコネクションプーリングが使いづらいLL言語環境では魅力 なんでLL言語だとコネクションプーリングが使いづらいのかわからずつぶやいたらリプライもらってついでにちょっと前に話題になったRDBMSでコネクションプールが必要な理由、わからない。 - Togetterや7年前のブログエントリであるコネクションプーリングの話 - naoyaのはてなダイアリーを読み返してみて思ったことを書いてみる。全然まとまって

    RDBMSのコネクションプーリングとかその辺の話 - wyukawa's diary
    jukuringo
    jukuringo 2013/11/17
  • RDBMSでコネクションプールが必要な理由、わからない。

    Takayuki Shimizukawa @shimizukawa @masa_edw コネクションプールが無い場合、使い終わったコネクションが即解放されない(解放まで多少遅延する)ので実際に使っているコネクションの数より多く存在する。その分メモリを圧迫して効率が悪い。っていう話は聞いたことがあるよ(要出典 2013-09-04 09:27:28 ハイパーむとう @masa_edw @voluntas 現状で必要な状況は理解していますが、なぜそうなるのか理解していないということです。他にもたとえば、bitlyの呼び出しはコネクションプールを使うべきか?なぜ(べき、べきでない)のか?どういう要請でそうなのか?と言う問いに僕は答えられません。 2013-09-04 09:31:22

    RDBMSでコネクションプールが必要な理由、わからない。
    jukuringo
    jukuringo 2013/09/05
  • Sequel Pro

    Full MySQL Support Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application! Flexible Connectivity Sequel Pro gives you direct access to your MySQL Databases on local and remote se

    Sequel Pro
    jukuringo
    jukuringo 2012/02/08
  • 时时彩平台-官网APP下载

  • 2009-01-30

    これまでdbにはpostgresを使用していましたが、私の周りではmysqlへの移行が進んでいるようです。今回、mysql 5.1.30をsrcからinstallしたので、その手順を書き留めておきます。 参考にしたもの 今回のinstallでは、dev.mysql.com にあるリファレンスマニュアルを参考にしながら、作業を進めました。 http://dev.mysql.com/doc/refman/5.1/ja/index.html http://dev.mysql.com/doc/refman/5.1/ja/quick-install.html ユーザ,グループの追加 mysqlはデフォルトでは、mysqlというユーザで実行されるらしいので user,groupを追加します。 # groupadd mysql # useradd -g mysql mysql buildとinstall

    2009-01-30
  • 社内サーバインフラ勉強会(DB)

    ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryAtsushi Koshiba

    社内サーバインフラ勉強会(DB)
    jukuringo
    jukuringo 2011/10/01
  • 信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ

    ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。 しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わることになった。 ※ あと、KVSでいいじゃんって言ってる人もいるけど、それはKVS導入の苦労を知らない人だと思う。KVSの苦労は後で書く。 僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はDBやフレームワークの設計とアーキテクトっぽいことを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止

    信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ
    jukuringo
    jukuringo 2011/08/10
  • RDBでテーブルの作り方が良くわからなくなってきたので、いったんまとめてみた - kanonji’s diary

    カーディナリティや依存関係*1、関係テーブル、正規化など、曖昧な知識のままなので、ちょっとまとめてみます。 経験からなんとなくは分かっているつもりですが、このままだと誰かに説明することもできないし、間違いに気がつかないかもしれない。 一度アウトプットすると整理されるらしいし、間違ってるかもしれないけど書いちゃいます。 なので、つっこみ歓迎です。 題材があったほうが書きやすいので、サンプルのER図を作りました。 ユーザーとそのプロフィール。 ユーザーが投稿した記事。 記事にフォークソノミーなタグ付け。 こんなデータが格納できる、簡易ブログというか簡易SNSの一部分といったイメージです。 カーディナリティ エンティティ*2間の関係。 一対一 (one-to-one) [user] と [profile] の関係。ユーザー1人にプロフィールも1個。*3 一対多 (one-to-many) [us

    RDBでテーブルの作り方が良くわからなくなってきたので、いったんまとめてみた - kanonji’s diary
    jukuringo
    jukuringo 2010/02/17
  • DB設計の神ツール「ERMaster」なら、ここまでできる

    DB設計の神ツール「ERMaster」なら、ここまでできる:ユカイ、ツーカイ、カイハツ環境!(11)(1/3 ページ) 無料のEclipseプラグイン「ERMaster」とは データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか? いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。 ERMasterは、ほかのツールに比べ、直感的で分かりやすいUI(ユーザーインターフェイス)に、カスタマイズ可能な、Excelで出力できるテーブル定義書、辞書機能など痒いところに手が届くERモデリングのツールです。稿では、このERMasterについてご紹介します。 ERMasterの主な特徴、8つ ERMasterには、主に次のような特徴があります。 【1】直感的で使いや

    DB設計の神ツール「ERMaster」なら、ここまでできる
  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
    jukuringo
    jukuringo 2009/04/08
  • OTN Japan - 今だからデータ・アクセスを真剣に考える! 第1回

    システムを構築する上で必須となるデータベースアクセスの機能、皆さんはどのように実装しているでしょうか?JDBCで記述/EJB Entity Bean(BMP/CMP)を利用/データアクセスフレームワークを利用、等様々な実装方法を選択されているかと思います。 この連載では、様々な観点からデータアクセスに関わる事項を取り上げ、皆ささんがデータベースアクセスについて、少し考えてみる場になればと思っています。まず今回のデータアクセスことはじめ(前編/後編)では、これから様々なデータベースアクセスに関する事項を扱っていく上でのベースとなる知識を取り上げます。 現在、Javaプログラミング言語を用いてエンタープライズシステムを開発する場合、要件変更への設計・実装の変更の容易性、JDBC、EJB Entity Beanなどのデータアクセス要素技術とのマッピングの容易性、等々の理由により、システム全体を論

    jukuringo
    jukuringo 2008/10/24
  • OTN Japan - 今だからデータ・アクセスを真剣に考える! 第2回

    前回の「データベースことはじめ(前編)」では、システムの論理的な階層の中でドメイン層をどの様に実装するかということで、PoEAAのアーキテクチャパターンを元に見てみました。今回は、パーシステンス層のアーキテクチャパターン+αを見ていきます。 まずパーシステンス層を見る前に、今回の話題とは直接ではないですが、間接的に関わってくる層のサービス層に関して少し触れておきたいと思います。サービス層は、ドメイン層配下のビジネスロジックをユーザインタフェース層やアプリケーション層から利用するためのインタフェースとして機能します。一般的にトランザクションロジックやセキュリティロジック、ドメインロジックのワークフロー等のドメインロジックとは直接関係ないロジックを含むのみで、大きなドメインロジックを含むことは好ましくないとされる層です。 では、パーシステンス層です。ここまで、役割的には、データアクセスの実装を

    jukuringo
    jukuringo 2008/10/24
  • 1