質問

私は数年前からMSSQL/MySQLの世界で立ち往生しており、もう少し翼を広げることにしました。現時点では、データをアーカイブする際に必要なものに優れているDBMSが得意であることを調査しています。例えば。たくさんの書き込みと低い読み取り。

NoSQLの十字軍を見てきましたが、非常にRDBMSの考え方があるので、少し懐疑的です。

誰かが提案がありますか?または、この種のもののためにいくつかのベンチマークなどがある場所へのポインターでさえ。

ありがとう:)トーマス


編集

質問があったので、私が考えていることについてもう少し情報を提供しようとします

いくつかのサーバーでサービスを実行します。これらにはすべてローカルデータベースがあります。これらのデータベースには膨大な量のヒット(1/1読み取り/書き込み)があるため、クエリ時間を抑えるために可能な限り空にしておくことを試みています。私の最初の推定では、そのデータベースに30分以上列が座ることはありません。これらの各サービスでアーカイブDBを実行すると、リソースの無駄のように思えるため、中央のアーカイブアーキテクチャの方が良くなります。

クイックネットワークアーキテクチャをASCIIにしようとします

     ___________    ___________    ___________
    | service 1 |  | service 2 |  | service 3 |
     -----------    -----------    -----------
          |____________|_______________|
                   ____|____
                  | Archive |
                   ---------

ご存知かもしれませんが、MSSQLとMySQLは、執筆を扱うときに垂直にのみ尺度で拡大します(RDBMSのことはわかりません)。だから、私はそのアーカイブDBMSから可能な限り最もパフォーマンスを得ることを検討しています。

役に立ちましたか?

解決

アーカイブしているデータの構造が比較的簡単な場合は、フラットファイルに直接アーカイブすることを検討できます。書くのに適しています。読書には良くありません。この質問には、このトピックに関する議論があります。 フラットファイルデータベースは良いですか?

それ以外の場合は、MySQLに固執し、高ワイト/低読み取りの使用のために適切に調整されていることを確認します。

他のヒント

だから私はクエリ時間を抑えるために可能な限り空にしようとしています

まず、クエリ速度は、完全なテーブルスキャンのみを行っていない限り、データベースサイズに直接比例しません。一意のインデックスルックアップは、インデックスの深さに比例します。インデックスルートブロックが分割されてから、次に分割するまでに数百万の追加行になる可能性があります。実際、[可能な限り空になっている]データベースを実際にデータベースを小さくすることができないように行を削除する行を削除します。インデックスを再構築するまで、非常にまばらな枝と葉のブロックがあり、インデックススキャンがより長くかかるようにすることができます。

MSSQLまたはMySQLが部分的に空のページをどのように埋めるかはわかりませんが、削除からスペースの節約がまったく表示されない場合があります。

Oracleでは、データベースを実際に特定のサイズに保持するために、削除上でパーティションをかけることをお勧めします。

しかし、アーカイブの使用に焦点を合わせるのではなく、サーバーの使用のためにメモリデータベースを使用して翼を広げることを奨励するために、私はそれをすべて言いました。この場合、RDBMSがアーカイブの最良の解決策ではないと思うことは何も言っていません。

OracleまたはPostgressQlも非常に強力なDBMです。しかし、既にMySQLを知っていて使用している場合、なぜ変更するのですか? MySQLは無料で、パフォーマンスがあり、よく文書化されています...

ただし、ほとんど書き込み操作があり、読み取りがあまりなく、一般的に使用されているDBMSが必要ない場合は、ドキュメントベースのDBMSを検討する場合があります。

見てみてください 存在するdbマンゴDB

お役に立てれば!

これを使用して、Diferent Databaseの読み取り/書き込みパフォーマンス結果を見ることができます データベースベンチマークソフトウェア(GNU GPL)それは適切ないくつかの答えを見つけます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top