そのようなクラスがたくさんあります(数百万)
class WordInfo
{
string Value;
string SomeOtherFeatures;
List<Point> Points;
}
そして次のコード
private Dictionary<string, WordInfo> _dict;
public void ProcessData(IEnumerable<Tuple<string,int,int> words)
{
foreach(var word in words)
{
if(_dict.ContainsKey(word.Item1))
{
_dict[word.Item1].Points.Add(new Point(word.Item2,word.Item3));
}
else
{
_dict.Add(word.Item1, new WordInfo(....))
}
}
}
Main()
{
while(true)
{
IEnumerable<Tuple<string,int,int> data = GetDataSomewhere();
ProcessData(data);
}
}
ご覧のとおり、このコードは 24 時間年中無休で機能する必要があります。主な問題は、データベースで _dict (情報を保存する場所) を表す方法がわからないことです。毎秒 1000 ~ 5000 ワードを処理する必要があります。リレーショナル データベースは私の仕事には適していませんよね? NoSQLはどうですか?高速な UPDATE および INSERT 操作が必要です。また、データベースに存在する単語(SELECT)をすばやく確認する必要があります。私は何百万ものレコードを持っているので、それも簡単ではありません。何を提案できますか?ファイルに基づいてカスタム ソリューションを作成できますか?