Home > DB ブログ記事 一覧
DB ブログ記事 一覧
SQLインジェクション
- 2009年3月31日 21:36
- DB
インターネットのセキュリティの記事でよく目にする
SQLインジェクションについて取り上げたいと思います。
SQLはデータの検索や操作、定義を行うための
データベース用の言語です。 
インジェクションは注入、注射などの意味があります。
SQLインジェクションはSQLに注射すること??? 
これはおかしいですね。
SQLインジェクションとは、もともとのSQL文に違うSQL文を注入して
不正にデータ検索を行ったり、 データ改ざんをすることです。
または、不正行為に対する対策が立てられていない脆弱性を指します。
ショッピングサイトがSQLインジェクション対策をしっかりと行っていないと
知らない間に個人情報が漏えいしたり、頼んでもいない商品が届いてしまったり、
頼んだ商品がいつまでたっても届かなかったりするということです。 
おそろしい・・・。
使いやすいサイトだけではダメで
安全で安心して利用できることも大切ですね。
インフルエンザが流行っていましたが,
今のところインフルエンザにかからずに済んでいます。
これも予防接種のおかげかな。。。 ![]()
--------------------------------------------------------------------------------
パソコンスクール KENスクール渋谷校 Programインストラクター
http://www.kenschool.jp/school/shibuya/index.html
KENスクールでSQLを学びたい方は、Program講座へ!
http://www.kenschool.jp/Program/index.html
- Comments (Close): 0
- TrackBacks: 0
Oracle DB
- 2008年9月12日 13:03
- DB
皆さんは「DB」 と聞いて何を思い浮かべるでしょうか?
ドラゴンボール!! ★゚・:*:・。d(。ゝд・)
……・・・
今回は「データベース」について、
中でもORACLEについて触れていきたいと思います。![]()
Oracleとはご存知のように、会社名です。
Oracle Databaseは、
世界初の商用リレーショナルデータベース管理システム(RDBMS)です。
RDBMSの他にも、いろいろなソフトウェアをリリースしております。
米Oracleは、1977年にデータベース管理ソフト開発を始めてから、
2007年に記念すべき 創業30周年を迎えました。
(*・x・)/。・:*:・゚´★゚・:*:・。☆Congratulations ;*・'゜☆v(*'-^*);*・'゜
Oracleは、1977年(昭和52年)6月16日にOracleの前身である
「Software Development Laboratories」を設立。
後に「Oracle」と社名を変更しました。
1978年に「Oracle Version 1」をリリースしますが、
残念ながらこの初期バージョンは世に出ませんでした…
1979年、初めてのRDBMSとしてリリースされたのが「Oracle Version 2」です。
以降、1983年にはPC上で動作する初のRDBMS「Oracle Version 3」を、
1984年には並行性制御(読取り一貫性)を導入した「Oracle Version 4」を、
1985年にはクライアント/サーバー環境で動作する
分散型RDBMSの「Oracle Version 5」を、
1988年にはパフォーマンス向上の要求に応え、
更に機能追加をされたのが「Oracle Version 6」をリリースしてきました。
6までは「Version」と付いていましたが、
7以降はVersionが無くなり「Oracle 7」、「Oracle 8」となりました。
後続バージョンは、インターネット・コンピューティング機能を適用した
「Oracle 8i」「Oracle 9i Database」をリリース。
2003年には、RDBMS初のグリッド・コンピューティング製品
「Oracle Database 10g」をリリース。
「10g」は「grid」の「g」で、
グリッドコンピューティングとは、ネットワークを介して、
1台1台のマシンの性能は低くても、それら複数のマシンを結びつける事により、
巨大な1台の仮想的な高性能コンピュータを作る技術のことです。
そして、2007年・・・
30年の月日を経て数々の技術を費やし、
最新バージョン11gを発表! 。+゚(*´∀`*)。+゚
米Oracleプレジデントのチャールズ・フィリップス氏は、
「多数のリソースと30年にわたる経験を詰め込んだOracleの集大成」
と11gをアピールしてます。
11gって、10gと何が違うのか?
実は、11gからは「g」が「グラム」って単位なんです。
…な訳ないよね。 ゞ( ̄∇ ̄;)
タウリン1000mgって、結局は1gなんだよねー。
リポD飲んでガンバリマス!! ( ´~)◇y
うん。11gもグリッドコンピューティングを受け継いでいる訳ですね。
では、そんな(どんな!?)11gを簡潔にご説明したいと思います。
~Real Customer Release~
このコンセプトの如く、11gは
ユーザーの要望を第一に考え反映した製品
と言われております。
使う人に優しいOracleさまって感じですね。
11gを日本でリリースしたのが、昨年10月のこと。
もちろん私もOracleサミットに参加してまいりました!
初めて参加させて頂いたので、
子供のように今か今かとそわそわ落ち着き無くその幕開けを待ってました。
いやいや、すごいのすごくないのって本当に! (;゚Д゚,)
アーティストのライブが始まるのかの如く、ド派手な幕開けでした。
地味な感じなのだろうと勝手に想像してたので、驚きでした。
10gから4年の歳月を経てメジャーアップデートした11gは、
400を上回る機能追加と機能強化を実現しました。
10gに更に400以上も追加機能を施してしまうなんて、
さすがはOracleさまさまです。 (人´∀`).☆.。.:*
様々な書籍やサイトでも紹介されているので、皆様ご存知かと思いますが、
一例を挙げますと、
・テスト準備の自動化と準備期間の短縮
「Real Application Testing」
・スタンバイ・データベースをテスト環境として使用可能
「Oracle Data Guard -Snapshot Standby」
・タイムマシンのように、どの時点のデータまでも遡ることが可能な
「Total Recall」
・バックアップサイトの有効活用による本番サイトの効率化とリソースの削減
「Oracle Active Data Guard」
・ファイル形式のデータをデータベースに格納するための機能
「Oracle SecureFiles」
などなど、様々な機能追加と機能強化がされております。
詳しくはOracle社のWebサイトでご確認ください。 φ(。_。*)
では、資格的にはどうなのでしょうか?
現在、ITエンジニアに人気の資格は何なのでしょうか?
数多くあるベンダ資格の中で、
現場で役立った資格第1位は、ORACLE MASTER Silver。
今後取得したい資格に関しては、
1位 ORACLE MASTER Silver
2位 ORACLE MASTER Gold
3位 ORACLE MASTER Bronze
と、トップ3をORACLE MASTERが総なめ。
ORACLE MASTERの人気の高さが伺えますね。(※@IT参考)
これは、「10g」ですが、11gも間違いなく人気は出ると予想されます。
インストラクターを勤めさせて頂いている私としては、
「試験どうなるのかな…」って思ってしまったのが本心だったりします…
今でこそNo.1シェアを誇るOracleですが、
その背景にはやはり競合他社があってこそなのだと思います。
ライバルには、Microsoft社のSQL Serverや、IBM社のDB2などが挙げられます。
そんなライバルがいたからこそ、今のOracleがあるんだなーと感じ受けられます。
Oracle通信には、
「Oracleデータベースが今後どのように発展していくかは言明できませんが、
これまで提供してきたアーキテクチャと技術的な理念に基づき
構築が進められていくことは間違いないでしょう。」
と記載されております。![]()
今後も数々のホワイトペーパー等を拝見させて頂き、
Oracleの新たな発展に期待していきたいですね!
- Comments (Close): 0
- TrackBacks: 0
MySQLとPostgateSQL
- 2008年8月10日 22:41
- DB
共にフリーのデータベースとして有名な MySQLとPostgreSQL。
今年の2月に、サン・マイクロシステムズによる買収があったこともあり、ちょっと話題のMySQL。
じゃあ一方のPostgreSQLは… 
ちょっとさみしい気がして(本当に個人的に)、
2つの違いを見てみることにしました。
ところがこの2つ、リリースの時期も大差なく、ライセンスの方式は違うものの、
一定の範囲内であれば無償で利用できる。
さらにOS面。PostgreSQLはバージョン8.0からWindowsに正式対応。
機能面でも、MySQLはバージョン5.0での機能追加で、
今まで PostgreSQLと比較して足りなかったものを補った形です。
そういえば名前もちょっと似てますかねぇ…
しかし、全く違う点があるんです。 
どちらもクライアントからSQL文を発行することで、サーバのデータベースへ問い合わせを行う設計になっています。
しかし、違いはSQLを受け取ったサーバ側の動きにありました。
MySQLが マルチスレッド構成なのに対し、 PostgreSQLは マルチプロセス構成なのです。 
データベースは、複数のユーザーからの問い合わせを同時に、並行して行う機能が必要です。
その方法として、マルチスレッド構成と マルチプロセス構成があります。
マルチスレッド構成は、 複数のユーザーから接続されても、起動されるアプリケーションは1つです。
その中にスレッドという小さな処理を複数作成し、それらのスレッドが並行して同時に処理を行います。
つまり、小さな処理のためアプリケーションの起動が早いという利点があります。
一方のマルチプロセス構成は、ユーザーからの接続ごとにアプリケーションを起動し、同時にいくつも並行して処理を行う方法です。
それぞれのアプリケーションが独立しているため、安定性が高いことが利点です。
何でも、良い面もあれば、足りない部分もあるものです。 
それぞれの特長を生かして、目的に合ったデータベースを選択することが重要なようですね。 
- Comments (Close): 0
- TrackBacks: 0
Home > DB ブログ記事 一覧