MongoDB

MongoDBのindex

indexの作成 db.collection_name.ensureIndexで作成できる。この時に第2引数のoptionsにbackgroundを入れること。デフォルトは background:falseなので、index作成完了までデータベースロックがかかるため ちなみにバックグラウンドを有効にした場合でも、シ…

シャーディングの復習

シャーディングの種類 Range Base sharding Hash Base Sharding 全部のshardに分散されるので均一的にデータが入る 範囲検索するとおそらくすべてのshardにアクセスするとおもうので微妙 データ一本釣りするときは有効かもしれない。(例:ユーザ自分自身のデ…

MongoDBのバックアップ周りを実際にやってみる

2年ぶりにMongoDBを触ることになったので、リハビリがてらReplica SetとSharding周りを触ってます。 とりあえず今日はReplica Setとバックアップ周り。 なぜバックアップまわりかというと、前に触ってた時は本当に基礎部分しかやってなかったので、バックア…

Mongo2.4の全文検索

Qiitaにもポストしたんですがこちらにも記載。まだブログとQiitaとGistの使い分けが上手くできてない。みんなどうやって使い分けてるのだろうか? 何を検証する? 全文検索の内容/設定 → 下記参照 日本語の全文検索に対しては? → 未対応 性能検証 → 未検証 …

mongosのキャッシュクリア

MongoDBでマスタを入れるときに特定のShardに入れたいときがあります。例えば、マスタ系のデータはすべてShard1に寄せて、トランザクション系のデータはすべてのシャードに分けるとか。 そういう時には、 use admin; // testMaster3コレクションをShardColle…

mongosのキャッシュクリア

MongoDBでマスタを入れるときに特定のShardに入れたいときがあります。例えば、マスタ系のデータはすべてShard1に寄せて、トランザクション系のデータはすべてのシャードに分けるとか。 そういう時には、 use admin; // testMaster3コレクションをShardColle…

ReplicaSetで遊ぶ

MongoDBのSharding機能で遊ぶ - 個人的なまとめで、Shardingを試したので、今度はRelipcaSetで遊んでみました。 構成は以下のようにしました。Shardingのときとポート番号などを変えているのはわかりやすくするためです。 図を見れば一目瞭然ですが、こんな…

ReplicaSetで遊ぶ

MongoDBのSharding機能で遊ぶ - hachiのブログで、Shardingを試したので、今度はRelipcaSetで遊んでみました。 構成は以下のようにしました。Shardingのときとポート番号などを変えているのはわかりやすくするためです。 図を見れば一目瞭然ですが、こんな変…

MongoDBのSharding機能で遊ぶ

MongoDBを使っているので、自分でも組めなければと思い勉強中。オライリーでスケーリングMongoDBが電子書籍で売っていたので迷わず購入。 とりあえずはReplicaSetをせずに1台のSharding構成でいってみましょう。まず、Shardingというのはなにか?というと デ…

MongoDBのSharding機能で遊ぶ

MongoDBを使っているので、自分でも組めなければと思い勉強中。オライリーでスケーリングMongoDBが電子書籍で売っていたので迷わず購入。 とりあえずはReplicaSetをせずに1台のSharding構成でいってみましょう。まず、Shardingというのはなにか?というと デ…

特定フィールドの一括更新方法

仕事中にターミナル上からMongoをいじれなかったので家で試す。 うむ、悔しい。 やりたいこと 条件を満たすコレクションの一部のフィールドを一括で更新する。 RDBMSとの違い 今までは update テーブル名 set 列名1 = 値1, 列名2 = 値2 where 列名 = 条件 と…

SpringMVC,MongoDBを使ってみたその6

ということで、今回MongoDBの例外処理です。例外を故意に発生させてどのような動きになるか確認してみたいと思います。 とりあえず適当に一番下のような検証コードを実装してみました。 エラーを起こした結果、あれ?MongoExceptionは発生したけど、resultは…

SpringMVC、MongoDBを使ってみたその5

登録・更新処理 登録・更新はhidden項目に_idがあるかどうかで判断しています。 (セキュリティ的にはセッションに_idに入れておくとか、DESで暗号化したものをhiddenに入れろとかツッコミは甘んじてお受けします) MongoDBではsaveメソッドを使うと、_idがMon…

SpringMVC、MongoDBを使ってみたその1

SpringMVC、MongoDBを使って簡単なWebアプリを作ってます。 まだ全部作ってはないけど、最初にハマったところをメモ。下のようなサイトを参考にさせて頂きました。 http://journal.mycom.co.jp/articles/2010/04/09/spring5/index.html http://d.hatena.ne.j…