2010年6月10日木曜日

技術者から見た都市伝説

@ITにて書かせてもらっているエンジニアライフのコラム。6/10にて公開された同タイトルのコラムの原文です。比較してもらえると、どのような点に注意しどのような方向性に持っていけばよいか、編集の方々と色々考えたというのが見えるかと思います。

Oracle社が恐らくは2007年8月頃から始めている都市伝説キャンペーンというのがあります。「間違った認識や古い認識を改めたい」という思いで始められたと思われるこのキャンペーンですが、ある時期を境に対抗商品に対するネガティブキャンペーン的な内容が増えてきているようにも思えます。

最近シーズン3という形で新しい連載が始まっていますが、その内容については残念ながら好ましいとは言えない記載が見受けられる、悪く言えばゴシップ誌的なものへと強化されている様子です。

私は業務としてOracleもSQL Server も利用していますので、ある程度双方のメリットデメリットも、レベルは低いにしても理解しているつもりです。そのようなポジションである私が見ても、明らかに誤っている記述が見受けられたり、意図的にイメージ操作を行っている箇所が見受けられたのは、非常に残念でなりません。

最も残念なのは、この都市伝説シリーズで扱われている内容、その殆どがデータベース製品の性能に関わる部分ではなく、それを設計しているシステムエンジニアやソフトウェア企業のレベルが原因だと思える点です。穿った見方かも知れませんが、更新処理でテーブルレベルのロックが長時間にわたり行われているような事は、どう考えてもデータベース製品が原因ではなくそれを利用しているシステム側の問題です。簡潔に言えば「レベルの低いエンジニアや企業が作成したシステム」であるから発生している現象です。このような企業が作成したのであれば、Oracleを利用したところで同じ現象がほぼ間違いなく発生してしまうでしょう。
更に穿った見方をすれば、「あの」データベース製品を利用するシステム会社にはその程度のエンジニアしかいない、という見方にすら成り得ます。さすがにそこまでの意識はないと信じたい所ですが。

 

個人的に比較広告的手法を用いたセールス・マーケティングを否定するつもりはありません。ですが、そうであるならば「正しいデータ」に基づいた「正しい情報」を記載した上で行ってほしいと思います。誤った情報を基にしたコマーシャルというのは、開発者としてもユーザーとしても何の利益もありません。

 

「PowerPivotではダーティリードを利用できない」は素人が見てもわかる程の誤りです。またOracleでのUNDOセグメント、SQL ServerでのREAD_COMMITED_SNAPSHOTオプション利用時のtempdbは似ている挙動だ、という事をご存じの方も多いでしょう。公のデータとしてREAD_COMMITED_SNAPSHOTオプション利用時のレスポンスについては見あたりませんでしたが、このあたりも適切にハードウェア構成を設計されているのであれば「使えない」レベルではないと思われます。
またロックがかかりすぎている事が問題としていたとしても、適切な記載がされているとは思えません。SQL Server にて多く叫ばれている「ロックエスカレーション」が原因だとしても、2005以降では結構調整することが可能になり、その方法もMSDN等で公開されています。

 

コストパフォーマンスについてTPC-Cベンチマークの結果を用いている点はイメージ操作と思える内容です。TPC-Cベンチマークは極大構成における処理性能を測る為のベンチーマークですので、この結果だけを用いて「Oracleが早い」と言い切ることはできないのは、技術者であれば当然の事かと思います。
むしろ普段関わるような規模であればTPC-Cベンチマークの結果等とは無縁でしょう。レスポンスがあがらない原因の大半は、テーブル設計やハードウェア構成、またはアプリケーションからのSQLが原因だというのも、殆どの方はご存じだと思います。同じ設計でデータベース製品を変更したらレスポンスが向上した、等という話は殆ど聞かないのではないでしょうか。

 

少々不思議に思えるのはOracleにて勤められている方々は、この都市伝説シリーズを見てどのように感じられているのでしょう。このコーナーは間もなく3年を迎えようとしている事を考えると、何かしら意見を抱えている方の数は少ないのでしょうか。それとも社内で声をあげても届かないような状況なのでしょうか。

実際に掲載された内容と比較すると、原文ではかなりOracleに対する攻撃的な箇所が見えていると思います。一番考えたのはこの部分でして、できるだけ直接的な攻撃を行うのではなく、こういった噂話が多いけど惑わされるなよ!、という方向で書くことが有益なのではないか、というのが編集者さんと私との間で決めた方向性でした。
実際には私も「その通りだ」という認識でして、変に攻撃するよりも騙されないようにという周知の方が、私も含めた技術者にとって一番有益なのだろうと思います。

2010年6月7日月曜日

Lzh形式を企業・団体では利用しないように…

UNLHA32.dllの作者であるmicco氏が発表している内容

非常にわかりやすく問題点を記述してあるので是非一度目を通しておいてほしい。

ただ。

結構企業や団体、というか業界内部にlzh形式の圧縮は入り込んでしまっているので、そう簡単に切り替えるのは無理だろうな。自分が関わっている流通系では、当然のようにlzh形式でのEDIデータ送受信が行われているし。

これがJX手順に切り替われば・・・lzhから卒業できるんだけどねぇ。
使われるようになるのは早くても、JCAプロトコル撤廃に向けて動き出す再来年くらいからかな。

2010年6月2日水曜日

第47回 CLR/H 勉強会(2010/04/17)にて発表した LT 資料

アップしようと思ってすっかり忘れていたのでアップw

SkyDriveにアップしてあります。

自分の基本姿勢は「金はない」「でもやりたい」だ!

BPOS で携帯 ( ≠ Windows Mobile )

色々あってBPOSパートナー企業登録しようと思ったので調べていると、携帯( iMode とか ezWeb とか)からアクセスというのでちょっとわからなくなったのでメモ。

  1. Exchange Online では基本 Outlook や Windows Mobile 携帯が対象
  2. 一般的な携帯ではフルブラウザを利用して参照?(未確認)
  3. ビービーシステムさんがソリューションを提供している

一般的な携帯からアクセスできる事は恐らくBPOSをユーザーに話すにあたって、確実に出てくる話題なのでちょっと押さえておきたかったのだけど、残念ながらスクリーンショットなどの類はなし。ただ、Exchange Online 自体が通常のブラウザアクセスに対応(Outlook Web Access → Outlook Web App に名称変更)しているので、これを利用するか外部ソリューションを利用するかという流れになる。

Outlook Web Access 自体はアクセス用のアドレスが公開されているのでそこにアクセスする形なのかな?

2010年5月31日月曜日

Club Microsoft 「90 分でわかる Office 2010 無料セミナー」

5/30 に Club Microsoft 主催の Office 2010 セミナーに参加してきました。単純に Office 2010 の話題だけであれば、今までにも技術系、営業系併せて複数参加してきているのですが、今回は冴子先生を見たかったのと「Club Microsoft」が主催というコンシューマ向けなイベントになるという思いから、今までと違う刺激を求めての参加です。
全体的な流れはこのような感じで行われました。Club Microsoft はまもなく100万人の登録になるだとか。ユーザー数はもっと潜在的にいるはずですが、やはり登録するとなると一部ユーザーにしかまだ声は届いていない模様。

まずは製品の説明を飯島さんから。このあたりは何度か聞いている内容ですが、やはりコンシューマ向けを意識してかなりポイントを絞った説明となっていました。開発者にはおなじみの「3スクリーン」とかの言葉は一切使わないあたり、ターゲットをしっかり考えてますねぇ。
冴子先生のデモ。何度もこなしてきたのもありなかなかスムーズに。前振りで地元ネタを盛り込んでみるあたり、かなりこなれてましたw スープカレーをお気に召した様子です。声が特徴あって記憶に残る感じでしたね。
IME 開発チームの佐藤さん。IME 2007 で問題を起こしてしまった経緯や、それをふまえての今後の方針など。「ラボよりもユーザーの声」は同じ開発者として非常に納得がいきます。かなり多くのユーザーからヒアリングを行った等、今回にどれくらい力を注いでいるかを説明していました。
Microsoft Answers の説明を原水さんから。「まずは検索!」と言うあたり、やはりどこでも質問に対する回答は苦労しているのがよくわかりますw 問題解決レベルをあげていこう、という姿勢に非常に共感。

最後に写真を撮らせていただいた冴子先生。このポーズ、写真を撮られる事に慣れてますねw 撮影のウデがもう少し私にあれば、もっと綺麗に撮れたのでしょうが・・・。

全体的に軽めの雰囲気を持たせつつ、できるだけ興味を持ってもらおうと考えられている面白いセミナーでした。Excel と Power Point を軸にするあたり、やはりインパクトを残す形で考えられてました。

また今回 Blog や後々某所でコラム化させる予定ですが、それについて快く許可を頂けた事に大変感謝しています。Microsoft の皆さん、冴子先生お疲れさまでした!

2010年5月19日水曜日

PowerPivot for Excel 2010 では直接SQLを指定しないほうがいい

最近はPowerPivotがお気に入りなので、色々試している最中に見つかったのでメモ。

最初にデータのインポート元を指定する際、「テーブルやビュー」「SQLで指定」と二通りの方法があるんだけど、ここでSQLを直接指定した場合、データソース上から全件はデータがインポートされずに部分的にインポートされてしまうみたい(1万件のうち500件とか)

この場合の対応は、同一内容でデータベース上にビューを構築すればOK。そうすれば問題なく全件取得可能。

ユーザーに利用してもらう場合、できるだけ要望に見合うビューを用意できるかってとこになるんだろうな。

2010年5月17日月曜日

SQLDO 第一回勉強会


5/15に北海道では初となるSQLServer専門コミュニティ、SQLDOの第一回勉強会があったので参加してきました。一応仕事でSQLServer扱っていつ身なので、どういった話が出てくるのかwktkして行って来ました。

今回は第一回というのもあって、できるだけ深入りしないように入り口をなぞる感じのセッションだったなぁ。tenkiさんのセッションは、初めてSQLServeに関わる人に向けて丁度いい感じで進めることが出来ていたように思えるし。
対して安納さんのセッションは・・・色々な意味で面白かった。

PowerPivotまわりとSSISが主題になった内容だったんだけど、関連してSharePointのPowerPivotギャラリーが出てきたり(残念ながらFoundationではできないそうで・・・)なかなかお目にかかれないものが見れたのと。

「Excelすげぇなぁ」

発言が全てだw 
もうその発言を聞いた瞬間、「安納さん、ちょwww」という気分になったねぇ。

次回の日程はまだ決まっていないけど、できるだけ参加したいな。
それも可能であればスピーカーとしてw

2010年5月10日月曜日

Visual Studio 2010 ラウンチツアー in 札幌


今日は VS2010 のラウンチツアー in 札幌。
一日使って幅広く話題を扱った面白いイベントでした。
午前中は長沢さん(@tomohn)のTFSまで含めたVSによる開発全体の話題。
午後は、Windowsクライアント開発(井戸さん)・Web開発(井上 章さん @chack411)・サーバーサイド開発(井上 大輔さん @daisukei777)と、モバイルを除いてほぼすべての領域を扱ったんだよねぇ。幅広いわぁ。
幅広いだけあって内容も自分にはいい刺激になりました。
TFSは・・・まぁ資金があれば欲しいのはいつもとおりでw
Win7クライアントはXAMLベースの実例がありがたかったし、ASP.NET関係もMVCのメリットが良く分かる内容だったし、サーバーサイドではWCF関係の柔軟さというか、便利さが良く伝わってきたなぁ。
こういうイベントは何度でも出たいもんだねぇ。

2010年5月8日土曜日

コードからデザイナ追加と、ツールボックスにアクティビティを追加(WF4)

WF3.x と比較すると格段にデザイナ・リホスティングが使いやすくなっているんだよね。以前であればツールボックスにアクティビティを追加しようとした場合、ツールボックス自体のコーディングもある程度行っていなければ、非常に大変だったので。

デザイナについては、今回このような感じで追加可能。

Dim wd As New WorkflowDesigner

wd.Load(New Sequence)

Grid.SetColumn(wd.View, 0)
Grid1.Children.Add(wd.View)

実際には WPF の Grid に配置する部分が半分あるので、2行で済んでしまっている。これは WF3.x を触った人にとっては物凄く朗報だと思われ。

で実際にツールボックスにアクティビティを追加するのはこんな感じ。

Dim ctrl As New ToolboxControl

Dim category1 As New ToolboxCategory("ワークフロー")

category1.Add(New ToolboxItemWrapper(GetType(Sequence), "Sequence"))

ctrl.Categories.Add(category1)

ツールボックス上でカテゴリを扱う ToolboxCategory クラスを生成し、その中に ToolboxItemWrapper クラスを利用してアクティビティを追加する。たったこれだけで済んでしまうんだよねぇ。

物凄く楽になったもんだ・・・。

2010年5月2日日曜日

Express Edition で WF4

WF3ではコードによるデザイナの利用についてサンプルが提供されていたんだけど、今回WF4になってどうなったか調べてみた。

・・・今回も同じように提供されていました。
コードはC#のみですが、コーディング量がWF3と比較して3分の1程度にまで減少しているので、更に簡単に実験してみることが可能です。

これでExpress環境で試すことができるので、これからしばらくそっち方面を色々と調査・・・