この期待を踏まえて、ソリューションを実装するためにどの言語またはシステムを選択しますか? [閉まっている]
-
19-08-2019 - |
質問
システムが処理すべき推定値は次のとおりです。
- 3000人以上のエンドユーザー
- 世界中の150以上のオフィス
- ピーク時の1500人以上の同時ユーザー
- 10.000以上の毎日更新
- 1秒あたり4〜5コミット
- 1秒あたり50-70トランザクション(読み取り/検索/更新)
これは、海運会社の世界的な出荷管理を支援するための専用の内部専用ビジネスアプリケーションです。
テクノロジーの選択は何でしょうか?その選択の理由と、それを実装するのにおよそどれくらいの時間がかかりますか?ありがとう。
注:募集していません。 :-)
解決
それで、あなたは私がそのようなプロジェクトにどのように取り組むか尋ねました。 Smalltalkの世界では、Gemstoneが物事をいくぶん魔法のようにスケールさせることに人々は同意しているようです。
だから、私が本当にやることはこれです: SandstoneDB 。そして、この瞬間は、単一の画像が遅すぎ始めるところに来るでしょう。
GemStone は、パブリックオブジェクト(特定のルートから表示されるオブジェクト)のコピーを処理します)すべてのインスタンス間を行き来します。セッションと強化されたクエリ機能に加えて、非常に高速なVMが得られます。
C、Java、Rubyとデータを共有します。
実際には、独自の Ruby用のVM もあります。これも一見の価値があります。
他のヒント
wikipediaは、MySQLを使用してより厳しい要件を管理します
あなたのボリュームは重要ですが、信頼性のあるRDBMSを効率的にプログラムした場合は 負担をかけない可能性があります。チームがずさんな場合(つまり、SQLクエリを何気なく直接コンポーネントに入れてからより大きなコンポーネントに構成する場合)、<!> quot; multiplier <!> quot;の可能性に直面します。 1つの論理要件(このページに必要なデータを取得する)が多数の物理データベースクエリに変わる効果。
したがって、RDBMSの能力に焦点を合わせるのではなく、プログラマの能力と、実装言語と環境がプロファイリングとリファクタリングを促進する程度に焦点を合わせる必要があります。
提案するシナリオも明らかに24時間365日のシナリオなので、監視/ダッシュボード要件の必要性も考慮する必要があります。
あなたが提示したニーズに基づいて開発努力を見積もる方法はありません。このレベルの粒度でトランザクションを分析したことは素晴らしいことですが、開発作業の主な決定要因はドメインとUIの要件になります。
開発者が知っており、よく知っている技術を選択します。そこにある主要な技術はすべて、このような要件を簡単に処理します。
毎日の更新数とコミットの合計は加算されません。 1秒あたり4つのコミット= 1時間あたり14,400。
予想されるデータベースサイズについては何も言及していませんでした。
いずれの場合でも、Oracle、Sybase、MSなどの堅牢なバックエンドを選択することに努力を集中します。この選択により、パフォーマンスに大きな違いが生じます。フロントエンドは、ニーズに応じてデスクトップアプリまたはWEBアプリのいずれかになります。これは世界中の多くのオフィスで使用されるため、WEBアプリが最も理にかなっています。
MySQLまたはPostgreSQLを使用します。要件のいずれかで問題が発生する可能性はほとんどありません。
オブジェクトデータベースが大好きです。 1秒あたりのコミット数とデータベースラウンドトリップに関しては、リレーショナルデータベースは保持できません。 db4o をご覧ください。学ぶのは非常に簡単です、例をチェックしてください!
プログラミング言語とUIフレームワークに関しては、チームの得意分野を取り上げてください。メタタイムの無駄が少ない動的言語は、おそらく時間を節約します。
適切な推奨事項を提示するのに十分な情報がここに提供されていません。もう少しデューデリジェンスが必要です。
- IT文化とはどのようなものですか?彼らは多くの小さなサーバーを好むのでしょうか、それとも大きなサーバーやビッグアイアンを少なくするのでしょうか?仮想化における彼らの立場はどうですか?
- 企業文化はどのようなものですか?政治情勢はどのようなものですか?オープンソース製品は負荷を非常にうまく処理できますが、大企業の政治的風潮を乗り切るためにすでに使用されているという理由だけで、プロプライエタリなベンダーと一緒に行く必要があるかもしれません。知覚は重要です。
- 組織の成熟度はどのくらいですか?既にエンタープライズアーキテクチャチームを持っていますか所定の位置に?彼らはEAとは何かを知っていますか?
- 運用面について説明しましたが、分析面についてはどうですか?どのOLAPテクノロジーを使用することを期待しているか、すでに導入されていますか?
- 統合といえば、他のどのシステムと統合する必要がありますか?