2016-07-25 6 views
1

私はArangoDBを使ってプロジェクトに取り組んでいます。このプロジェクトでは、1つのコレクション内に4000kのドキュメントとして大量のデータ(あまり多くはない)が含まれています。ArangoDBに大きなコレクションをロード

私は段階的にデータを移行しましたが、最後にはコレクションデータの読み込みに問題はありませんでした。

週末からArangoDBと私たちのマシンが停止しました。 マシンを起動したとき、そのコレクションのデータをロードすることは不可能でした。

順次、我々がしようとした:arangodbクライアントによって

  • ロードデータを、しかし応答は、コンソールから'Collection error'
  • ダンプデータの一般的なエラーとなってました。が、応答があったた:Error: got invalid response from server: Could not connect to 'tcp://localhost:8529' 'connect() failed with #111 - Connection refused'

何私たちはできますか? このコレクションは、インデックスのかなりの数を持っており、バケットは、私が停止し、arangodb再起動しようとした64

EDIT に固定した問題が持続します。 それで、私はそれがサーバーの問題であることを除外します。 コレクションに何らかの設定が間違っている可能性があります(同期待ち:false、バケット64、ジャーナルサイズ:32)?

+0

使用しているバージョンと使用環境は何ですか?そのコレクションに接続してデータを読み込もうとすると、サーバープロセスは停止しますか?ところで、バグレポートとして投稿する方が良いでしょう:https://github.com/arangodb/arangodb/issues – CoDEmanX

+0

** ArangoDB **:2.8.7 ** OS **:Ubuntu 14.04 ** Nodejs ** :4.4.2 – carmelolg

+0

関連するログメッセージが '/ var/log/arangodb/*'にあるかどうかチェックできますか? – dothebart

答えて

0

元の質問は、そのリリースシリーズから最新バージョンに更新することで解決しました。

新しい質問は、インデックスのバケットを選択する方法です。

バケットは、インデックスが保持されるメモリ領域です。デフォルトでは、このようなバケットは8つあります。 1つのバケットがいっぱいになると、2倍のサイズの新しいバケットが割り当てられ、既存の構造がコピーされます。コピーにはコストがかかり、インデックスの構築や新しいアイテムの挿入が遅くなります。

したがって、作業したいコレクションが大きくて挿入が多い場合は、より多くのバケットがうまくいく可能性があります。バケツ数を倍にして、それがあなたのためにうまくいくかどうかを確認することができます。

関連する問題