0

私はさまざまな言語の辞書 Web サイトを開発しています。この言語のすべての人を他のすべての言語に翻訳できます。現在、mySQL を使用しています。たとえば、英語を中国語に翻訳したい場合は、すべてを含むテーブル「en_ch」があります。各テーブルには約 90.000 ~ 150.000 のエントリがあります。そのため、mySQL はかなり遅く、すべてのプロパティをマッピングすることも困難です。1 つの翻訳にメタ情報を含めることができます。たとえば、エウロパは大陸または木星の月を意味する可能性があるため、'Geo' にすることができるタイプ タグがあります。 astro' 'med' など ...また、ユーザーは翻訳の良し悪しを評価できます。また、ある言語の 1 つの単語が別の言語で複数の翻訳を持つ場合もあれば、1 つだけの場合もある場合があります。データベースの正規化を使用すると、物事は本当にメタ情報を照会すると遅くなります。

したがって、NoSQL データベースを使用すると、RDBMS よりもいくつかの利点があると思います。問題は..私は NoSQL についてあまりよく知りません。これまで使用したことがないので、私がやっていることについて何らかのベスト プラクティスがあるかどうか、またはこれが良い考えであるかどうかを尋ねるためにここにいます。

mongoDB を使用した場合、各翻訳 (英語 -> ドイツ語 / ドイツ語 -> 中国語 / ..) ごとにドキュメントを作成し、各翻訳をリストとして保存します。ここで、キーは最初の言語であり、値は翻訳です。また、上記のように各値のプロパティを与えることも可能だと思います(そうですか?)

これはこれを行うための最良の方法でしょうか?

クエリは mySQL よりも高速ですか?

4

1 に答える 1

3

ほとんどの場合、最適なツールは既に存在しており、dict、辞書サーバー、クライアント、およびさまざまな辞書とツールと呼ばれています。

rfc 2229を定義するもありdict protocolます。これらのツール (サーバー、クライアント、およびコンバーター) は通常パッケージ化されており、ほとんどの Linux ディストリビューションに含まれています。

詳細については、http://www.dict.org/をご覧ください。

于 2012-10-10T09:52:24.700 に答える