<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>SQLに依存することの危険性　ー　単体DBサーバでは終わらない時代の考え方 へのコメント</title>
	<atom:link href="http://www.nonsensecorner.com/wp25/?feed=rss2&#038;p=4075" rel="self" type="application/rss+xml" />
	<link>http://www.nonsensecorner.com/wp25/?p=4075</link>
	<description>Since 1997.6.30. 延々とよしなしごとを書き続けて12年</description>
	<lastBuildDate>Sun, 05 Sep 2010 19:50:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>kamabis より</title>
		<link>http://www.nonsensecorner.com/wp25/?p=4075&#038;cpage=1#comment-2029</link>
		<dc:creator>kamabis</dc:creator>
		<pubDate>Sun, 07 Feb 2010 11:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.nonsensecorner.com/wp25/?p=4075#comment-2029</guid>
		<description>以前、ビジネスロジックをSQL側にすべて持たせるような実装で業務システムを構築したときに得た経験を元に。
なお、なぜそのような実装方針を採ったかという点については下記の項目が理由になります。

- ハンディターミナル(以下HT)、レジ、PCなど複数のクライアントに対してサービスを提供する必要があった

- HTはブリッジ(C#)を介して、レジ(C#+ローカルのオフライン用DB)は直接にRDBMSと接続するという要件があった

- 一方、PHP5で実装されたPC用クライアントはウェブアプリで、これらはほぼ、コードジェネレータで製造した

- 他に帳票やバーコードを印刷するための周辺アプリケーションを作る必要があった

- 必要工数に対して人的リソースが少なく、自分以外に期待できるものがなかった

結果として得た自分なりの結論。

- 残念ながらストアドはやっぱりテスト・デバッグ効率が悪い

- 結局のところ、ストレージエンジンとビジネスロジックとその他アプリケーション(これ自身が2階層)の3+1階層に分離しないと十分なテスト・デバッグを経た製品は難しい

若干の考察を。

- 複数種類のクライアント形態のあるシステムにおいて適切にビジネスロジックを共通化することは重要な課題である

- しかし、十分なテスト・デバッグが必要であるところのビジネスロジックをストアドで実装してしまうとテストのコストが上がり、結果として十分なテストが行えない

- パフォーマンスを求める場合にストアドで実装した方がいいという意見に対して: リアルタイムにヘビートランザクションを走らせないといけないようなアーキテクチャはそもそも破綻しているし、リアルタイムでなくてよいなら、前時代の香りはするけれど、バッチ処理なりを行えばよい。それこそOLAPなどSQLの出番ではない。

と、好きなことを書いてみました。</description>
		<content:encoded><![CDATA[<p>以前、ビジネスロジックをSQL側にすべて持たせるような実装で業務システムを構築したときに得た経験を元に。<br />
なお、なぜそのような実装方針を採ったかという点については下記の項目が理由になります。</p>
<p>- ハンディターミナル(以下HT)、レジ、PCなど複数のクライアントに対してサービスを提供する必要があった</p>
<p>- HTはブリッジ(C#)を介して、レジ(C#+ローカルのオフライン用DB)は直接にRDBMSと接続するという要件があった</p>
<p>- 一方、PHP5で実装されたPC用クライアントはウェブアプリで、これらはほぼ、コードジェネレータで製造した</p>
<p>- 他に帳票やバーコードを印刷するための周辺アプリケーションを作る必要があった</p>
<p>- 必要工数に対して人的リソースが少なく、自分以外に期待できるものがなかった</p>
<p>結果として得た自分なりの結論。</p>
<p>- 残念ながらストアドはやっぱりテスト・デバッグ効率が悪い</p>
<p>- 結局のところ、ストレージエンジンとビジネスロジックとその他アプリケーション(これ自身が2階層)の3+1階層に分離しないと十分なテスト・デバッグを経た製品は難しい</p>
<p>若干の考察を。</p>
<p>- 複数種類のクライアント形態のあるシステムにおいて適切にビジネスロジックを共通化することは重要な課題である</p>
<p>- しかし、十分なテスト・デバッグが必要であるところのビジネスロジックをストアドで実装してしまうとテストのコストが上がり、結果として十分なテストが行えない</p>
<p>- パフォーマンスを求める場合にストアドで実装した方がいいという意見に対して: リアルタイムにヘビートランザクションを走らせないといけないようなアーキテクチャはそもそも破綻しているし、リアルタイムでなくてよいなら、前時代の香りはするけれど、バッチ処理なりを行えばよい。それこそOLAPなどSQLの出番ではない。</p>
<p>と、好きなことを書いてみました。</p>
]]></content:encoded>
	</item>
	<item>
		<title>L.star より</title>
		<link>http://www.nonsensecorner.com/wp25/?p=4075&#038;cpage=1#comment-1925</link>
		<dc:creator>L.star</dc:creator>
		<pubDate>Mon, 14 Dec 2009 10:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.nonsensecorner.com/wp25/?p=4075#comment-1925</guid>
		<description>(だーちーさめ)
&lt;blockquote&gt;言ってることは納得いかんけど気持ちはわからなくはないのよね＞元記事
要するに、みんなもっとSQLをリスペクトしようぜ！ってことだけなんだろう。&lt;/blockquote&gt;
まあ言いたいことはわかります。ただ、それは「SQL」というくくりよりもさらに狭いお話なんですよね。
彼の想定するようなケースなら、もっとSQLを使ったほうがいい、それも否定しない。

まあ、SQLがもっとリスペクトに値するような言語だったら何の問題も無いわけです（ひど</description>
		<content:encoded><![CDATA[<p>(だーちーさめ)</p>
<blockquote><p>言ってることは納得いかんけど気持ちはわからなくはないのよね＞元記事<br />
要するに、みんなもっとSQLをリスペクトしようぜ！ってことだけなんだろう。</p></blockquote>
<p>まあ言いたいことはわかります。ただ、それは「SQL」というくくりよりもさらに狭いお話なんですよね。<br />
彼の想定するようなケースなら、もっとSQLを使ったほうがいい、それも否定しない。</p>
<p>まあ、SQLがもっとリスペクトに値するような言語だったら何の問題も無いわけです（ひど</p>
]]></content:encoded>
	</item>
	<item>
		<title>だーちーはりー より</title>
		<link>http://www.nonsensecorner.com/wp25/?p=4075&#038;cpage=1#comment-1923</link>
		<dc:creator>だーちーはりー</dc:creator>
		<pubDate>Sun, 13 Dec 2009 08:10:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.nonsensecorner.com/wp25/?p=4075#comment-1923</guid>
		<description>言ってることは納得いかんけど気持ちはわからなくはないのよね＞元記事
要するに、みんなもっとSQLをリスペクトしようぜ！ってことだけなんだろう。

オイラが唯一元記事側の立場で言い切れることは、これだけだな
「モジュールのリビルドなしでイロイロとSQLだけ修正して動かせるならその方がいい
ソフトなんて作れば作っただけバグが増えて、修正した分だけ被害が広がるからね」</description>
		<content:encoded><![CDATA[<p>言ってることは納得いかんけど気持ちはわからなくはないのよね＞元記事<br />
要するに、みんなもっとSQLをリスペクトしようぜ！ってことだけなんだろう。</p>
<p>オイラが唯一元記事側の立場で言い切れることは、これだけだな<br />
「モジュールのリビルドなしでイロイロとSQLだけ修正して動かせるならその方がいい<br />
ソフトなんて作れば作っただけバグが増えて、修正した分だけ被害が広がるからね」</p>
]]></content:encoded>
	</item>
</channel>
</rss>
