タグ

dbに関するmichael-unltdのブックマーク (38)

  • 【DB設計入門|ER図|MySQL】コンビニレシートから学ぶ!データモデリング手法 | Wedding Park CREATORS Blog

    はじめに こんにちは、岩橋聡吾です。 今回は私が実務で行っているデータモデリング手法(実際手法とは名ばかりですが…)を紹介いたします。 データモデリングは、ご存知の通り、その後のシステム開発や拡張スピード、またシステム自身のパフォーマンスにも深く関わってきます。ここをどのように設計するかが開発プロジェクトを進める上で大きなカギになります。 なぜレシートなのか モデリングする上で、その対象となるサービス・システムのビジネスロジックや仕様を深く理解する必要があります。レシートの背景にある「物を買う」という行為は至極身近なものであり、誰しもがそのレシートが発行されるまでの流れを経験で知っています。またレシートは、その小さな紙の中に「店舗」や「商品」など、WEBサービスで馴染みがある概念も多く含まれており、訓練をする上で非常に手頃なものです(「コンビニ」なるフレーズは掴みに使わせていただきましたw

    【DB設計入門|ER図|MySQL】コンビニレシートから学ぶ!データモデリング手法 | Wedding Park CREATORS Blog
    michael-unltd
    michael-unltd 2020/04/29
    丁寧な解説
  • Mockでユニットテストを簡単にしよう!

    はじめに こんにちは。NIKKOエンジニアのS.TKです。 皆さん、テストはしていますか?最近の開発手法であれば、ほぼ確実にテストが考慮されているので嫌でもしていますよね。ただ、テストって実は結構難しかったりします。特にテストコードを書くとなると、プロダクトコードの設計によってはかなり苦労させられます。 そこで、今回はユニットテスト(単体テスト)に焦点を当て、テストコードを楽に書くためにMock(モック)を利用する方法をご紹介します。私はGMO MARS DMPの開発・運用を担当していますが、今回ご紹介する内容は普段の業務で実践している内容になります。 言語はJavaで、テストフレームワークはJUnitを使うことにします。 ユニットテストを書こう まず最初に、ユニットテストを書くことの意義について再確認してみたいと思います。今更感がすごいですが、ちょっとだけお付き合いください。 一番期待さ

    Mockでユニットテストを簡単にしよう!
  • #10 Rowクラスの拡張方法 - Articles Advent Calendar 2011 Teng

    Tengでdatabaseからデータを取得すると、基的には各レコードはTeng::Rowのオブジェクトになって返されます。 my $row = $teng->single('user', +{id => 1}); この時点の$rowはProj::DB::Row::Userというクラスでインスタンス化されています。 しかし今までの説明でProj::DB::Row::Userを定義したことはありませんでした。 Tengではtableに対応するRowクラスを自動的に生成し、利用します。 例えばこのProj::DB::Row::Userというクラスにメソッドを追加したいとします。 その場合は単純に自分でそのクラスを定義するだけです。 package Proj::DB::Row::User; use strict; use warnings; use parent 'Teng::Row'; sub

    #10 Rowクラスの拡張方法 - Articles Advent Calendar 2011 Teng
    michael-unltd
    michael-unltd 2016/04/19
    “このProj::DB::Row::Userというクラスにメソッドを追加したいとします。その場合は単純に自分でそのクラスを定義するだけです。”
  • 第39回 DBIx::Skinny:DBIx::Classに不満を感じたら | gihyo.jp

    DBIC以降の選択肢 今回はデータベース話の締めくくりとして、DBIx::Class以降に登場したいくつかの選択肢についてざっくりまとめておきます。これらはいずれも若く、DBICに比べてユーザ数も少ないためドキュメントなどの整備が遅れている部分もありますが、今回とりあげるものの多くは日人がつくっているものですから、英語圏で開発が進められているものより疑問や要望は送りやすいはず。気になることがあったらぜひそれぞれの作者氏に伝えていただければと思います。 DBIx::Skinny nekokakこと小林篤氏のDBIx::Skinnyは、今回紹介するもののなかではもっとも実績豊富なものといってよいでしょう。開発の動機については氏のブログによくまとまっていますが、標準で用意されているCRUDメソッドを使うときだけでなく、速度を稼ぐために生のSQLを書いたときでもinflateなどの補助機能を使え

    第39回 DBIx::Skinny:DBIx::Classに不満を感じたら | gihyo.jp
  • #11 inflate / deflate - Articles Advent Calendar 2011 Teng

    deflateを辞書で引くと http://ejje.weblio.jp/content/deflate とあるように、ふくらんだものをすぼませるといった意味があります。 これも経済でいうデフレでインフレとは逆の意味でつかわれますね。 なのでdeflateはオブジェクトという構造体を単純な文字列のようなものに変換することを言います。 Tengでのinflate / deflate Tengではinflate / deflateの定義をschemaに書きます。 今回のinflate / deflateの例を持ち出すのにいまのschemaではものたりないのでuserテーブルにcreated_atとupdated_atというカラムを追加したいと思います。 追加した後のtable定義、schema定義はまずこうなります。 package Proj::DB::Schema; use strict;

    michael-unltd
    michael-unltd 2016/04/10
    “データを プログラム層 <-> RDBMS の間で良い感じにデータ変換してくれるのがinflate / deflate”
  • jOOQ と Flyway で立ち向かう、自社サービスの保守運用 #jjug_ccc #ccc_ab1

    jOOQ と Flyway で立ち向かう、自社サービスの保守運用 #jjug_ccc #ccc_ab1

    jOOQ と Flyway で立ち向かう、自社サービスの保守運用 #jjug_ccc #ccc_ab1
  • 分散を考慮したMySQLの運用 DBのスケールアウト戦略

    Tweet Tweet前回は、大きなデータを効率良く扱う OSのキャッシュと分散についてまとめた。ここでは、分散を考慮したMySQLの運用といったDBのスケールアウト戦略について解説する。 1 インデックスを正しく運用する 分散を考慮したMySQL運用、3つのポイント OSのキャッシュを活かす インデックス(索引)を適切に設定する スケーリングを前提とした設計 OSのキャッシュを活かす 全データサイズに気を配る:データ量<物理メモリを維持、メモリが足りない場合は増設など スキーマ設計がデータサイズに与える影響を考慮する ※正規化:クエリが複雑になって速度が落ちるときがあるため、速度とデータサイズのトレードオフを考える インデックス重要 MySQLのインデックスは基B+木(ビープラスツリー)というデータ構造である。B+木はB木(ビーツリー)から派生したデータ構造で、外部記憶の探索時にシーク

    分散を考慮したMySQLの運用 DBのスケールアウト戦略
  • FrontPage_JP - Cassandra Wiki

    Cassandra Wiki Cassandraは、非常に高いスケーラビリティーを持ち、イベンチュアルコンシステントな分散システム構造のKVS(Key Value Store)です。 Cassandraは、主にBerkeley DBMySQLから構成されるAmazon Dynamo (PDF)の分散ハッシュテーブル(DHT)と、Google BigTable (PDF)のデータモデルという分散システムのテクノロジーを併せ持っています。 Amazon Dynamoのように、Cassandraはイベンチュアルコンシステントであり、Google BigTableのようにCassandraは典型的なKVS(Key Value Store)より豊かなカラムファミリーベースのデータモデルを提供します。 Cassandraは、2008年7月にFacebookによってオープンソースとして公開されました。

  • Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo

    Treasure DataではFluentdなどで収集したデータに対し、Prestoによる低レイテンシクエリサービスを提供しています。これによりユーザーはすばやくデータに関する知見を得ることができ、データ分析の生産性を向上できます。このスライドでは分散SQLエンジンであるPrestoの特徴とその実装について紹介します。 この内容はdbtech showcase 2014 Tokyo @秋葉原UDX で紹介しました。 http://www.insight-tec.com/dbts-tokyo-2014.html

    Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
  • cassandra調査レポート

    個人的な興味からcassandraについてしらべてみました。 間違っている部分など、指摘や質問などあればお知らせいただけるとうれしいです。Read less

    cassandra調査レポート
  • オープンソースのバルクデータローダー「Embulk」登場。fluentdのバッチ版、トレジャーデータが支援

    オープンソースのバルクデータローダー「Embulk」登場。fluentdのバッチ版、トレジャーデータが支援 何ギガバイトもあるCSVをデータベースに読み込ませるようなバルクデータをバッチ処理するためのツール「Embulk」がオープンソースで公開されました。 コミッターとして開発しているのは、ログ収集ツールとして知られるfluentdなどの開発者として知られる古橋貞之氏、西澤無我氏、中村浩士氏らで、3人が所属するTreasure Dataも開発を支援しています。 古橋氏はEmbulkについて「簡単に言うとfluentdのバッチ版です」と説明。1月27日に行われた「データ転送ミドルウェア勉強会」で、Embulkの紹介を行いました。 Embulkはプラグインベースのバルクデータローダー 古橋氏はまず、例えばCSVファイルをPostgreSQLに読み込ませようとすると、CSVの日付のフォーマットが

    オープンソースのバルクデータローダー「Embulk」登場。fluentdのバッチ版、トレジャーデータが支援
  • オープンソースデータベース標準教科書|DBスペシャリストを認定する資格 OSS-DB技術者認定試験

    ついに登場!データベースの操作、作成、管理についての基礎を学習するために最適な教科書 LPI-Japanは、PostgreSQLを体系的に学習するための教材「オープンソースデータベース標準教科書 -PostgreSQL-」を開発し、サイトにて公開し、無償提供しています。 教材は、データベースの経験の無い技術者を対象に、実習を通してSQL言語を使ったデータベースの操作、作成、管理についての基礎を学習するための教材が必要とのニーズに応えて開発されました。 データベースを初めて触る方にも分かりやすく、実際に動かしてみて理解できる内容となっています。 また、「OSS-DB技術者認定試験Silver」の学習教材としても役立ちます。 但し、教材は【受験対策教材ではありません】。受験対策は、LPI-Japan OSS-DB認定教材をご利用ください。 なお、近年のスマートフォンの普及などによる学習環

    オープンソースデータベース標準教科書|DBスペシャリストを認定する資格 OSS-DB技術者認定試験
  • アート・オブ・SQL

    TOPICS Programming , Database 発行年月日 2007年09月 PRINT LENGTH 332 ISBN 978-4-87311-336-4 原書 The Art of SQL FORMAT PDF 書は、『孫子』の「兵法(Art of War)」に着想を得て、SQLの基原理を基に、DBプログラミング現場で取得された戦術を解説します。データベースはシステムの要であり、効率の悪いコードは長年にわたりパフォーマンスに影響を与えます。コードは初めから俊敏に動かなくてはならず、そのためにはSQL言語について確かな理解が必要です。書では、インデックス付け、効率的なデータベースアクセス、階層データの扱い、大量データへの対処、応答時間改善の試みなど、さまざまな面からデータベースのパフォーマンスを最大限に引き出すためのコードの書き方を解説します。さらに、開発者自身がより良

    アート・オブ・SQL
  • 新書籍「Linux-DBシステム構築/運用入門」

    Linux上で「高速で、落ちない」DBサーバーを構築するための技術解説をした書籍を出版します。タイトルはストレートに「Linux-DBシステム構築/運用入門」です。 9月17日発売ですが、ジュンク堂など一部の書店ではすでに入荷しているそうなので、見かけたらぜひ読んでみてください。章構成は以下の通りです。 第1章 論理ボリュームマネージャ(LVM)を活用する 第2章 Heartbeatによるクラスタ環境の構築 第3章 DRBDによるネットワークミラーリング(前編) 第4章 DRBDによるネットワークミラーリング(後編) 第5章 高可用DBサーバーの構築 第6章 現場で使われる高可用構成 第7章 DBサーバーのパフォーマンス概論 第8章 インデックスのチューニング(前編) 第9章 インデックスのチューニング(後編) 第10章 DBサーバーのハードウェア選定 第11章 SSDの効果とアプリケーシ

  • MYSQLで同一サーバ、同一ユーザにて、複数のデータベースを使用したい。…

    MYSQLで同一サーバ、同一ユーザにて、複数のデータベースを使用したい。 複数台のマシンで稼働してたDBを、1台のマシンのDBサーバにまとめたのです。 $con1 = mysql_connect ( $server , $user , $password) ; mysql_select_db( $database1, $con1) ; $con2 = mysql_connect ( $server , $user , $password) ; mysql_select_db( $database2, $con2) ; 素人考えで上記のようにに記述すると、$con1はdatabase1への接続でなく、database2への接続になってしまいます。 どうしてなのでしょうか?また、こういう場合、どう対応してらっしゃいますか?

  • XML DBや半構造データについて思うこと

    This Page has moved to a new address: kunishi’s blog: XML DBや半構造データについて思うこと Sorry for the inconvenience… Redirection provided by Blogger to WordPress Migration Service

    michael-unltd
    michael-unltd 2008/12/27
    歴史的なところの考察も
  • 「はてな流大規模データ処理」を見てきた - もぎゃろぐ

    KOF2008:関西オープンソース2008というイベントに来ています。 はてなの伊藤さんの講演があったので、講演メモを公開。 #ボクがメモした内容であって、100%言ったとおりに書いてあるわけじゃないので、参考としてご覧ください。 (続き) アジェンダ 大規模なデータ OSのキャッシュ MySQLの運用 大規模データアプリケーションの開発 データの例 はてなブックマークのデータ量:五千万件くらいのデータ量 このデータに対して何百万人がアクセスしてくる状況でどういう作りにするか レコード数 1073万エントリー 3134万エントリー 4143万タグ データサイズ エントリー2.5GB 何の工夫もなく普通にアクセスすると...200秒待っても結果が帰ってこない 大規模データの難しいところ 開発サーバで開発者が作っている時は快適に動いていても、多数の人間がアク

  • MySQL メモ (MySQL - MemoWiki v5)

    MySQL メモ 関連: DatabaseManagementSystem ---- リファレンス -MySQL AB :: MySQL Documentation --http://dev.mysql.com/doc/ -MySQL :: MySQL 5.1 リファレンスマニュアル --http://dev.mysql.com/doc/refman/5.1/ja/ -MySQL --http://www.cgis.biz/mysql/mysql.htm ---簡易リファレンス -Amazon.co.jp: MySQL全機能バイブル ~現場で役立つAtoZ~: 鈴木 啓修: --http://www.amazon.co.jp/exec/obidos/ASIN/4774139750/nilabwiki-22/ref=nosim ---- カラム型 -MySQL :: MySQL 5.1

  • asp-edita.jp

    This domain may be for sale!

    michael-unltd
    michael-unltd 2008/09/26
    設計ツール、試したい
  • 窓の杜 - 【REVIEW】「SQLite」のデータベースをGUIで操作できる高機能管理ソフト「PupSQLite」

    「PupSQLite」は、フリーで利用できる軽量データベースエンジン「SQLite」のデータベースをGUIで管理できるソフト。Windows XP/Vistaに対応する寄付歓迎のフリーソフトで、作者のWebサイトからダウンロードできる。なお、動作には.NET Framework 2.0以降が必要。 ソフトには「SQLite」のライブラリ“sqlite3.dll”が同梱されており、環境の構築作業などが必要なくそのまま利用可能。画面はMDI方式になっており、複数のデータベースをそれぞれ同時に子ウィンドウとして開くことができる。各データベース内のテーブルは、データベースのウィンドウ内にタブ切り替え型のグリッドビューとして表示される仕組み。 機能も充実しており、テーブル内データの閲覧・編集はもちろん、SQL文を発行して結果を表形式で閲覧できる機能、テーブル定義文を出力する機能、2つのテーブルを比