問題タブ [riak]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nosql - 「トランザクションを超えた人生」エンティティ-メッセージ-アクティビティモデルは実際に?
休暇中に、私はPatHellandの「 LifeBeyondTransactions」を読みました(そうです、休暇はとても良かったです:)。簡単にまとめると、トランザクションの範囲を単一のエンティティに制限し、エンティティを更新したり、タスクを無効にする変更が発生したときにタスクをキャンセルしたりできる「アクティビティ」のグループを使用することを提唱しています。
(たとえば、出荷オーダーAにはある程度のアイテム1が必要です。出荷オーダーとアイテムはエンティティとして保存され、独自のアクティビティがあります。出荷オーダーBは、Aが終了する前にアイテム1の最後と一緒に出荷されます。アイテム1のアクティビティは、出荷オーダーAをキャンセルします。 。)
ダイナモ紙を印刷していると思っていたので、ここで2つを混同してしまったらご容赦ください。DynamoとBigTableの影響を受けた「NoSQL」プロジェクトをかなり多く見ました。特に、キーとパーティションデータによってエンティティをアドレス指定する方法についてです。このEntity-Message-Activityモデルがそれらのいずれかに影響を与えているかどうか疑問に思いましたか?
または、より具体的に言えば、HBase、Cassandra、Riakなどで複数のエンティティにまたがる操作がある場合、アクティビティをすべて自分で実装する必要がありますか(アプリケーションのデザインパターンの詳細として) 、または既存のフレームワークのようなものはありますか?それとも、彼らはこの質問全体を無意味にする何か他のことを完全に行っていますか?
ありがとう!
full-text-search - キー値ストア データベースは全文検索ストレージに適したオプションですか?
全文検索に使用されるテキストを保存するために、cassandra や riak のようなキー値ストア データベースを使用することは良いオプションでしょうか? 推奨できない場合、この道に進まない理由は何ですか? 全文検索ストアにキー値ストアを使用した経験のある人はいますか?
共有してくれてありがとう。
javascript - javascriptコールバックと匿名関数のスコープは何ですか?
node.js とriak-jsを使用して次のコードを記述しました。walk
JSON ドキュメントのリストであるはずの再帰関数がありますが、代わりに空のリストを返します...なぜですか? 直し方?
前もって感謝します!
javascript - riak-js のヘルプが必要
私は node.js と riak の初心者で、riak-jsを使用しようとしています。整数 1..N の 2 乗で N 個のエントリを作成するために、次のcoffeescriptを作成しました。スクリプトは N=10 で正常に動作します。console.log()
コールバックを入れるとdb.get()
、1..10 の二乗を出力できます。
私の問題は、N=1000 を入力すると、スクリプトが完了するまでに約 10 秒かかることです。これは正常ですか?私は1秒をはるかに下回るものを期待していました。Ubuntu 10.04 を搭載したローカル マシン、Acer Aspire 5740、i3 CPU、4GB RAM に単一の riak ノードがあります。RAM のみのストアの場合、 に設定storage_backend
し$RIAK/rel/riak/etc/app.config
ましたriak_kv_ets_backend
。riak-admin status コマンドは、この設定を確認します。
Q1: おそらく riak-js は私のバケットにデフォルトのディスクベースのバックエンドを設定していますか? これを見つけて上書きするにはどうすればよいですか?
Q2: node.js の問題ではないと思いますが、非同期の使い方で何か間違っているのでしょうか?
mongodb - ドキュメント ストア (CouchDB、Redis、MongoDB、Riak など) を使用してブログをどのように設計しますか?
認めるのは少し恥ずかしいのですが、非リレーショナルな世界でデータを設計する方法を概念化するのに苦労しています。特に、ほとんどのドキュメント/KV ストアの機能はわずかに異なります。
具体的な例から学びたいのですが、CouchDB/Redis/MongoDB/Riak/etc を使用したブログなど、どのように設計するかについて話し合っている人を見つけることができませんでした。
私が重要だと思ういくつかの質問があります:
- 非正規化する必要があるデータのビット (たとえば、タグはおそらくドキュメントと共に存在しますが、ユーザーについてはどうでしょうか)
- ドキュメント間をどのようにリンクしますか?
- 集計ビュー、特に並べ替えが必要なビュー (ブログ インデックスなど) を作成する最善の方法は何ですか?
erlang - riak で erlang map reduce を使用してドキュメントをソートする方法
私は現在、riak を使用して json ドキュメントを保存しています。いくつかの属性に基づいてそれらを並べ替えたいと考えています。たとえば、キーがあるとします。
{ "someAttribute": "何でも", "順序": 1 }
そのため、「順序」に基づいてドキュメントを並べ替えたいと考えています。
現在、erlang インターフェイスを使用して riak でドキュメントを取得しています。ドキュメントを文字列として取得できますが、その後どうすればよいかわかりません。map 関数は json ドキュメント自体を縮小するだけだと考えています。reduce 関数では、見ている項目が残りの部分の先頭よりも高い「順序」を持っているかどうかを確認します。リストであり、そうであれば先頭に追加してから、lists:reverse を返します。
上記の私の考えにもかかわらず、ほぼ丸一日経っても結果はゼロでした。riak の erlang インターフェースにとても混乱しています。このマップ/リデュース関数の書き方、またはjsonドキュメントの解析方法について誰かが洞察を提供できますか?
erlang - Riak Search クエリを発行するには?
Riak を使い始めて約 1 か月になりますが、最近 Riak 検索について知りました。そこで私はそれをインストールし、非常に基本的な json ドキュメントを挿入してテストしました。
これが私が使用したコマンドです:
test.json はどこにあります...
https://wiki.basho.com/display/RIAK/Riak+Search+-+Indexing+and+Querying+Riak+KV+Dataによると 、このバケットで KV 検索を有効にした場合、json ドキュメントを挿入すると、キーは自動的に索引付けされます。
検索ユーティリティを使って検索してみました。私は試した
curl コマンドも試しました。
http://127.0.0.1:8098/solr/json/select?q=firstName:John
しかし、私はそれらすべてに対して0の結果を得ています。私は正確に何を間違っていますか?
erlang - ScalarisとCouchDB
アプリケーションの1つにドキュメントストアを使用するには、この要件があります。私はscalarisとcouchdbがドキュメントストアと同等であると仮定しています。これら2つのソリューションについて共有する経験はありますか?どちらかがもう一方よりも優れていると思いますか?
トランザクションはscalarisから私にとって魅力的です。erlangのバックグラウンドがほとんどないので、Erlang上に構築されたソリューションをより信頼しています。riakは私が面白いと思ったもう1つのものです。それで、それらについてのより多くの情報へのあなたの考えまたはポインタを共有してください。
sql - 高可用性のためのアーキテクチャ
私はこのシナリオを持っています:
24時間年中無休で稼働するファクトリープロセスラインがあります。ダウンタイムは非常に高くつきます。すべての異なる部分を制御するソフトウェアは、データベースストレージの共有形式を使用する必要があります。これの主な理由は、工場がどの状態にあるかを知ることです。
要件:
- プラントの一部でエラーが発生すると、1km以上離れた場所で何らかのマシンがシャットダウンする必要があることをソフトウェアが検出できるようにしたいと思います。したがって、PLCにデータを保存することはできません。
- 工場環境の更新とアップグレードは頻繁に行われます
- 負荷(コンピューター用語で)は本当に低くなります。
システムは、計算/チェックが行われ、その後に工場の機械に送信される指示が続く、1日に数百の割り当てを処理します。システムはほとんどの場合退屈します。最も重要な要件は、中央コンピュータシステムが正しく、常に機能している必要があることです。
ダイナモベースのデータベース(riakまたはcassandra)を使用することを考えていました。このデータベースでは、データが複数のマシンに書き込まれ、各マシンにはデータベース全体が含まれます。
1つのシステムがダウンすると、気付かれずにダウンします。従来のSQLデータベースは、テーブルが変更され、このマスタースレーブを構成するのが難しい場合に、アップグレードするのがより面倒な場合があります。
あなたの解決策は何でしょうか?
ネットワークは冗長化されており、他のほとんどの単一障害点があります。データベースのダウンタイムは、許容できるマシンの1つだけでなく、プラント全体のダウンタイムを意味するため、データベースシステムは重要です。
- 共有状態の問題を解決する方法。
- データベースの複雑さは問題になりません。私は、最新の正しいデータを取得するための単純なKeyValueStoreのようになります。