
「楽天」では、トップページ最下部にあるSUNと伊藤忠テクノサイエンスへのリンクでわかるように、Sparc Solarisで、データーベースには、Oracleを用いているようですが、開発言語としては、何を使っているのでしょうか???
どなたかわかりましたら教えて下さい。
まだ、PHPが流行っていない頃の創業だと思うので、やはり、PerlとDBIでしょうか?
また、プログラムの拡張子が見えず、ディレクトリ/にアクセスするとページが表示されるようですが、これはどのような仕組みでしょうか?単に、index.cgiがデフォルトのページになっていてそれを表示させないだけでしょうか?
メニュー画像部分には、GDを使って動的にテキストを含む画像を作成しているようです。
また、テストドライブというのを試してみましたが、この一番簡単な店舗作成のほかに、二つほど、店舗作成の方法があるようですが、これは、どういう方法でしょうか?
特に、綺麗に出来たページなどは、バスケットへのリンクを含んだHTMLと画像を直接アップするのでしょうか?
No.1ベストアンサー
- 回答日時:
>開発言語としては
個人的に興味があったので適当につついてみましたが、各サーバの構成もまちまちでなんか割と適当っぽいです。
(phpほげほげとか、java~~とか、.cgiってのもあったので、perlもかな?)
>ディレクトリ/にアクセスするとページが表示されるようですが
localtionで飛ばしてるだけっぽいですよ。
私が漁った部分に関しては、直接/でアクセスしてる個所は見つかりませんでした。
>index.cgiがデフォルトのページになっていて
DirectoryIndexが一般的ですが、mod_aliasや、mod_rewriteでも可能です。
(mod_rewriteなら、クライアントから実際のアクセス先を推測するのは困難です)
これ以外の部分は実際に楽天を使ってないので不明です。
参考URL:http://itpro.nikkeibp.co.jp/free/NC/NEWS/2003090 …
この回答への補足
今の楽天は、ブックスやらいろいろなことをやっていますが、とりあえず最も関心のある「楽天のショッピングモール本体部分」に話を限定しますと、「創立直後の比較的に原始的なショッピングバスケット」を今でも使っていますが、これを如何にして大規模なアクセスに対応させていったかなどの過程などに関心があります。
あるいは、別の表現では、「皆そうだと思いますが、我々のような小僧っ子プログラマーが、楽天ほどではなくとも、多少のアクセス増加に備えて準備することがあるのかどうか?」ということなのでが、
とりあえず、次のような分業が見て取れる…ような気がします。
まず、ロードバランサというのが次のページにあり、
http://www.atmarkit.co.jp/fnetwork/rensai/lb01/l …
このあたりを「伊藤忠テクノサイエンス」がやったのだと思います。
つまり、www.rakuten.co.jpとesearch.rakuten.co.jpが、
負荷分散のためのロードバランサの後ろに何台かあって、
前者の「www」が「ディレクトリ構造の店舗リストと、ショッピングバスケット機能、
そして、店舗CGIないしHTMLと画像の収納」、
後者の「esearch」が「店舗と商品の検索機能」を提供しているようです。
そして、この他に、データーベース専用のサーバーが、台数はわかりませんがあるのだと思います。
ハードディスク的には、これも想像なのですが、仮に1社平均50MBとして、2万社収容可能を想定して、
50MB×20,000社=1,000,000MB(=80GBのハードディスクを12.5個収容したサーバーが1セット)
で、これがロードバランサの背後に数セットあると…。
そして、楽天は、店舗数の伸張とともに、この1台あたりのハードディスク容量を増加し、
また、アクセス数の増加に伴って、ロードバランサ背後のセット数を増やして行ったと…。
もし、そうなら、これらは、単純に、少ないアクセスなら1台で間に合わす「普通のサーバー」を複数用意すれば良いのですよね???
つまり、プログラマーとしては、普通のことをやっていれば良いということで!?
それとも、何か別の収容方法があるのでしょうか?
例えば、ある店舗は、Aのサーバーに収容し、ある店舗は、Bのサーバーに収容し…となるとやはり、プログラマーがそういうことを考えてプログラムしなくてはなりません。
そういう「店舗ごとに違うサーバーに収容して、アクセスさせる方法」が何かあるのでしょうか?
このあたりについて、知っている方がいらっしゃいましたら、是非、ご教示願います。
何しろ、私はミッションクリティカルを要求されるような大規模開発はまったく縁がないので、こういったことは想像するよりないのです。
例えば、「楽天の商品検索機能は、リアルタイムではなく、定期的に更新されるので、実際にアクセスしてみると検索時に表示されたのと違う商品のステータス(在庫高とか、売り切れ。)」になることが多いですが、これは、どのような仕組みのどこに原因があるのでしょうか?
No.2
- 回答日時:
>プログラマーが、楽天ほどではなくとも、多少のアクセス増加に備えて準備することがあるのかどうか?
想定している規模や、言語によってかなり変わるので、一概には言えませんが。。。
特に規模に関しては、ある程度以上は全体の構成にあわせてプログラムを組むことになります。
>ミッションクリティカルを要求されるような大規模開発はまったく縁がない
「実際に組む必要があるので何かしらの情報がほしい」のか、「当面組む予定はないが、興味があるので知りたい」のかでだいぶ答えが変わります。
今ひとつ質問の意図が把握できません。
この回答への補足
「当面組む予定はないが、ITに関わる者は誰でも、実際に必要がいつ生じても良いように知っておくことが望ましいと言う観点から、大変に興味と関心があり、この質問をご覧になった皆様と、何かしらの有益な情報の交換がしたい」と言ったところでしょうか。
例えば、ハードディスクに関しては、ディスクアレイというものがあり、楽天の場合はSUNを使用していますので高くつくと思いますが、DELLなら、比較的ですが安価に大容量のものを入手することが出来ます。
↓DELLのディスクアレイ
http://www1.jp.dell.com/content/products/compare …
また、大体の検討を付けて楽天の運営システムを予想して描いてみることは、良い目標になります。
例えば、上記のディスクアレイが、ラックサイズ3Uとすれば、やはりラックサイズ3Uの本体と合わせて、6Uでワンセットのサーバーが構成できます。
仮に、WWW、esearchで、それぞれ、10セット、データーベースサーバーがバックアップ専用も含めて4台(やはり、仮に6Uと仮定。)すると、6U×10セット×2+6U×4=144Uとなり、1ラックに40Uが収納可能として、約4ラックです。
1ラックが70センチ×90センチですから、4ラックというと、畳2畳くらいのスペースになるでしょうか…。
また、これがどこに置かれているかも関心があります。
自社内でしょうか?
データーセンターでしょうか?
もし、データーセンターだったら、どこのデーターセンターを利用しているのでしょうか?
どこの会社がどこのデーターセンターを利用しているというのは、楽天でなくとも気にかかりますし、参考になります。例えば、ヤフーなどは…。
そして、サーバー本体、ラックスペース、回線にいくら費用がかかっているのでしょうか?
また、その回線の容量は???
また、同様の趣旨から、システム開発を誰が行ったかなどの楽天の伸張過程にも関心があります。
慶応藤沢キャンパス出身の副社長である本城氏が全部やったのか、あるいは、三木谷氏はどの程度、開発に関与したのか、だれがどの部分を作成したのか?
特に、現在も使われているショッピングバスケットの部分は、今では陳腐なものですが、楽天発展の原動力になったとされており、実際、そうだと思うのですが、この部分を誰が作成したのか?
伊藤忠テクノサイエンスは、どの部分にどの程度関与したのか?
また、営業過程についても、関心があります。
なぜ、楽天は、最初から、大手百貨店、その他大手の店の出店を数件も取り付けることが出来たのかなどは、七不思議のひとつです。何か人脈があったのでしょうか?三木谷氏が、そういうことに長けていたためでしょうか?
そういうわけで、知りたいこと、質問したいことは山ほどあります。そして、また、それらをIT関係に関わる多くの人、知りたいと思うはずだと思うので、是非、各方面の人から、情報を頂きたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どのプログラミング言語で作ら...
-
C言語、C+、C++、C#の違い
-
リピート再生が出来ません
-
VisualStudio2008にこのような...
-
HOLONついて教えてください。
-
Cプログラミングでハングマンゲ...
-
HTMLとC++で、どんなホームペー...
-
著作権法について
-
数学、プログラミング、物理、...
-
仮想ドライブ
-
MFCとC++/CLIとの比較
-
プログラミング入門
-
Windowsで、システム上同じ言語...
-
Delphiでプログラム中の表示部...
-
スプレッドシートの作成
-
iPadでプログラミングは可能で...
-
COBOLで文字タイプを数字...
-
会計システムをつくるために必...
-
最近の流行りのプログラム言語...
-
ゲーム会社のプログラマーとし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Laravelなど、フレームワークを...
-
どのプログラミング言語で作ら...
-
フレームワークは開発環境だけ...
-
CGIとPHPの違い
-
PHPでLinux用のCライブラリを呼...
-
サルでもわかる 代入演算子 PHP
-
Googgy Launcher
-
このようなサイトを作ってみた...
-
プログラミングについて こちら...
-
著作権法について
-
C言語、C+、C++、C#の違い
-
今のプログラミング言語
-
COBOLでのNOT = の AND条件
-
数学、プログラミング、物理、...
-
HOLONついて教えてください。
-
アセンブリ名とは??
-
COBOLで文字タイプを数字...
-
ウェブサイトから特定の文字列...
-
プログラムに書かれる"%"記号の...
-
リピート再生が出来ません
おすすめ情報