3

私は、ユーザーが簡単なテンプレートを作成して自分のWebサイトのページを開発できるプロジェクトに取り組んでいます。彼はそれらを保存し、完了したらインターネットに公開することもできます。

  1. ユーザーが自分のテンプレートで作業しているとき、実行した作業のコピーを保存して、後でそのテンプレートに戻ることができます(電子メールのドラフトと同様)。
  2. ユーザーによるこの保存された作業は、現在テンプレートページを解析することによってxmlファイルに保存されます。
  3. これに代わる方法として、ページ全体を一意のユーザーIDに対してドキュメントデータベースに保存することを考えていました。これにより、解析を行う必要がなくなり、負荷と時間が削減されます。

今私の質問

  1. xmlの代わりにドキュメントデータベース またはnosqlを使用して私が考えていることは可能ですか?
  2. はいの場合、どちらがより柔軟に作業でき、保守が容易になりますか?
  3. 他の操作にはphpとmysqlを使用しているので、ユーザーが作成したテンプレートのhtmlを保存するためだけにdocDBが必要です。
4

1 に答える 1

2

以前にカスタムCMSを作成しました。メタデータ(作成者、公開日、言語など)とコンテンツ(別々に)の両方を保存できるテーブル構造を作成しました。これは、それらを別々に検索できる検索機能も実装したかったためです。私はMySqlで作成しましたが、SQLで発生する可能性のある攻撃を防ぐために、多くのhtmlエンコードを行う必要があったため、NoSQLデータベースをお勧めします(Mongo / Cassandraで十分です)。

私はこれまでMongoと実際に仕事をしたことがありません。Cassandraを使用することもできます。スキーマがなくてもよいので(多くのNoSQLデータストアと同じように)、私はそれを好みます。したがって、ユーザーが必要に応じて前のバージョンのページにロールバックできるように、(必要に応じて)何千ものリビジョンを1行に保存できます。次に、現在のリビジョンに満足していると感じたら、すべてのバックアップデータをクリアします。これは単なる提案です。http://cassandra.apache.orgまたはhttp://www.datastax.com/technologies/cassandraをチェックしてください

それが役に立てば幸い :-)

于 2012-11-01T19:26:34.150 に答える