SQL Anywhere

???????? : ???????????????????? (SQL Anywhere)

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。 この記事のオリジナルは、Glenn Paulleyが sybase.com に 2008 年 12月に掲載したものです。パフォーマンスベンチマークのテーマは決してすたれることはありません。   10年以上にもわたって、我々 iAnywhere 社では、スキーマとクエリの複雑性はデータベースインスタンスのサイズや、ハードウェアプラットフォームの性格とは全く相関関係がないという議論をかわしてきました。 我々の経験では、アプリケーションまたはスキーマの複雑性、そしてデータベースのサイズまたは配備プラットフォームの間には、相関関係とはほとんどありません。 アプリケーション開発者は、フロントラインの業務向けに既存のアプリケーションを移行する際、ターゲットがリソースが限られたハンドヘルドデバイスのようなプラットフォームであるにも関わらず、シンプルに設計するどころか複雑にしてしまう傾向があります。 このようなデバイスへの移行では、入力モードが異なるという理由で、ユーザーインターフェースの再構築にとどまるってしまうのが通常です。 今週あった3件のお客様とのやりとりの中で、私のこの見方はさらに確固たるものになりました。 あるお客様のスキーマは、121 のテーブルで構成されており — 2003 のインスタンスに対して20 増加 — 宣言された RI (ON DELETE CASCADEを含む)、CLOB属性、そして自己参照型”star” join を含むビュー がありました。ある 1 つの事実 — SQL Anywhere が Intermec 社の数千もの Windows Mobile ハンドヘルドデバイス上で稼働していること — を除けば、特別なことはありません。 別のお客様では、existential (EXISTS) と universal (NOT EXISTS) 定量化の両方を利用する 3つのレベルのネストされた SQL クエリに関しての支援リクエストでした。このクエリは、Ultra Light データベースに対して実行されるもので、これもまた、Windows Mobile デバイスでした。 そして、もう 1 社のお客様は、8-wayの UNION クエリに関しての支援リクエストで、そのステートメント文内の各クエリ仕様は、3-way の join と universal に定量化されたサブクエリの両方を含むものでした。これもまた、1つの重要なことを除けば、それほど特殊なものではありません — このクエリは、Blackberry …

Read More »

PowerBuilder ????? Oracle DB ????????? SQL Anywhere ????

SQL Anywhere は様々な開発ツール、言語に対応していますが、SQL Anywhere と PowerBuilder の関係は長く、特に海外では多くのお客様が PowerBuilder で開発するアプリケーションに SQL Anywhere を利用されています。   両製品の関係は、1993年にPowerBuilder 3 に SQL Anywhere の前身である Watcom SQL 3 がバンドルされたことに始まります。   その後、これをきっかけに、PowerBuilder の開発元である PowerSoft 社に Watcom 社が買収され、PowerSoft 社が Sybase 社に買収され、Sybase 社が SAP に買収され現在に至ります。   Oracle データベースのランニングコストを削減したいとお考えであれば、現在 TPC-C ベンチマークの価格性能比 No.1 の SQL Anywhere への移行を検討されてはいかがでしょうか。   PowerBuilder ユーザーのための SQL Anywhere テクニカル概要およびデータベース移行方法については、こちらの資料をご参照ください。       【参考】SQL Anywhere の歴史   年 内容 1965年 ウォータールー大学で最初にIBM 7040 用のWATFOR FORTRAN コンパイラを開発 1981年 Watcom の設立 …

Read More »

?? DB ??????????? Sybase DB ?????????????????????SAP Exodus?

SAP では、Oracle や DB2、SQL Server 用に開発されたデータベースアプリケーションを ASE、IQ、SQL Anywhere 用アプリケーションへ変換するためのアシストツールとして、「Exodus」というツールを用意しています。   SAP Business Suite などの SAP Application は、SAP Rapid Deployment Services を使用することで移行可能なため、これは、C や Java、.NET 等で開発されたカスタムアプリケーションの変換を対象としています。   また、商品として販売しているものではなく、マイグレーションを支援するツールとして SAP パートナー様に限定して無償で提供しているものです。     他社製 DB 用のアプリケーションを Sybase の DB 用のアプリケーションにするには、以下の図のようなことが必要になります。   特に赤枠部分のハードルを下げる支援をするために用意されたのが SAP Exodusです(100%完全変換はできませんが、Oracle/DB2からの変換精度はおよそ80%~90%、SQL Serverからはおよそ90~95%です)。   また、移行元 DBMS に接続し、コスト見積もり機能を使用することで、移行対象のオブジェクト数、Exodus で変換可能なオブジェクト数、変換できないオブジェクト数等を見積もり、移行にかかるコストの超概算見積もりが可能です。   SAP Partner ID#があれば、規定の Webcast 受講後、追加契約を締結することで利用が可能になります。 SAP Exodus の利用を希望される方は、こちらへご連絡ください。   SAP Exodus の概要についてはこちらをご参照ください。   また、こちらのExodus担当者によるブログもご参照ください(英語です)。   http://scn.sap.com/community/database/blog/2014/07/08/set-your-databases-free–with-exodus ===   SAP SQL Anywhere に関する詳細情報は、SAP …

Read More »

?????????? : SQL Anywhere ???? SELECT????UPDATE???? (?)

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。       この記事のオリジナルは、Glenn Paulley が sybase.com に 2010 年 1 月に掲載したものです。その中で、Glenn は SQL Anywhere の version 12 で追加された機能である、様々なDML クエリに対する SELECT 文の使用について継続して解説しています。       以前掲載した ブログ記事において、SQL Anywhere 12 サーバーから実装された新しい SQL 言語の機能である dml-derived-table からの行の SELECT 方法例を紹介しました。   今回は、アプリケーションをシンプルにする -derived-tables のその他の方法について簡単に紹介したいと思います。   まず最初に、このブログのタイトルは「SELECT 文内での UPDATE 文の使用」ですが、dml-derived-tables は、派生テーブルであるため、もちろん、DML 文 (INSERT, MERGE, DELETE, UPDATE) を含む派生テーブルを使用するようなあらゆるコンテキストに使用することができます。   その結果として、他の中の  1つの UPDATE 文を効果的に「入れ子」にすることができます。   以下は、UPDATE との組み合わせで MERGE を使用している例です。   CREATE TABLE modified_employees ( EmployeeID INTEGER …

Read More »

?????????? : SQL Anywhere ???? SELECT ???? UPDATE ????

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。       この記事のオリジナルは、Glenn Paulley が sybase.com に 2009 年 5 月に掲載したものです。その中で、Glenn は SQL Anywhere version 12 で追加された機能である 様々な DML クエリーにおける SELECT文 の使用について解説しています。   これは非常に便利で、軽く使える機能なため、繰り返し使用する価値があります。 例えば、insert 文の一部として新たに挿入された行のプライマリーキーを簡単に返すことができます。     例: SELECT pkey_col FROM (INSERT INTO mytable(col2) VALUES( ‘hello’)) REFERENCING (FINAL as t_final) order by 1     2009 年 5 月のブログ記事で、クエリーの FROM 句内のテーブル表現として update DML 文を使用できる IBM DB2 製品の SQL 言語機能について賞賛しましたが、DB2 の構文を以下の簡単な例で説明します。   SELECT T_updated.* FROM NEW TABLE ( …

Read More »

WHERE???????????????????????????? – SQL Anywhere

目的 このページの目的は、SQL Anywhere でジョイン条件に対して WHERE 句を使用した際の動作を説明します。     概要 SQL Anywhereのクエリでジョイン条件を指定する場合、基本的には、ON句、WHERE句のどちらを使用することも可能です。 ただし、外部ジョインを含むクエリでWHERE句によりNULL入力テーブル(外部ジョインされるテーブル)側のローを制限しようとした場合、クエリオプティマイザーは、その外部ジョインを内部ジョインとして扱う場合があります。 これにより、クエリの実行者が期待したような結果を得られない可能性がありますので注意が必要です。     具体的な現象の例 例として次のようなテーブル TableA と TableB の外部ジョインで説明します。   TableA Col1 Col2 1 A 2 B 3 C 4 D 5 E   TableB Col1 Col2 1 10 3 30 5 50   上記テーブルを作成するSQL文の例 CREATE TABLE TableA(Col1 integer,Col2 char(2), PRIMARY KEY ( “Col1”)); INSERT INTO TableA VALUES(1,’A’); INSERT INTO TableA VALUES(2,’B’); INSERT INTO TableA VALUES(3,’C’); INSERT INTO TableA …

Read More »

?????????? : SQL Anywhere ??????????????????????????????

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。       この記事のオリジナルは、Glenn Paulley が sybase.com に 2009 年 4 月に掲載したものです。その中で、Glenn は SQL Anywhere において我々がマテリアライズドビューと呼んでいる機能に関するベンダー間の名称の違いについて解説しています。 (*注:この記事は2009年に執筆されたもので、他DBMSに関しては、現在は異なる可能性があることに注意してください。)   また、SAP HANA アーキテクチャーにおいては、マテリアライズドビューは必要ないということを述べておきたいと思います。なぜならば、HANA の場合は全てのデータはメインメモリー上で利用可能で、オンザフライで処理/集約可能だからです。   ===   商談中のお客様より、かなりの頻度で SQL Anywhere がマテリアライズドビューの機能をサポートしているかどうか (多くは同じ「マテリアライズドビュー」の他の名前で)尋ねられます。   そこで、代表的な商用 RDBMS 製品の「マテリアライズドビュー」に相当する名称を以下にまとめてみました。   DBMS 名称 When How Who MS SQL Server インデックス付ビュー 即時反映 差分更新 システム IBM DB2 マテリアライズド照会表 即時 と 遅延 差分更新 または 再構築 システム または ユーザー Oracle マテリアライズドビュー 遅延反映(*注:現在は即時反映も可能) 差分更新 または 再構築 システム または ユーザー SQL Anywhere マテリアライズドビュー 即時 と 遅延 差分更新 または 再構築 システム または ユーザー   …

Read More »

?????????? : SQL Anywhere ? MERGE ??????

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。       この記事のオリジナルは、Glenn Paulley が sybase.com に 2009 年 4 月に掲載したものです。その中で、Glenn は SQL Anywhere における MERGE 文について解説しています。MERGE 文に関する最新の情報はこちらを参照ください。         MERGE 文は、SQL:2003 ANSI/ISO の F312 の機能として登場しました。MERGE は、行のセットを挿入する必要があり、かつ、クリーニングまたは他の ETL (Extract-Transform-Load) プロセスが必要な時に便利です。MERGE を使用すると、1 つの文で新規データ挿入と既存の行の更新をセットで対応できる洗練されたロジックを実装することができます。 このブログ記事では、MERGE 文の機能について簡単に概要を説明するとともに、SQL:2003 と SQL:2008 間でどのような変更があったのか、さらに SQL Anywhere でサポートされている拡張機能について説明します。 ここでは、私の同僚である Anil Goel が 2008 年 8月にラスベガスで開催された Sybase Techwave においてプレゼンした MERGE 文とマテリアライズドビューに関する資料を借りて説明したいと思います。   例   テーブルに行を挿入する処理を行う場合、「INSERT-else-UPDATE」処理を実行する必要がある場合があります。これこそが、MERGE 文を使用する理由です。さらには以下のようなメリットがあります。   INSERT の代替アクションを設定することができます。例えば • 特定の行において条件次第で INSERT をスキップ、または UPDATE を行う …

Read More »

?????????? : ???????????

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。       この記事のオリジナルは、Glenn Paulley が sybase.com に 2009 年 10 月に掲載したものです。その中で、Glenn は 一般的なハードドライブの信頼性について語っています。2014年初に発表されたars technicaの記事によると、このブログが書かれた頃と比較して破損率に大きな変化はありません。もちろん、重要なデータであれば、ディスクの障害からデータを守るために、定期的なバックアップをとること、またリカバリーシナリオをテストすることが非常に重要です。     絶大なスケールのコンピューティング ランドスケーブが、コンピュータサイエンスの領域に貢献したものの一つとして、これらのシステムを統計的に研究することができるようになったということがあります。特に様々なハードウェアやソフトウェアの信頼性を証明または反証することが可能になりました。   ディスクドライブに関して言うと、ディスクドライブの信頼性に関するいくつかの大規模な研究 [2,3,4,7] がここ数年の間に発表されています。 特に、Google [4] が行った研究では、ドライブの使用が 3 年を経過すると、障害率が急速に増加 – 6 %から 10%間 – することを示しています。この 3 年という期間は、多くのディスクドライブメーカーが、3 年の保証期間を設けているのと同じ期間であり、たいへん興味深い点です。 また、彼らの研究では、ドライバの最新モデルでは、熱とドライブ障害の間の相関は低いことが示されています。これは、データセンター内でエアコンの使用を控える方向にある中  James Hamilton 氏が最近執筆したと同様です。 最近、FAST 2009 において Amazon の Alyssa Henry 氏 [6] がその基調講演で語った内容によると、Amazon Simple Storage (EC3) データサービスでは、ボード全体で年間 3 – 5 % のハードディスク障害がみられるそうです。しかしながら、Google の調査結果を考えると、Amazon の障害経験は、全てのディスクドライブメーカーに統一的にあてはまるものではないでしょう。 Iliadis氏と Hu氏 [3] は、低コストの磁気メディアへのトレンドが、結果として高い障害率につながっていると考えています。[7] Remzi Arpaci-Dusseauand 氏とウィスコンシン大学マディソン校の彼のチームでもこのようなまとめに至っています。とはいえ、少なくとも、ある程度払った分だけは得ることができるでしょう。 …

Read More »

?????????? : ????????????????????????????

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。       この記事のオリジナルは、Glenn Paulley が sybase.com に 2009 年 3 月に掲載したものです。その中で、Glenn はシンプルなベンチマークや測定バイアスへのフォーカスの危険性について語っています。       私は、ここ数週間、SQL Anywhere が関わるもの、関わらないものにかかわらず、公開されている複数のパフォーマンス分析を見てきました。 概して、これらの「ベンチマーク」は、非常にシンプルでした。シンプルなベンチマークは、複雑なものと比較して開発の努力は少なくてすむため、これは想像の範囲でしたが。   私が頻繁に目にするパフォーマンス分析に、例えばシンプルに 1 つのテーブルに行をできるだけ高速に挿入できるかというようなものがあります。「Knowing that value is a Good Thing (TM)」(その価値を知ることは良いことです) – そして、私たちのラボでもこれの(その他も)価値を判断するために特定のテストをします。しかしながら、データベースアプリケーションのパフォーマンス分析には、以下の 2 点を指摘したいと思います。   ほとんどの場合、このようなシンプルなテストはアプリケーションの動作をうまく表していないため、あまり意味がありません。また シンプルなオペレーションのきめの細かいテストは、幅広いパフォーマンス要素に依存する可能性があり、効率性のわずかな差であってもテスト結果を大幅にゆがめてしまう可能性があります。   2 つ目について、Raj Jain 氏のパフォーマンス分析の書籍 [1] 「Common Mistakes and How to Avoid Them」(よくある間違いとその間違いを避ける方法) の第 2 章から以下を引用したいと思います。 パフォーマンスに影響を及ぼす様々なシステムやワークロードパラメーターのランダム性を理解することはとても重要です。これらのパラメーターの中には、他よりは理解されているものもあります。例えば、アナリストは、コンピューターシステムにおけるページ参照の分散について知っているかもしれません。このような場合によくある間違いが、ディスクがボトルネックにある可能性があり、ページ参照よりもパフォーマンスへの影響があるかもしれないにもかかわらず、ページ参照分散を要素として使用してしまうことです。要素の選択は、関連性に基づいて行われべきで、アナリストの要素に関する知識にもとづいて行われるべきではありません。   実験的なセットアップにおける潜在的バイアスまたは明示的なバイアスのインパクトは、過小評価することができません。実際、最近の 論文[2] では、SPEC CPU2006 ベンチマークスイートのようなシンプルなコンパイラーベンチマークは、著者が「測定バイアス」と呼ぶ問題を避けるに十分なほど多様ではありません。この論文の概要は以下のとおりです。   この論文は、驚くべき結果を示しています。実験的なセットアップにおいて、表面的に無害な側面を変更することで、システムの調査員は実験から誤った結論を導きだしてしまう可能性があります。実験的なセットアップにおける無害な側面と思われるものは、実際には評価において大きなバイアスをもたらします。この現象は、自然科学や社会科学において測定バイアスと呼ばれています。我々の結果では、測定バイアスは、コンピューターシステムの評価において、「重要」かつ「よくあること」であることを表しています。「重要」という言葉で意味するところは、測定バイアスがパフォーマンス分析において効果を誇張するあるいは不正確な結論を導いてしまうということです。「よくあること」というのは、測定バイアスが、我々が試みた全てのアーキテクチャー(Pentium 4、Core 2、そして m5 03CPU)で試みたコンパイラーのどちらでも (gcc と …

Read More »

Do you want to Get SAP Courses?

Get SAP Courses and Training, Videos, Other Useful Resources
Join Now
Written by SAP Expert TEAM.
close-link
New Registration