6. Step1 エンティティの抽出 発送担当者が受注リストをもとに、商品の在庫を確認し、在庫が あれば商品を発送する。 ① 要求仕様の「動詞」を抜き出しエンティティとする。 ② ①に関わる「名詞」を抜き出しエンティティとする。 ③ エンティティ間の関連に線を引く ④ 属性や候補キーも分かる範囲で書いておきます。 間違い! この段階で実装をプロパティファイルにするとか、Enum にするとか決め打ちでエンティティとして表さないのはや めましょう。 まず、はじめにエンティティを抽出します。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 近年、自分の中で集計/可視化は Fluentd(datacounter)+Growthforecast で定番化していました。 しかしプロダクトで新たに集計/可視化の要件が出てきたことと、 最近可視化ツール周りで 「Kibanaってなんじゃ?」「Graphiteってなんじゃ?」「InfluxDBってなんじゃ?」 など、このツール達は一体何なんだろう…?というのが前々から気になっていました。 今回良い機会なので ◯◯は何をするものなのか? というのを一つ一つ調べてみました。 いわゆる「触ってみた系」の記事なので だいぶ浅い感じです。 大分
Perl › モジュール › here MySQLのデータベースの差分から、差分をなくすようなコマンドを自動生成するツールを探していたら、MySQL::Diffというモジュールを発見した。このモジュールにはmysqldiffというコマンドラインツールがついているので、通常はこちらを使うのが良いみたい。 開発環境と本番環境の差分を埋めるのにとても役立つ。すべての差分を表示してくれるわけではなく、テーブル定義に関する部分だけのようなので、トリガやインデックスについては、自分で設定する必要があるようです。 ドキュメントにはオプションの説明がないようなので、--helpコマンドで確認できる。 mysqldiff --help まずデータベースのテーブル定義をmysqldumpで取得しましょう。今は開発環境にいて開発環境のデータベースサーバーに変更を加えていると仮定します。 mysqldump -d
23. 例えばこんなコード 2011∼ # この中はトランザクション内という仮定 try: # プレイヤーの体⼒力力を消費 player.consume_̲vitality() # プレイヤーの経験値アップ player.add_̲experience() except: # エラー起きたらDBをロールバック transaction.rollback() else: # 問題なければDB更更新。経験値が増える。 transaction.commit() 体力→KVS 経験値→DB ※実際のコードとは異なります 24. 例えばこんなコード 2011∼ # この中はトランザクション内という仮定 try: # プレイヤーの体⼒力力を消費 player.consume_̲vitality() # プレイヤーの経験値アップ player.add_̲experience() excep
このエントリーはMySQL Casual Advent Calendar 2013 10日目の記事です。カジュアル! このへんでそろっとカジュアル詐欺と言われるのを防止するために、カジュアルな話を書いてみました。 MySQL5.6も正式リリースされてもうすぐ1年経ち、5.7の足音も聞こえてきている今日このごろですが皆様のMySQLのご機嫌はいかがでしょうか。 新機能や性能向上/bugfixに対応するためにMySQLのバージョンアップを行う機会や性能や不具合調査を行うことも多いかと思います。データベースのバージョンアップは特にメジャーバージョンアップの場合、パラメータのデフォルト値などの変更や仕様変更の影響(オプティマイザの変更)をアプリケーションが受けないか、性能の変化などを検証すると思います。 検証 実際に検証を行う場合、本番環境で流れているクエリをバージョンアップ先のDBに実際に流して
ツイート今日は、第 1 回のSQL アンチパターンの回から良コンテンツを提供しまくりなエンバカデロ・テクノロジーズさん主催の第 3 回 DB エンジニアのための勉強会に参加してきました。 今回は 漢(オトコ)のコンピュータ道で有名な漢の中の漢、 @nippondanji 氏がデータベース設計を徹底指南してくれるということで、元々 DB エンジニアがバックグランドのわたしとしてはいかないわけにはいかんだろう、と喜び勇んでいってきました! 内容はというと下記の概要をカバーする内容でした。 リレーショナルデータベース(以下RDB)は登場してからかなりの時間が経っています。その名が示すように、RDBはリレーショナルモデルをベースに考案されたソフトウェアです。しかしながら、未だに現場ではRDBが使いこなされているとは言いがたく、リレーショナルモデルへの理解も進まず、誤った常識が跋扈しているのが現状で
毎度おなじみ、はてブのホットエントリに「SIをダメにする負のスパイラル」というタイトルのまとめが掲載された。きしだ氏とはかなり視点は違うものの、開発現場の問題点については少し思うところがあるので意見を書いてみようと思う。と言っても、以下の話の内容はデータベースアプリケーションに限定した話であり、またSIerだけに限った話ではないのでその点はご容赦頂きたい。もちろんSIer各位の案件はデータベースは必須なので、本エントリで触れる問題点には該当するだろう。 Q.なぜ炎上するのか? A.正しいデータベース設計ができていないから結論から言おう。データベースアプリケーションの開発が炎上するのは正しいデータベース設計ができていないからだ。ここでいう「正しい」とは、論理的に証明できる正しさという意味ではない。「本来こうするべき」といった意味で捉えて欲しい。 「炎上」というのは、例えばテストが通らない、バ
最終回はAWS上でRDB(リレーショナルデータベース)をフルマネージドサービスとして提供しているRDS(Relational Database Service)のつまずきポイントについて解説する。RDSとはMySQLをはじめ、MS SQL ServerやOracle DatabaseなどのRDBを、OSやRDBをインストールすることなくすぐに利用できるサービスである。 必要なパラメーターをRDS起動時に設定し、起動したRDSは各RDBクライアントから接続して利用する。また、フルマネージドサービスなのでOSやRDBのパッチングについてはユーザーが意識する必要がない。オプションも豊富で、複数のアベイラビリティーゾーンでActive-Standby構成を実現する「Multi-AZ」機能や、参照用RDSを作成する「Read Replica」機能も簡単に設定できる。 このように便利なサービスなのだが
MySQLコミュニティマネージャのMorgan Tocker氏による、テーブルサイズが大きくなるにつれてINSERTのパフォーマンスが落ちてきてしまうことを防ぐ様々な方法についてのまとめ。 今日は、パフォーマンス問題を引き起こす原因になる、サイズの大きいテーブルのパフォーマンスを改善することについて書いてみようと思う。このアドバイスのうちのいくつかは、たくさんのテーブルをまとめて大きくなっているデータベースにも適用できるが、大抵の場合、独立した大きなテーブルというのは特に問題になりやすいものだ。 一般的に知られていると思われるのは、テーブルを変更する時のスピードは、そのサイズが大きくなるにつれて遅くなることだ。以下の図は、一般的なB+ツリーインデックスのパフォーマンスを時系列で見たものだ。 このグラフは、MySQL@Facebookの記事から拝借したものだ。これは、insert buffe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く